lr-chatbot 0.12.0 → 0.12.1

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../node_modules/.pnpm/deep-chat@2.0.0/node_modules/deep-chat/dist/deepChat.js","../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/lit-html.js","../../../../../../node_modules/.pnpm/lit-element@4.0.6/node_modules/lit-element/lit-element.js","../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toFinite.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toInteger.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_metaMap.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetData.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCtor.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBind.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_composeArgs.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_composeArgsRight.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_countHolders.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseLodash.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_LazyWrapper.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/noop.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getData.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_realNames.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getFuncName.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_LodashWrapper.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_wrapperClone.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/wrapperLodash.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isLaziable.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setData.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getWrapDetails.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_insertWrapDetails.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFindIndex.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNaN.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_strictIndexOf.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIndexOf.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayIncludes.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_updateWrapDetails.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setWrapToString.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createRecurry.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getHolder.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_reorder.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_replaceHolders.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createHybrid.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCurry.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createPartial.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mergeData.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createWrap.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/curry.js","../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.js","../../../../../../libs/shared/client/ui/src/library/polished.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/colors.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/defaults.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/devices.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/spaces.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/typography.ts","../../../../../../libs/shared/client/ui/src/theming/theme-v2/index.ts","../../../../../../libs/shared/client/ui/src/theming/index.ts","../../../../../../libs/shared/client/features/chatbot/src/components/pill/Pill.styles.ts","../../../../../../libs/shared/client/features/chatbot/src/components/super/SuperElement.styles.ts","../../../../../../libs/shared/client/features/chatbot/src/components/super/SuperElement.ts","../../../../../../libs/shared/client/features/chatbot/src/components/pill/Pill.ts","../../../../../../libs/shared/client/features/chatbot/src/components/button/Button.styles.ts","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/directives/if-defined.js","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/directive.js","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/directives/class-map.js","../../../../../../libs/shared/client/features/chatbot/src/components/button/Button.ts","../../../../../../libs/shared/client/features/chatbot/src/components/chatbot/Chatbot.styles.ts","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../../../../node_modules/.pnpm/i18next@22.5.1/node_modules/i18next/dist/esm/i18next.js","../../../../../../libs/shared/universal/i18n/src/models/AppCountry.ts","../../../../../../libs/shared/universal/i18n/src/models/AppLanguage.ts","../../../../../../libs/shared/universal/i18n/src/lib/FallbacksLoader.ts","../../../../../../libs/shared/universal/i18n/src/lib/accept-language-parser.ts","../../../../../../node_modules/.pnpm/cookie@0.6.0/node_modules/cookie/index.js","../../../../../../libs/shared/universal/i18n/src/lib/language.ts","../../../../../../libs/shared/universal/i18n/src/lib/country.ts","../../../../../../libs/shared/client/features/chatbot/src/services/ChatbotFallbacksLoader.ts","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/bind.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/utils.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosError.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/null.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toFormData.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/buildURL.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/InterceptorManager.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/transitional.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/FormData.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/classes/Blob.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/browser/index.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/common/utils.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/platform/index.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/formDataToJSON.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/defaults/index.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseHeaders.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/AxiosHeaders.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/transformData.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/isCancel.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CanceledError.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/settle.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/cookies.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/combineURLs.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/buildFullPath.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/parseProtocol.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/speedometer.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/xhr.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/adapters/adapters.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/dispatchRequest.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/mergeConfig.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/env/data.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/validator.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/core/Axios.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/cancel/CancelToken.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/spread.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/isAxiosError.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../../../../node_modules/.pnpm/axios@1.6.8/node_modules/axios/lib/axios.js","../../../../../../libs/shared/data-access/shared/src/lib/http-client/httpClient.ts","../../../../../../libs/shared/data-access/shared/src/lib/utils.ts","../../../../../../libs/shared/data-access/chatbot/src/__generated__/services/errors/ChatbotServiceErrors.ts","../../../../../../libs/shared/data-access/chatbot/src/__generated__/services/ChatbotService.ts","../../../../../../libs/shared/client/i18n/src/config.ts","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/directive-helpers.js","../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/async-directive.js","../../../../../../node_modules/.pnpm/@lit-labs+motion@1.0.7/node_modules/@lit-labs/motion/animate-controller.js","../../../../../../node_modules/.pnpm/@lit-labs+motion@1.0.7/node_modules/@lit-labs/motion/animate.js","../../../../../../libs/shared/client/features/chatbot/src/components/chatbot/Chatbot.ts"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; } catch (e) { return typeof fn === \"function\"; } }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = \"function\" == typeof Symbol ? Symbol : {}, a = i.iterator || \"@@iterator\", c = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, \"\"); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, \"_invoke\", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: \"normal\", arg: t.call(e, r) }; } catch (t) { return { type: \"throw\", arg: t }; } } e.wrap = wrap; var h = \"suspendedStart\", l = \"suspendedYield\", f = \"executing\", s = \"completed\", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { [\"next\", \"throw\", \"return\"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if (\"throw\" !== c.type) { var u = c.arg, h = u.value; return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) { invoke(\"next\", t, i, a); }, function (t) { invoke(\"throw\", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke(\"throw\", t, i, a); }); } a(c.arg); } var r; o(this, \"_invoke\", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error(\"Generator is already running\"); if (o === s) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = f; var p = tryCatch(e, r, n); if (\"normal\" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y; var i = tryCatch(o, e.iterator, r.arg); if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = \"normal\", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || \"\" === e) { var r = e[a]; if (r) return r.call(e); if (\"function\" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) { var e = \"function\" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () { return this; }), define(g, \"toString\", function () { return \"[object Generator]\"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if (\"root\" === i.tryLoc) return handle(\"end\"); if (i.tryLoc <= this.prev) { var c = n.call(i, \"catchLoc\"), u = n.call(i, \"finallyLoc\"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error(\"try statement without catch or finally\"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) { var i = o; break; } } i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, \"catch\": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if (\"throw\" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = t), y; } }, e; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar us = /*#__PURE__*/function () {\n function us() {\n _classCallCheck(this, us);\n }\n return _createClass(us, null, [{\n key: \"render\",\n value: function render(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"error-view\", i.innerText = t, e.replaceChildren(i);\n }\n }]);\n}();\nvar Xt = /*#__PURE__*/function () {\n function Xt() {\n _classCallCheck(this, Xt);\n }\n return _createClass(Xt, null, [{\n key: \"onLoad\",\n value: function onLoad(e) {\n e.innerHTML = '<div id=\"large-loading-ring\"></div>';\n }\n }, {\n key: \"createElements\",\n value: function createElements() {\n var e = document.createElement(\"div\");\n return e.id = \"validate-property-key-view\", e;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = Xt.createElements(),\n r = {\n onSuccess: t,\n onFail: us.render.bind(this, e, \"Your 'key' has failed authentication\"),\n onLoad: Xt.onLoad.bind(this, n)\n };\n i.key && i.verifyKey(i.key, r), e.replaceChildren(n);\n }\n }]);\n}();\nvar M = /*#__PURE__*/function () {\n function M() {\n _classCallCheck(this, M);\n }\n return _createClass(M, null, [{\n key: \"unsetStyle\",\n value: function unsetStyle(e, t) {\n var i = Object.keys(t).reduce(function (n, r) {\n return n[r] = \"\", n;\n }, {});\n Object.assign(e.style, i);\n }\n }, {\n key: \"unsetActivityCSSMouseStates\",\n value: function unsetActivityCSSMouseStates(e, t) {\n t.click && M.unsetStyle(e, t.click), t.hover && M.unsetStyle(e, t.hover);\n }\n }, {\n key: \"unsetAllCSSMouseStates\",\n value: function unsetAllCSSMouseStates(e, t) {\n M.unsetActivityCSSMouseStates(e, t), t[\"default\"] && M.unsetStyle(e, t[\"default\"]);\n }\n }, {\n key: \"processStateful\",\n value: function processStateful(e, t, i) {\n var n = e[\"default\"] || {},\n r = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, n), t))), e == null ? void 0 : e.hover),\n o = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, r), i))), e == null ? void 0 : e.click);\n return {\n \"default\": n,\n hover: r,\n click: o\n };\n }\n }, {\n key: \"mergeStatefulStyles\",\n value: function mergeStatefulStyles(e) {\n var t = {\n \"default\": {},\n hover: {},\n click: {}\n };\n return e.forEach(function (i) {\n t[\"default\"] = Object.assign(t[\"default\"], i[\"default\"]), t.hover = Object.assign(t.hover, i.hover), t.click = Object.assign(t.click, i.click);\n }), t;\n }\n }, {\n key: \"overwriteDefaultWithAlreadyApplied\",\n value: function overwriteDefaultWithAlreadyApplied(e, t) {\n Object.keys(e[\"default\"] || []).forEach(function (i) {\n var r;\n var n = i;\n t.style[n] && (r = e[\"default\"]) != null && r[n] && (e[\"default\"][i] = t.style[n]);\n });\n }\n }, {\n key: \"applyToStyleIfNotDefined\",\n value: function applyToStyleIfNotDefined(e, t) {\n for (var i in t) {\n var n = t[i];\n e[i] === \"\" && n && (e[i] = n);\n }\n }\n }]);\n}();\nvar je = /*#__PURE__*/function () {\n function je() {\n _classCallCheck(this, je);\n }\n return _createClass(je, null, [{\n key: \"attemptAppendStyleSheetToHead\",\n value: function attemptAppendStyleSheetToHead(e) {\n if (e.fontFamily && e.fontFamily !== je.DEFAULT_FONT_FAMILY) return;\n var t = document.getElementsByTagName(\"head\")[0];\n if (!Array.from(t.getElementsByTagName(\"link\")).some(function (n) {\n return n.getAttribute(\"href\") === je.FONT_URL;\n })) {\n var n = document.createElement(\"link\");\n n.rel = \"stylesheet\", n.href = je.FONT_URL, t.appendChild(n);\n }\n }\n }]);\n}();\nje.FONT_URL = \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\", je.DEFAULT_FONT_FAMILY = \"'Inter', sans-serif, Avenir, Helvetica, Arial\";\nvar Zt = je;\nvar st = /*#__PURE__*/function () {\n function st() {\n _classCallCheck(this, st);\n }\n return _createClass(st, null, [{\n key: \"apply\",\n value: function apply(e, t) {\n if (t) try {\n st.applyStyleSheet(e, t);\n } catch (_unused) {\n st.addStyleElement(e, t);\n }\n }\n }, {\n key: \"applyStyleSheet\",\n value: function applyStyleSheet(e, t) {\n var i = new CSSStyleSheet();\n i.replaceSync(e), t.adoptedStyleSheets.push(i);\n }\n }, {\n key: \"addStyleElement\",\n value: function addStyleElement(e, t) {\n var i = document.createElement(\"style\");\n i.innerHTML = e, t.appendChild(i);\n }\n }, {\n key: \"applyDefaultStyleToComponent\",\n value: function applyDefaultStyleToComponent(e, t) {\n t && M.applyToStyleIfNotDefined(e, t), M.applyToStyleIfNotDefined(e, st.DEFAULT_COMPONENT_STYLE);\n }\n }]);\n}();\nst.DEFAULT_COMPONENT_STYLE = {\n height: \"350px\",\n width: \"320px\",\n border: \"1px solid #cacaca\",\n fontFamily: Zt.DEFAULT_FONT_FAMILY,\n fontSize: \"0.9rem\",\n backgroundColor: \"white\",\n position: \"relative\",\n // this is used to prevent inputAreaStyle background color from going beyond the container's rounded border\n // it will cause issues if there are elements that are meant to be outside of the chat component and in\n // that instance they should overwrite this\n // this is also causing the chat to squeeze when there is no space\n overflow: \"hidden\"\n};\nvar yt = st;\nvar P = /* @__PURE__ */function (s) {\n return s.ESCAPE = \"Escape\", s.ENTER = \"Enter\", s.TAB = \"Tab\", s.ARROW_UP = \"ArrowUp\", s.ARROW_DOWN = \"ArrowDown\", s.ARROW_RIGHT = \"ArrowRight\", s.ARROW_LEFT = \"ArrowLeft\", s.BACKSPACE = \"Backspace\", s.DELETE = \"Delete\", s.META = \"Meta\", s.CONTROL = \"Control\", s;\n }(P || {}),\n pt;\nvar ot = (pt = /*#__PURE__*/_createClass(function pt() {\n _classCallCheck(this, pt);\n}), pt.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), pt.IS_CHROMIUM = window.chrome, pt);\nvar Ue = /*#__PURE__*/function () {\n function Ue() {\n _classCallCheck(this, Ue);\n }\n return _createClass(Ue, null, [{\n key: \"add\",\n value:\n // prettier-ignore\n function add(e, t, i, n) {\n i !== void 0 && e.addEventListener(\"keydown\", Ue.onKeyDown.bind(this, i)), e.oninput = Ue.onInput.bind(this, i, n), e.addEventListener(\"paste\", function (r) {\n var o;\n r.preventDefault(), (o = r.clipboardData) != null && o.files.length && t.addFilesToAnyType(Array.from(r.clipboardData.files));\n });\n }\n // preventing insertion early for a nicer UX\n // prettier-ignore\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(e, t) {\n var n = t.target.textContent;\n n && n.length >= e && !Ue.PERMITTED_KEYS.has(t.key) && !Ue.isKeyCombinationPermitted(t) && t.preventDefault();\n }\n }, {\n key: \"isKeyCombinationPermitted\",\n value: function isKeyCombinationPermitted(e) {\n return e.key === \"a\" ? e.ctrlKey || e.metaKey : !1;\n }\n }, {\n key: \"onInput\",\n value: function onInput(e, t, i) {\n var n = i.target,\n r = n.textContent || \"\";\n e !== void 0 && r.length > e && (n.textContent = r.substring(0, e), Ei.focusEndOfInput(n)), t == null || t();\n }\n }]);\n}();\nUe.PERMITTED_KEYS = /* @__PURE__ */new Set([P.BACKSPACE, P.DELETE, P.ARROW_RIGHT, P.ARROW_LEFT, P.ARROW_DOWN, P.ARROW_UP, P.META, P.CONTROL, P.ENTER]);\nvar Wi = Ue;\nvar fs = /*#__PURE__*/function () {\n function fs() {\n _classCallCheck(this, fs);\n }\n return _createClass(fs, null, [{\n key: \"sanitizePastedTextContent\",\n value: function sanitizePastedTextContent(e) {\n var i, n;\n e.preventDefault();\n var t = (i = e.clipboardData) == null ? void 0 : i.getData(\"text/plain\");\n t && ((n = document.execCommand) == null || n.call(document, \"insertText\", !1, t));\n }\n }]);\n}();\nvar W = /*#__PURE__*/function () {\n function W(e, t, i) {\n var _this = this;\n _classCallCheck(this, W);\n var r, o, a;\n var n = W.processConfig(t, e.textInput);\n this.elementRef = W.createContainerElement((r = n == null ? void 0 : n.styles) == null ? void 0 : r.container), this.inputElementRef = this.createInputElement(n), this._config = n, this.elementRef.appendChild(this.inputElementRef), e.setPlaceholderText = this.setPlaceholderText.bind(this, e), e.setPlaceholderText(((a = (o = e.textInput) == null ? void 0 : o.placeholder) == null ? void 0 : a.text) || \"Ask me anything!\"), setTimeout(function () {\n var l;\n Wi.add(_this.inputElementRef, i, (l = e.textInput) == null ? void 0 : l.characterLimit, e._validationHandler);\n });\n }\n return _createClass(W, [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var i, n;\n var t = document.createElement(\"div\");\n return t.id = W.TEXT_INPUT_ID, t.classList.add(\"text-input-styling\", W.PLACEHOLDER_TEXT_CLASS), ot.IS_CHROMIUM && W.preventAutomaticScrollUpOnNewLine(t), typeof (e == null ? void 0 : e.disabled) == \"boolean\" && e.disabled === !0 ? (t.contentEditable = \"false\", t.classList.add(\"text-input-disabled\")) : (t.contentEditable = \"true\", this.addEventListeners(t, e)), Object.assign(t.style, (i = e == null ? void 0 : e.styles) == null ? void 0 : i.text), Object.assign(t.style, (n = e == null ? void 0 : e.placeholder) == null ? void 0 : n.style), t;\n }\n }, {\n key: \"removeTextIfPlaceholder\",\n value: function removeTextIfPlaceholder() {\n var e, t, i, n;\n this.inputElementRef.classList.contains(W.PLACEHOLDER_TEXT_CLASS) && !this.inputElementRef.classList.contains(\"text-input-disabled\") && ((e = this._config.placeholder) != null && e.style && (M.unsetStyle(this.inputElementRef, (t = this._config.placeholder) == null ? void 0 : t.style), Object.assign(this.inputElementRef.style, (n = (i = this._config) == null ? void 0 : i.styles) == null ? void 0 : n.text)), W.clear(this.inputElementRef), this.inputElementRef.classList.remove(W.PLACEHOLDER_TEXT_CLASS));\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners(e, t) {\n var i, n, r;\n e.onfocus = this.onFocus.bind(this, (i = t == null ? void 0 : t.styles) == null ? void 0 : i.focus), (n = t == null ? void 0 : t.styles) != null && n.focus && (e.onblur = this.onBlur.bind(this, t.styles.focus, (r = t == null ? void 0 : t.styles) == null ? void 0 : r.container)), e.addEventListener(\"keydown\", this.onKeydown.bind(this)), e.addEventListener(\"paste\", fs.sanitizePastedTextContent);\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(e) {\n var _this2 = this;\n ot.IS_SAFARI ? setTimeout(function () {\n _this2.removeTextIfPlaceholder();\n }) : this.removeTextIfPlaceholder(), Object.assign(this.elementRef.style, e);\n }\n }, {\n key: \"onBlur\",\n value: function onBlur(e, t) {\n M.unsetStyle(this.elementRef, e), t && Object.assign(this.elementRef.style, t);\n }\n }, {\n key: \"onKeydown\",\n value: function onKeydown(e) {\n var t;\n e.key === P.ENTER && !e.ctrlKey && !e.shiftKey && (e.preventDefault(), (t = this.submit) == null || t.call(this));\n }\n }, {\n key: \"setPlaceholderText\",\n value: function setPlaceholderText(e, t) {\n document.activeElement !== e && (this.inputElementRef.textContent === \"\" && this.inputElementRef.classList.add(W.PLACEHOLDER_TEXT_CLASS), this.inputElementRef.classList.contains(W.PLACEHOLDER_TEXT_CLASS) && (this.inputElementRef.textContent = t));\n }\n }], [{\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var _t2, _t$disabled, _t$placeholder, _i$text;\n var i;\n return (_t2 = t) !== null && _t2 !== void 0 ? _t2 : t = {}, (_t$disabled = t.disabled) !== null && _t$disabled !== void 0 ? _t$disabled : t.disabled = e.isTextInputDisabled, (_t$placeholder = t.placeholder) !== null && _t$placeholder !== void 0 ? _t$placeholder : t.placeholder = {}, (_i$text = (i = t.placeholder).text) !== null && _i$text !== void 0 ? _i$text : i.text = e.textInputPlaceholderText, t;\n }\n // this is is a bug fix where if the browser is scrolled down and the user types in text that creates new line\n // the browser scrollbar will move up which leads to undesirable UX.\n // More details in this Stack Overflow question:\n // https://stackoverflow.com/questions/76285135/prevent-automatic-scroll-when-text-is-inserted-into-contenteditable-div\n // prettier-ignore\n }, {\n key: \"preventAutomaticScrollUpOnNewLine\",\n value: function preventAutomaticScrollUpOnNewLine(e) {\n var t;\n e.addEventListener(\"keydown\", function () {\n t = window.scrollY;\n }), e.addEventListener(\"input\", function () {\n t !== window.scrollY && window.scrollTo({\n top: t\n });\n });\n }\n // this also similarly prevents scroll up\n }, {\n key: \"clear\",\n value: function clear(e) {\n var t = window.scrollY;\n e.classList.contains(\"text-input-disabled\") || (e.textContent = \"\"), ot.IS_CHROMIUM && window.scrollTo({\n top: t\n });\n }\n }, {\n key: \"toggleEditability\",\n value: function toggleEditability(e, t) {\n e.contentEditable = t ? \"true\" : \"false\";\n }\n }, {\n key: \"createContainerElement\",\n value: function createContainerElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"text-input-container\", Object.assign(t.style, e), t;\n }\n }]);\n}();\nW.TEXT_INPUT_ID = \"text-input\", W.PLACEHOLDER_TEXT_CLASS = \"text-input-placeholder\";\nvar We = W;\nvar Ei = /*#__PURE__*/function () {\n function Ei() {\n _classCallCheck(this, Ei);\n }\n return _createClass(Ei, null, [{\n key: \"focusEndOfInput\",\n value: function focusEndOfInput(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i == null || i.removeAllRanges(), i == null || i.addRange(t);\n }\n }, {\n key: \"focusFromParentElement\",\n value: function focusFromParentElement(e) {\n var t = e.querySelector(\"#\".concat(We.TEXT_INPUT_ID));\n t && Ei.focusEndOfInput(t);\n }\n }]);\n}();\nfunction xn(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nfunction ps(s) {\n return s && JSON.stringify(s);\n}\nfunction cn(s, e, t, i) {\n var n = \"\\n\".concat(xn(e), \" message: \").concat(JSON.stringify(s), \" \\n\"),\n r = t ? \"\".concat(xn(e), \" message after interceptor: \").concat(ps(i), \" \\n\") : \"\";\n return n + r;\n}\nfunction ms(s, e, t, i) {\n return \"\".concat(cn(s, e, t, i), \"Make sure the \").concat(e, \" message is using the Response format: https://deepchat.dev/docs/connect/#Response \\nYou can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\");\n}\nfunction gs(s, e, t) {\n var i = \"response\";\n return \"\".concat(cn(s, i, e, t), \"Make sure the \").concat(i, \" message is using the {text: string} format, e.g: {text: \\\"Model Response\\\"}\");\n}\nfunction bs(s, e) {\n var t = \"request\";\n return \"\".concat(cn(s, t, e), \"Make sure the \").concat(t, \" message is using the {body: {text: string}} format, e.g: {body: {text: \\\"Model Response\\\"}}\");\n}\nvar _n = \"Make sure the events are using {text: string} or {html: string} format.\\nYou can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\",\n A = {\n INVALID_KEY: \"Invalid API Key\",\n CONNECTION_FAILED: \"Failed to connect\",\n INVALID_RESPONSE: ms,\n INVALID_MODEL_REQUEST: bs,\n INVALID_MODEL_RESPONSE: gs,\n INVALID_STREAM_EVENT: _n,\n INVALID_STREAM_EVENT_MIX: \"Cannot mix {text: string} and {html: string} responses.\",\n NO_VALID_STREAM_EVENTS_SENT: \"No valid stream events were sent.\\n\".concat(_n)\n },\n bi = /*#__PURE__*/function () {\n function bi() {\n _classCallCheck(this, bi);\n }\n return _createClass(bi, null, [{\n key: \"addElements\",\n value: function addElements(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n t.forEach(function (i) {\n return e.appendChild(i);\n });\n }\n }, {\n key: \"isScrollbarAtBottomOfElement\",\n value: function isScrollbarAtBottomOfElement(e) {\n var t = e.scrollHeight,\n i = e.clientHeight,\n n = e.scrollTop,\n r = t - i;\n return n >= r - bi.CODE_SNIPPET_GENERATION_JUMP;\n }\n }, {\n key: \"cloneElement\",\n value: function cloneElement(e) {\n var t = e.cloneNode(!0);\n return e.parentNode.replaceChild(t, e), t;\n }\n }, {\n key: \"scrollToBottom\",\n value: function scrollToBottom(e) {\n e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n e.scrollTop = 0;\n }\n }]);\n }();\nbi.CODE_SNIPPET_GENERATION_JUMP = 0.5;\nvar q = bi;\nvar vi = /*#__PURE__*/function () {\n function vi() {\n _classCallCheck(this, vi);\n }\n return _createClass(vi, null, [{\n key: \"speak\",\n value: function speak(e, t) {\n if (window.SpeechSynthesisUtterance) {\n var i = new SpeechSynthesisUtterance(e);\n Object.assign(i, t), speechSynthesis.speak(i);\n }\n }\n }, {\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var i = {};\n setTimeout(function () {\n if (_typeof(e) == \"object\" && (e.lang && (i.lang = e.lang), e.pitch && (i.pitch = e.pitch), e.rate && (i.rate = e.rate), e.volume && (i.volume = e.volume), e.voiceName)) {\n var n = window.speechSynthesis.getVoices().find(function (r) {\n var o;\n return r.name.toLocaleLowerCase() === ((o = e.voiceName) == null ? void 0 : o.toLocaleLowerCase());\n });\n n && (i.voice = n);\n }\n t(i);\n }, vi.LOAD_VOICES_MS);\n }\n }]);\n}();\nvi.LOAD_VOICES_MS = 200;\nvar at = vi;\nvar ae = /*#__PURE__*/function () {\n function ae() {\n _classCallCheck(this, ae);\n }\n return _createClass(ae, null, [{\n key: \"checkForContainerStyles\",\n value: function checkForContainerStyles(e, t) {\n var i = e.containerStyle;\n i && (Object.assign(t.style, i), console.error(\"The containerStyle property is deprecated since version 1.3.14.\"), console.error(\"Please change to using the style property instead: https://deepchat.dev/docs/styles#style\"));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"handleResponseProperty\",\n value: function handleResponseProperty(e) {\n return console.error(\"The {result: ....} response object type is deprecated since version 1.3.0.\"), console.error(\"Please change to using the new response object: https://deepchat.dev/docs/connect#Response\"), e.result;\n }\n }, {\n key: \"processHistory\",\n value: function processHistory(e) {\n var t = e.initialMessages;\n if (t) return console.error(\"The initialMessages property is deprecated since version 2.0.0.\"), console.error(\"Please change to using the history property instead: https://deepchat.dev/docs/messages/#history\"), t;\n }\n }, {\n key: \"processHistoryFile\",\n value: function processHistoryFile(e) {\n var t = e.file;\n t && (console.error(\"The file property in MessageContent is deprecated since version 1.3.17.\"), console.error(\"Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent\"), e.files = [t]);\n }\n }, {\n key: \"processValidateInput\",\n value: function processValidateInput(e) {\n var t = e.validateMessageBeforeSending;\n if (t) return console.error(\"The validateMessageBeforeSending property is deprecated since version 1.3.24.\"), console.error(\"Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput\"), t;\n }\n }, {\n key: \"processSubmitUserMessage\",\n value: function processSubmitUserMessage(e) {\n return console.error(\"The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4.\"), console.error(\"Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage\"), {\n text: e\n };\n }\n }, {\n key: \"flagHTMLUpdateClass\",\n value: function flagHTMLUpdateClass(e) {\n var t;\n (t = e.children[0]) != null && t.classList.contains(\"deep-chat-update-message\") && (console.error('The \"deep-chat-update-message\" html class is deprecated since version 1.4.4.'), console.error(\"Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response\"));\n }\n }, {\n key: \"processConnect\",\n value: function processConnect(e) {\n var t = e;\n t.request && (t.connect ? Object.assign(t.connect, t.request) : t.connect = t.request, console.error(\"The request property is deprecated since version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"));\n }\n }, {\n key: \"checkForStream\",\n value: function checkForStream(e) {\n var t = e.stream;\n if (t) return console.error(\"The stream property has been moved to the connect object in version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"), t;\n }\n }, {\n key: \"fireOnNewMessage\",\n value: function fireOnNewMessage(e, t) {\n var n;\n var i = e;\n i.onNewMessage && (console.error(\"The onNewMessage event has been deprecated since version 2.0.0.\"), console.error(\"Please see the onMessage event: https://deepchat.dev/docs/events#onMessage\"), (n = i.onNewMessage) == null || n.call(i, t)), e.dispatchEvent(new CustomEvent(\"new-message\", {\n detail: t\n }));\n }\n }, {\n key: \"processFileConfigConnect\",\n value: function processFileConfigConnect(e) {\n var t = e;\n t.request && (console.error(\"The request property in file configuration is deprecated since version 2.0.0.\"), console.error(\"Please use the connect property instead: https://deepchat.dev/docs/files\"), t.connect || (t.connect = t.request));\n }\n }]);\n}();\nvar vs = \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20fill='%23000000'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2032%2032'%20xml:space='preserve'%3e%3cpath%20d='M23,30.36H9c-2.404,0-4.36-1.956-4.36-4.36V15c0-2.404,1.956-4.36,4.36-4.36h3.659%20c0.167-1.566,1.415-2.813,2.981-2.981V5.333c-1.131-0.174-2-1.154-2-2.333c0-1.301,1.059-2.36,2.36-2.36%20c1.302,0,2.36,1.059,2.36,2.36c0,1.179-0.869,2.159-2,2.333V7.66c1.566,0.167,2.814,1.415,2.981,2.981H23%20c2.404,0,4.36,1.956,4.36,4.36v11C27.36,28.404,25.404,30.36,23,30.36z%20M9,11.36c-2.007,0-3.64,1.633-3.64,3.64v11%20c0,2.007,1.633,3.64,3.64,3.64h14c2.007,0,3.64-1.633,3.64-3.64V15c0-2.007-1.633-3.64-3.64-3.64H9z%20M13.384,10.64h5.231%20C18.439,9.354,17.334,8.36,16,8.36C14.667,8.36,13.561,9.354,13.384,10.64z%20M16,1.36c-0.904,0-1.64,0.736-1.64,1.64%20S15.096,4.64,16,4.64c0.904,0,1.64-0.736,1.64-1.64S16.904,1.36,16,1.36z%20M20,27.36h-8c-1.301,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36h8c1.302,0,2.36,1.059,2.36,2.36S21.302,27.36,20,27.36z%20M12,23.36c-0.904,0-1.64,0.735-1.64,1.64%20s0.736,1.64,1.64,1.64h8c0.904,0,1.64-0.735,1.64-1.64s-0.735-1.64-1.64-1.64H12z%20M31,23.86h-2c-0.199,0-0.36-0.161-0.36-0.36V15%20c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5C31.36,23.699,31.199,23.86,31,23.86z%20M29.36,23.14h1.279v-7.78%20H29.36V23.14z%20M3,23.86H1c-0.199,0-0.36-0.161-0.36-0.36V15c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5%20C3.36,23.699,3.199,23.86,3,23.86z%20M1.36,23.14h1.28v-7.78H1.36V23.14z%20M20,20.36c-1.302,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36s2.36,1.059,2.36,2.36C22.36,19.302,21.302,20.36,20,20.36z%20M20,16.36c-0.904,0-1.64,0.736-1.64,1.64%20s0.735,1.64,1.64,1.64s1.64-0.735,1.64-1.64S20.904,16.36,20,16.36z%20M12,20.36c-1.301,0-2.36-1.059-2.36-2.36s1.059-2.36,2.36-2.36%20s2.36,1.059,2.36,2.36C14.36,19.302,13.301,20.36,12,20.36z%20M12,16.36c-0.904,0-1.64,0.736-1.64,1.64s0.736,1.64,1.64,1.64%20s1.64-0.735,1.64-1.64S12.904,16.36,12,16.36z'/%3e%3crect%20style='fill:none;'%20width='32'%20height='32'/%3e%3c/svg%3e\",\n ys = \"data:image/png;base64,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\",\n se = /*#__PURE__*/function () {\n function se() {\n _classCallCheck(this, se);\n }\n return _createClass(se, null, [{\n key: \"hide\",\n value: function hide(e) {\n var t;\n (t = e.getElementsByClassName(se.CONTAINER_CLASS)[0].style).visibility || (t.visibility = \"hidden\");\n }\n }, {\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n Object.assign(e.style, i.container), Object.assign(t.style, i.avatar);\n }\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n var r, o, a, l;\n if ((r = i[\"default\"]) != null && r.styles && se.applyCustomStylesToElements(e, t, i[\"default\"].styles), n === b.USER_ROLE) (o = i.user) != null && o.styles && se.applyCustomStylesToElements(e, t, i.user.styles);else {\n (a = i.ai) != null && a.styles && se.applyCustomStylesToElements(e, t, i.ai.styles);\n var c = (l = i[n]) == null ? void 0 : l.styles;\n c && se.applyCustomStylesToElements(e, t, c);\n }\n }\n }, {\n key: \"createAvatar\",\n value: function createAvatar(e, t) {\n var r, o, a, l, c;\n var i = document.createElement(\"img\");\n e === b.USER_ROLE ? i.src = ((r = t == null ? void 0 : t.user) == null ? void 0 : r.src) || ((o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.src) || ys : i.src = ((a = t == null ? void 0 : t[e]) == null ? void 0 : a.src) || ((l = t == null ? void 0 : t.ai) == null ? void 0 : l.src) || ((c = t == null ? void 0 : t[\"default\"]) == null ? void 0 : c.src) || vs, i.classList.add(\"avatar\");\n var n = document.createElement(\"div\");\n return n.classList.add(se.CONTAINER_CLASS), n.appendChild(i), t && se.applyCustomStyles(n, i, t, e), n;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i2, _i3, _i4;\n var n, r, o, a, l, c;\n var i = (r = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.styles) == null ? void 0 : r.position;\n return e !== b.USER_ROLE && ((_i2 = i) !== null && _i2 !== void 0 ? _i2 : i = (a = (o = t == null ? void 0 : t.ai) == null ? void 0 : o.styles) == null ? void 0 : a.position), (_i3 = i) !== null && _i3 !== void 0 ? _i3 : i = (c = (l = t == null ? void 0 : t[\"default\"]) == null ? void 0 : l.styles) == null ? void 0 : c.position, (_i4 = i) !== null && _i4 !== void 0 ? _i4 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? void 0 : i,\n r = se.createAvatar(t, n),\n o = se.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n }();\nse.CONTAINER_CLASS = \"avatar-container\";\nvar Yt = se;\nvar ye = /*#__PURE__*/function () {\n function ye() {\n _classCallCheck(this, ye);\n }\n return _createClass(ye, null, [{\n key: \"hide\",\n value: function hide(e) {\n var t;\n (t = e.getElementsByClassName(ye.NAME_CLASS)[0].style).visibility || (t.visibility = \"hidden\");\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i5, _i6, _i7;\n var n, r, o;\n var i = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.position;\n return e !== b.USER_ROLE && ((_i5 = i) !== null && _i5 !== void 0 ? _i5 : i = (r = t == null ? void 0 : t.ai) == null ? void 0 : r.position), (_i6 = i) !== null && _i6 !== void 0 ? _i6 : i = (o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.position, (_i7 = i) !== null && _i7 !== void 0 ? _i7 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"applyStyle\",\n value: function applyStyle(e, t, i) {\n var n, r, o, a;\n Object.assign(e.style, (n = i[\"default\"]) == null ? void 0 : n.style), t === b.USER_ROLE ? Object.assign(e.style, (r = i.user) == null ? void 0 : r.style) : (Object.assign(e.style, (o = i.ai) == null ? void 0 : o.style), Object.assign(e.style, (a = i[t]) == null ? void 0 : a.style));\n }\n }, {\n key: \"getNameText\",\n value: function getNameText(e, t) {\n var i, n, r, o, a, l;\n return e === b.USER_ROLE ? ((i = t.user) == null ? void 0 : i.text) || ((n = t[\"default\"]) == null ? void 0 : n.text) || \"User\" : e === b.AI_ROLE ? ((r = t.ai) == null ? void 0 : r.text) || ((o = t[\"default\"]) == null ? void 0 : o.text) || \"AI\" : ((a = t[e]) == null ? void 0 : a.text) || ((l = t[\"default\"]) == null ? void 0 : l.text) || e;\n }\n }, {\n key: \"createName\",\n value: function createName(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(ye.NAME_CLASS), i.textContent = ye.getNameText(e, t), ye.applyStyle(i, e, t), i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? {} : i,\n r = ye.createName(t, n),\n o = ye.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n}();\nye.NAME_CLASS = \"name\";\nvar Qt = ye;\nvar ce = /*#__PURE__*/function () {\n function ce() {\n _classCallCheck(this, ce);\n }\n return _createClass(ce, null, [{\n key: \"getLastElementsByClass\",\n value: function getLastElementsByClass(e, t, i) {\n var _loop = function _loop() {\n var r = e[n];\n if (r.bubbleElement.classList.contains(t[0]) && !t.slice(1).find(function (a) {\n return !r.bubbleElement.classList.contains(a);\n })) if (i) {\n if (!i.find(function (l) {\n return r.bubbleElement.classList.contains(l);\n })) return {\n v: r\n };\n } else return {\n v: r\n };\n },\n _ret;\n for (var n = e.length - 1; n >= 0; n -= 1) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n }\n }, {\n key: \"getLastMessage\",\n value: function getLastMessage(e, t, i) {\n for (var n = e.length - 1; n >= 0; n -= 1) if (e[n].role === t) if (i) {\n if (e[n][i]) return e[n];\n } else return e[n];\n }\n }, {\n key: \"getLastTextToElement\",\n value: function getLastTextToElement(e, t) {\n for (var i = e.length - 1; i >= 0; i -= 1) if (e[i][0] === t) return e[i];\n }\n // IMPORTANT: If the overwrite message does not contain a role property it will look for the last 'ai' role message\n // and if messages have custom roles, it will still look to update the last 'ai' role message\n // prettier-ignore\n }, {\n key: \"overwriteMessage\",\n value: function overwriteMessage(e, t, i, n, r, o) {\n var a = ce.getLastElementsByClass(t, [ce.getRoleClass(n), o], [\"loading-message-text\"]),\n l = ce.getLastMessage(e, n, r);\n return l && (l[r] = i), a;\n }\n }, {\n key: \"getRoleClass\",\n value: function getRoleClass(e) {\n return \"\".concat(e, \"-message\");\n }\n // makes sure the bubble has dimensions when there is no text\n }, {\n key: \"fillEmptyMessageElement\",\n value: function fillEmptyMessageElement(e, t) {\n t.trim().length === 0 && (e.classList.add(ce.EMPTY_MESSAGE_CLASS), e.innerHTML = '<div style=\"color:#00000000\">.</div>');\n }\n }, {\n key: \"unfillEmptyMessageElement\",\n value: function unfillEmptyMessageElement(e, t) {\n e.classList.contains(ce.EMPTY_MESSAGE_CLASS) && t.trim().length > 0 && e.replaceChildren();\n }\n }, {\n key: \"getLastMessageBubbleElement\",\n value: function getLastMessageBubbleElement(e) {\n var t, i, n;\n return Array.from(((n = (i = (t = ce.getLastMessageElement(e)) == null ? void 0 : t.children) == null ? void 0 : i[0]) == null ? void 0 : n.children) || []).find(function (r) {\n return r.classList.contains(\"message-bubble\");\n });\n }\n }, {\n key: \"getLastMessageElement\",\n value: function getLastMessageElement(e) {\n return e.children[e.children.length - 1];\n }\n }, {\n key: \"addRoleElements\",\n value: function addRoleElements(e, t, i, n) {\n i && Yt.add(e, t, i), n && Qt.add(e, t, n);\n }\n }, {\n key: \"hideRoleElements\",\n value: function hideRoleElements(e, t, i) {\n var n = e[e.length - 1].innerContainer;\n t && Yt.hide(n), i && Qt.hide(n);\n }\n }]);\n}();\nce.AI_ROLE = \"ai\", ce.USER_ROLE = \"user\", ce.EMPTY_MESSAGE_CLASS = \"empty-message\";\nvar b = ce;\nvar ze = /*#__PURE__*/function () {\n function ze() {\n _classCallCheck(this, ze);\n }\n return _createClass(ze, null, [{\n key: \"mouseUp\",\n value: function mouseUp(e, t) {\n M.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]), Object.assign(e.style, t.hover);\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown(e, t) {\n Object.assign(e.style, t.click);\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave(e, t) {\n M.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]);\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter(e, t) {\n Object.assign(e.style, t.hover);\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.addEventListener(\"mouseenter\", ze.mouseEnter.bind(this, e, t)), e.addEventListener(\"mouseleave\", ze.mouseLeave.bind(this, e, t)), e.addEventListener(\"mousedown\", ze.mouseDown.bind(this, e, t)), e.addEventListener(\"mouseup\", ze.mouseUp.bind(this, e, t));\n }\n }]);\n}();\nvar Es = \"deep-chat-temporary-message\",\n xs = \"deep-chat-suggestion-button\",\n $i = {\n \"deep-chat-button\": {\n styles: {\n \"default\": {\n backgroundColor: \"white\",\n padding: \"5px\",\n paddingLeft: \"7px\",\n paddingRight: \"7px\",\n border: \"1px solid #c2c2c2\",\n borderRadius: \"6px\",\n cursor: \"pointer\"\n },\n hover: {\n backgroundColor: \"#fafafa\"\n },\n click: {\n backgroundColor: \"#f1f1f1\"\n }\n }\n }\n },\n Sn = Object.keys($i);\nvar Pe = /*#__PURE__*/function () {\n function Pe() {\n _classCallCheck(this, Pe);\n }\n return _createClass(Pe, null, [{\n key: \"applySuggestionEvent\",\n value: function applySuggestionEvent(e, t) {\n setTimeout(function () {\n t.addEventListener(\"click\", function () {\n var i, n;\n (n = e.submitUserMessage) == null || n.call(e, {\n text: ((i = t.textContent) == null ? void 0 : i.trim()) || \"\"\n });\n });\n });\n }\n }, {\n key: \"isElementTemporary\",\n value: function isElementTemporary(e) {\n var t;\n return e ? (t = e.bubbleElement.children[0]) == null ? void 0 : t.classList.contains(Es) : !1;\n }\n }, {\n key: \"doesElementContainDeepChatClass\",\n value: function doesElementContainDeepChatClass(e) {\n return Sn.find(function (t) {\n return e.classList.contains(t);\n });\n }\n }, {\n key: \"applyEvents\",\n value: function applyEvents(e, t) {\n var i = $i[t].events;\n Object.keys(i || []).forEach(function (n) {\n e.addEventListener(n, i == null ? void 0 : i[n]);\n });\n }\n }, {\n key: \"getProcessedStyles\",\n value: function getProcessedStyles(e, t, i) {\n var n = Array.from(t.classList).reduce(function (a, l) {\n var d;\n var c = (d = e[l]) == null ? void 0 : d.styles;\n return c && e[l].styles && a.push(c), a;\n }, []),\n r = $i[i].styles;\n if (r) {\n var a = JSON.parse(JSON.stringify(r));\n a[\"default\"] && M.overwriteDefaultWithAlreadyApplied(a, t), n.unshift(a);\n }\n var o = M.mergeStatefulStyles(n);\n return M.processStateful(o, {}, {});\n }\n }, {\n key: \"applyDeepChatUtilities\",\n value: function applyDeepChatUtilities(e, t, i) {\n Sn.forEach(function (r) {\n var o = i.getElementsByClassName(r);\n Array.from(o || []).forEach(function (a) {\n var l = Pe.getProcessedStyles(t, a, r);\n ee.applyStylesToElement(a, l), Pe.applyEvents(a, r);\n });\n });\n var n = i.getElementsByClassName(xs);\n Array.from(n).forEach(function (r) {\n return Pe.applySuggestionEvent(e, r);\n });\n }\n }]);\n}();\nvar ee = /*#__PURE__*/function () {\n function ee() {\n _classCallCheck(this, ee);\n }\n return _createClass(ee, null, [{\n key: \"applyStylesToElement\",\n value: function applyStylesToElement(e, t) {\n var i = M.processStateful(t, {}, {});\n ze.add(e, i), Object.assign(e.style, i[\"default\"]);\n }\n }, {\n key: \"applyEventsToElement\",\n value: function applyEventsToElement(e, t) {\n Object.keys(t).forEach(function (i) {\n var n = t[i];\n n && e.addEventListener(i, n);\n });\n }\n }, {\n key: \"applyClassUtilitiesToElement\",\n value: function applyClassUtilitiesToElement(e, t) {\n var i = t.events,\n n = t.styles;\n i && ee.applyEventsToElement(e, i), n && !Pe.doesElementContainDeepChatClass(e) && ee.applyStylesToElement(e, n);\n }\n }, {\n key: \"applyCustomClassUtilities\",\n value: function applyCustomClassUtilities(e, t) {\n Object.keys(e).forEach(function (i) {\n var n = t.getElementsByClassName(i);\n Array.from(n).forEach(function (r) {\n e[i] && ee.applyClassUtilitiesToElement(r, e[i]);\n });\n });\n }\n }, {\n key: \"apply\",\n value: function apply(e, t) {\n Pe.applyDeepChatUtilities(e, e.htmlClassUtilities, t), ee.applyCustomClassUtilities(e.htmlClassUtilities, t);\n }\n }, {\n key: \"traverseNodes\",\n value: function traverseNodes(e, t) {\n e.nodeType === Node.ELEMENT_NODE && t.push(e.outerHTML), e.childNodes.forEach(function (i) {\n ee.traverseNodes(i, t);\n });\n }\n }, {\n key: \"splitHTML\",\n value: function splitHTML(e) {\n var i = new DOMParser().parseFromString(e, \"text/html\"),\n n = [];\n return i.body.childNodes.forEach(function (r) {\n ee.traverseNodes(r, n);\n }), n;\n }\n }]);\n}();\nvar ht = /*#__PURE__*/function () {\n function ht() {\n _classCallCheck(this, ht);\n }\n return _createClass(ht, null, [{\n key: \"addElement\",\n value: function addElement(e, t) {\n e.elementRef.appendChild(t), e.elementRef.scrollTop = e.elementRef.scrollHeight;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var n = e.createNewMessageElement(\"\", i);\n return n.bubbleElement.classList.add(\"html-message\"), n.bubbleElement.innerHTML = t, n;\n }\n }, {\n key: \"overwrite\",\n value: function overwrite(e, t, i, n) {\n var r = e.messages,\n o = b.overwriteMessage(r, n, t, i, \"html\", \"html-message\");\n return o && (o.bubbleElement.innerHTML = t, ee.apply(e, o.outerContainer), ae.flagHTMLUpdateClass(o.bubbleElement)), o;\n }\n // prettier-ignore\n }, {\n key: \"add\",\n value: function add(e, t, i, n, r) {\n var a;\n if (r != null && r.status) {\n var l = this.overwrite(e, t, i, n);\n if (l) return l;\n r.status = !1;\n }\n var o = ht.createElements(e, t, i);\n return b.fillEmptyMessageElement(o.bubbleElement, t), ee.apply(e, o.outerContainer), ae.flagHTMLUpdateClass(o.bubbleElement), e.applyCustomStyles(o, i, !1, (a = e.messageStyles) == null ? void 0 : a.html), ht.addElement(e, o.outerContainer), o;\n }\n }]);\n}();\nvar Gt;\nfunction Qn(s) {\n return Gt = Gt || document.createElement(\"textarea\"), Gt.innerHTML = \"&\" + s + \";\", Gt.value;\n}\nvar _s = Object.prototype.hasOwnProperty;\nfunction Ss(s, e) {\n return s ? _s.call(s, e) : !1;\n}\nfunction es(s) {\n var e = [].slice.call(arguments, 1);\n return e.forEach(function (t) {\n if (t) {\n if (_typeof(t) != \"object\") throw new TypeError(t + \"must be object\");\n Object.keys(t).forEach(function (i) {\n s[i] = t[i];\n });\n }\n }), s;\n}\nvar ws = /\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction At(s) {\n return s.indexOf(\"\\\\\") < 0 ? s : s.replace(ws, \"$1\");\n}\nfunction ts(s) {\n return !(s >= 55296 && s <= 57343 || s >= 64976 && s <= 65007 || (s & 65535) === 65535 || (s & 65535) === 65534 || s >= 0 && s <= 8 || s === 11 || s >= 14 && s <= 31 || s >= 127 && s <= 159 || s > 1114111);\n}\nfunction Ki(s) {\n if (s > 65535) {\n s -= 65536;\n var e = 55296 + (s >> 10),\n t = 56320 + (s & 1023);\n return String.fromCharCode(e, t);\n }\n return String.fromCharCode(s);\n}\nvar Ts = /&([a-z#][a-z0-9]{1,31});/gi,\n Cs = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\nfunction ks(s, e) {\n var t = 0,\n i = Qn(e);\n return e !== i ? i : e.charCodeAt(0) === 35 && Cs.test(e) && (t = e[1].toLowerCase() === \"x\" ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10), ts(t)) ? Ki(t) : s;\n}\nfunction $e(s) {\n return s.indexOf(\"&\") < 0 ? s : s.replace(Ts, ks);\n}\nvar As = /[&<>\"]/,\n Ms = /[&<>\"]/g,\n Rs = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\"\n };\nfunction Is(s) {\n return Rs[s];\n}\nfunction J(s) {\n return As.test(s) ? s.replace(Ms, Is) : s;\n}\nvar g = {};\ng.blockquote_open = function () {\n return \"<blockquote>\\n\";\n};\ng.blockquote_close = function (s, e) {\n return \"</blockquote>\" + Je(s, e);\n};\ng.code = function (s, e) {\n return s[e].block ? \"<pre><code>\" + J(s[e].content) + \"</code></pre>\" + Je(s, e) : \"<code>\" + J(s[e].content) + \"</code>\";\n};\ng.fence = function (s, e, t, i, n) {\n var r = s[e],\n o = \"\",\n a = t.langPrefix,\n l = \"\",\n c,\n d,\n h;\n if (r.params) {\n if (c = r.params.split(/\\s+/g), d = c.join(\" \"), Ss(n.rules.fence_custom, c[0])) return n.rules.fence_custom[c[0]](s, e, t, i, n);\n l = J($e(At(d))), o = ' class=\"' + a + l + '\"';\n }\n return t.highlight ? h = t.highlight.apply(t.highlight, [r.content].concat(c)) || J(r.content) : h = J(r.content), \"<pre><code\" + o + \">\" + h + \"</code></pre>\" + Je(s, e);\n};\ng.fence_custom = {};\ng.heading_open = function (s, e) {\n return \"<h\" + s[e].hLevel + \">\";\n};\ng.heading_close = function (s, e) {\n return \"</h\" + s[e].hLevel + \">\\n\";\n};\ng.hr = function (s, e, t) {\n return (t.xhtmlOut ? \"<hr />\" : \"<hr>\") + Je(s, e);\n};\ng.bullet_list_open = function () {\n return \"<ul>\\n\";\n};\ng.bullet_list_close = function (s, e) {\n return \"</ul>\" + Je(s, e);\n};\ng.list_item_open = function () {\n return \"<li>\";\n};\ng.list_item_close = function () {\n return \"</li>\\n\";\n};\ng.ordered_list_open = function (s, e) {\n var t = s[e],\n i = t.order > 1 ? ' start=\"' + t.order + '\"' : \"\";\n return \"<ol\" + i + \">\\n\";\n};\ng.ordered_list_close = function (s, e) {\n return \"</ol>\" + Je(s, e);\n};\ng.paragraph_open = function (s, e) {\n return s[e].tight ? \"\" : \"<p>\";\n};\ng.paragraph_close = function (s, e) {\n var t = !(s[e].tight && e && s[e - 1].type === \"inline\" && !s[e - 1].content);\n return (s[e].tight ? \"\" : \"</p>\") + (t ? Je(s, e) : \"\");\n};\ng.link_open = function (s, e, t) {\n var i = s[e].title ? ' title=\"' + J($e(s[e].title)) + '\"' : \"\",\n n = t.linkTarget ? ' target=\"' + t.linkTarget + '\"' : \"\";\n return '<a href=\"' + J(s[e].href) + '\"' + i + n + \">\";\n};\ng.link_close = function () {\n return \"</a>\";\n};\ng.image = function (s, e, t) {\n var i = ' src=\"' + J(s[e].src) + '\"',\n n = s[e].title ? ' title=\"' + J($e(s[e].title)) + '\"' : \"\",\n r = ' alt=\"' + (s[e].alt ? J($e(At(s[e].alt))) : \"\") + '\"',\n o = t.xhtmlOut ? \" /\" : \"\";\n return \"<img\" + i + r + n + o + \">\";\n};\ng.table_open = function () {\n return \"<table>\\n\";\n};\ng.table_close = function () {\n return \"</table>\\n\";\n};\ng.thead_open = function () {\n return \"<thead>\\n\";\n};\ng.thead_close = function () {\n return \"</thead>\\n\";\n};\ng.tbody_open = function () {\n return \"<tbody>\\n\";\n};\ng.tbody_close = function () {\n return \"</tbody>\\n\";\n};\ng.tr_open = function () {\n return \"<tr>\";\n};\ng.tr_close = function () {\n return \"</tr>\\n\";\n};\ng.th_open = function (s, e) {\n var t = s[e];\n return \"<th\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.th_close = function () {\n return \"</th>\";\n};\ng.td_open = function (s, e) {\n var t = s[e];\n return \"<td\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.td_close = function () {\n return \"</td>\";\n};\ng.strong_open = function () {\n return \"<strong>\";\n};\ng.strong_close = function () {\n return \"</strong>\";\n};\ng.em_open = function () {\n return \"<em>\";\n};\ng.em_close = function () {\n return \"</em>\";\n};\ng.del_open = function () {\n return \"<del>\";\n};\ng.del_close = function () {\n return \"</del>\";\n};\ng.ins_open = function () {\n return \"<ins>\";\n};\ng.ins_close = function () {\n return \"</ins>\";\n};\ng.mark_open = function () {\n return \"<mark>\";\n};\ng.mark_close = function () {\n return \"</mark>\";\n};\ng.sub = function (s, e) {\n return \"<sub>\" + J(s[e].content) + \"</sub>\";\n};\ng.sup = function (s, e) {\n return \"<sup>\" + J(s[e].content) + \"</sup>\";\n};\ng.hardbreak = function (s, e, t) {\n return t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\";\n};\ng.softbreak = function (s, e, t) {\n return t.breaks ? t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\" : \"\\n\";\n};\ng.text = function (s, e) {\n return J(s[e].content);\n};\ng.htmlblock = function (s, e) {\n return s[e].content;\n};\ng.htmltag = function (s, e) {\n return s[e].content;\n};\ng.abbr_open = function (s, e) {\n return '<abbr title=\"' + J($e(s[e].title)) + '\">';\n};\ng.abbr_close = function () {\n return \"</abbr>\";\n};\ng.footnote_ref = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), '<sup class=\"footnote-ref\"><a href=\"#fn' + t + '\" id=\"' + i + '\">[' + t + \"]</a></sup>\";\n};\ng.footnote_block_open = function (s, e, t) {\n var i = t.xhtmlOut ? \"<hr class=\\\"footnotes-sep\\\" />\\n\" : \"<hr class=\\\"footnotes-sep\\\">\\n\";\n return i + \"<section class=\\\"footnotes\\\">\\n<ol class=\\\"footnotes-list\\\">\\n\";\n};\ng.footnote_block_close = function () {\n return \"</ol>\\n</section>\\n\";\n};\ng.footnote_open = function (s, e) {\n var t = Number(s[e].id + 1).toString();\n return '<li id=\"fn' + t + '\" class=\"footnote-item\">';\n};\ng.footnote_close = function () {\n return \"</li>\\n\";\n};\ng.footnote_anchor = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), ' <a href=\"#' + i + '\" class=\"footnote-backref\">↩</a>';\n};\ng.dl_open = function () {\n return \"<dl>\\n\";\n};\ng.dt_open = function () {\n return \"<dt>\";\n};\ng.dd_open = function () {\n return \"<dd>\";\n};\ng.dl_close = function () {\n return \"</dl>\\n\";\n};\ng.dt_close = function () {\n return \"</dt>\\n\";\n};\ng.dd_close = function () {\n return \"</dd>\\n\";\n};\nfunction is(s, e) {\n return ++e >= s.length - 2 ? e : s[e].type === \"paragraph_open\" && s[e].tight && s[e + 1].type === \"inline\" && s[e + 1].content.length === 0 && s[e + 2].type === \"paragraph_close\" && s[e + 2].tight ? is(s, e + 2) : e;\n}\nvar Je = g.getBreak = function (e, t) {\n return t = is(e, t), t < e.length && e[t].type === \"list_item_close\" ? \"\" : \"\\n\";\n};\nfunction dn() {\n this.rules = es({}, g), this.getBreak = g.getBreak;\n}\ndn.prototype.renderInline = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = 0, o = \"\"; n--;) o += i[s[r].type](s, r++, e, t, this);\n return o;\n};\ndn.prototype.render = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = -1, o = \"\"; ++r < n;) s[r].type === \"inline\" ? o += this.renderInline(s[r].children, e, t) : o += i[s[r].type](s, r, e, t, this);\n return o;\n};\nfunction ie() {\n this.__rules__ = [], this.__cache__ = null;\n}\nie.prototype.__find__ = function (s) {\n for (var e = this.__rules__.length, t = -1; e--;) if (this.__rules__[++t].name === s) return t;\n return -1;\n};\nie.prototype.__compile__ = function () {\n var s = this,\n e = [\"\"];\n s.__rules__.forEach(function (t) {\n t.enabled && t.alt.forEach(function (i) {\n e.indexOf(i) < 0 && e.push(i);\n });\n }), s.__cache__ = {}, e.forEach(function (t) {\n s.__cache__[t] = [], s.__rules__.forEach(function (i) {\n i.enabled && (t && i.alt.indexOf(t) < 0 || s.__cache__[t].push(i.fn));\n });\n });\n};\nie.prototype.at = function (s, e, t) {\n var i = this.__find__(s),\n n = t || {};\n if (i === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__[i].fn = e, this.__rules__[i].alt = n.alt || [], this.__cache__ = null;\n};\nie.prototype.before = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nie.prototype.after = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n + 1, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nie.prototype.push = function (s, e, t) {\n var i = t || {};\n this.__rules__.push({\n name: s,\n enabled: !0,\n fn: e,\n alt: i.alt || []\n }), this.__cache__ = null;\n};\nie.prototype.enable = function (s, e) {\n s = Array.isArray(s) ? s : [s], e && this.__rules__.forEach(function (t) {\n t.enabled = !1;\n }), s.forEach(function (t) {\n var i = this.__find__(t);\n if (i < 0) throw new Error(\"Rules manager: invalid rule name \" + t);\n this.__rules__[i].enabled = !0;\n }, this), this.__cache__ = null;\n};\nie.prototype.disable = function (s) {\n s = Array.isArray(s) ? s : [s], s.forEach(function (e) {\n var t = this.__find__(e);\n if (t < 0) throw new Error(\"Rules manager: invalid rule name \" + e);\n this.__rules__[t].enabled = !1;\n }, this), this.__cache__ = null;\n};\nie.prototype.getRules = function (s) {\n return this.__cache__ === null && this.__compile__(), this.__cache__[s] || [];\n};\nfunction Ls(s) {\n s.inlineMode ? s.tokens.push({\n type: \"inline\",\n content: s.src.replace(/\\n/g, \" \").trim(),\n level: 0,\n lines: [0, 1],\n children: []\n }) : s.block.parse(s.src, s.options, s.env, s.tokens);\n}\nfunction Xe(s, e, t, i, n) {\n this.src = s, this.env = i, this.options = t, this.parser = e, this.tokens = n, this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = \"\", this.pendingLevel = 0, this.cache = [], this.isInLabel = !1, this.linkLevel = 0, this.linkContent = \"\", this.labelUnmatchedScopes = 0;\n}\nXe.prototype.pushPending = function () {\n this.tokens.push({\n type: \"text\",\n content: this.pending,\n level: this.pendingLevel\n }), this.pending = \"\";\n};\nXe.prototype.push = function (s) {\n this.pending && this.pushPending(), this.tokens.push(s), this.pendingLevel = this.level;\n};\nXe.prototype.cacheSet = function (s, e) {\n for (var t = this.cache.length; t <= s; t++) this.cache.push(0);\n this.cache[s] = e;\n};\nXe.prototype.cacheGet = function (s) {\n return s < this.cache.length ? this.cache[s] : 0;\n};\nfunction Mt(s, e) {\n var t,\n i,\n n,\n r = -1,\n o = s.posMax,\n a = s.pos,\n l = s.isInLabel;\n if (s.isInLabel) return -1;\n if (s.labelUnmatchedScopes) return s.labelUnmatchedScopes--, -1;\n for (s.pos = e + 1, s.isInLabel = !0, t = 1; s.pos < o;) {\n if (n = s.src.charCodeAt(s.pos), n === 91) t++;else if (n === 93 && (t--, t === 0)) {\n i = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return i ? (r = s.pos, s.labelUnmatchedScopes = 0) : s.labelUnmatchedScopes = t - 1, s.pos = a, s.isInLabel = l, r;\n}\nfunction Ps(s, e, t, i) {\n var n, r, o, a, l, c;\n if (s.charCodeAt(0) !== 42 || s.charCodeAt(1) !== 91 || s.indexOf(\"]:\") === -1 || (n = new Xe(s, e, t, i, []), r = Mt(n, 1), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && n.src.charCodeAt(o) !== 10; o++);\n return l = s.slice(2, r), c = s.slice(r + 2, o).trim(), c.length === 0 ? -1 : (i.abbreviations || (i.abbreviations = {}), _typeof(i.abbreviations[\":\" + l]) > \"u\" && (i.abbreviations[\":\" + l] = c), o);\n}\nfunction Os(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (!s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t - 1].type === \"paragraph_open\" && e[t].type === \"inline\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Ps(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction Ji(s) {\n var e = $e(s);\n try {\n e = decodeURI(e);\n } catch (_unused2) {}\n return encodeURI(e);\n}\nfunction ns(s, e) {\n var t,\n i,\n n,\n r = e,\n o = s.posMax;\n if (s.src.charCodeAt(e) === 60) {\n for (e++; e < o;) {\n if (t = s.src.charCodeAt(e), t === 10) return !1;\n if (t === 62) return n = Ji(At(s.src.slice(r + 1, e))), s.parser.validateLink(n) ? (s.pos = e + 1, s.linkContent = n, !0) : !1;\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n }\n for (i = 0; e < o && (t = s.src.charCodeAt(e), !(t === 32 || t < 32 || t === 127));) {\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n if (t === 40 && (i++, i > 1) || t === 41 && (i--, i < 0)) break;\n e++;\n }\n return r === e || (n = At(s.src.slice(r, e)), !s.parser.validateLink(n)) ? !1 : (s.linkContent = n, s.pos = e, !0);\n}\nfunction ss(s, e) {\n var t,\n i = e,\n n = s.posMax,\n r = s.src.charCodeAt(e);\n if (r !== 34 && r !== 39 && r !== 40) return !1;\n for (e++, r === 40 && (r = 41); e < n;) {\n if (t = s.src.charCodeAt(e), t === r) return s.pos = e + 1, s.linkContent = At(s.src.slice(i + 1, e)), !0;\n if (t === 92 && e + 1 < n) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n}\nfunction rs(s) {\n return s.trim().replace(/\\s+/g, \" \").toUpperCase();\n}\nfunction Ns(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u;\n if (s.charCodeAt(0) !== 91 || s.indexOf(\"]:\") === -1 || (n = new Xe(s, e, t, i, []), r = Mt(n, 0), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n if (!ns(n, o)) return -1;\n for (d = n.linkContent, o = n.pos, c = o, o = o + 1; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n for (o < a && c !== o && ss(n, o) ? (h = n.linkContent, o = n.pos) : (h = \"\", o = c); o < a && n.src.charCodeAt(o) === 32;) o++;\n return o < a && n.src.charCodeAt(o) !== 10 ? -1 : (u = rs(s.slice(1, r)), _typeof(i.references[u]) > \"u\" && (i.references[u] = {\n title: h,\n href: d\n }), o);\n}\nfunction Ds(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (s.env.references = s.env.references || {}, !s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t].type === \"inline\" && e[t - 1].type === \"paragraph_open\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Ns(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction Fs(s) {\n var e = s.tokens,\n t,\n i,\n n;\n for (i = 0, n = e.length; i < n; i++) t = e[i], t.type === \"inline\" && s.inline.parse(t.content, s.options, s.env, t.children);\n}\nfunction Bs(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = 0,\n h = !1,\n u = {};\n if (s.env.footnotes && (s.tokens = s.tokens.filter(function (f) {\n return f.type === \"footnote_reference_open\" ? (h = !0, l = [], c = f.label, !1) : f.type === \"footnote_reference_close\" ? (h = !1, u[\":\" + c] = l, !1) : (h && l.push(f), !h);\n }), !!s.env.footnotes.list)) {\n for (o = s.env.footnotes.list, s.tokens.push({\n type: \"footnote_block_open\",\n level: d++\n }), e = 0, t = o.length; e < t; e++) {\n for (s.tokens.push({\n type: \"footnote_open\",\n id: e,\n level: d++\n }), o[e].tokens ? (a = [], a.push({\n type: \"paragraph_open\",\n tight: !1,\n level: d++\n }), a.push({\n type: \"inline\",\n content: \"\",\n level: d,\n children: o[e].tokens\n }), a.push({\n type: \"paragraph_close\",\n tight: !1,\n level: --d\n })) : o[e].label && (a = u[\":\" + o[e].label]), s.tokens = s.tokens.concat(a), s.tokens[s.tokens.length - 1].type === \"paragraph_close\" ? r = s.tokens.pop() : r = null, n = o[e].count > 0 ? o[e].count : 1, i = 0; i < n; i++) s.tokens.push({\n type: \"footnote_anchor\",\n id: e,\n subId: i,\n level: d\n });\n r && s.tokens.push(r), s.tokens.push({\n type: \"footnote_close\",\n level: --d\n });\n }\n s.tokens.push({\n type: \"footnote_block_close\",\n level: --d\n });\n }\n}\nvar wn = \" \\n()[]'\\\".,!?-\";\nfunction Fi(s) {\n return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, \"\\\\$1\");\n}\nfunction js(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f = s.tokens;\n if (s.env.abbreviations) {\n for (s.env.abbrRegExp || (u = \"(^|[\" + wn.split(\"\").map(Fi).join(\"\") + \"])(\" + Object.keys(s.env.abbreviations).map(function (m) {\n return m.substr(1);\n }).sort(function (m, p) {\n return p.length - m.length;\n }).map(Fi).join(\"|\") + \")($|[\" + wn.split(\"\").map(Fi).join(\"\") + \"])\", s.env.abbrRegExp = new RegExp(u, \"g\")), d = s.env.abbrRegExp, t = 0, i = f.length; t < i; t++) if (f[t].type === \"inline\") {\n for (n = f[t].children, e = n.length - 1; e >= 0; e--) if (r = n[e], r.type === \"text\") {\n for (l = 0, o = r.content, d.lastIndex = 0, c = r.level, a = []; h = d.exec(o);) d.lastIndex > l && a.push({\n type: \"text\",\n content: o.slice(l, h.index + h[1].length),\n level: c\n }), a.push({\n type: \"abbr_open\",\n title: s.env.abbreviations[\":\" + h[2]],\n level: c++\n }), a.push({\n type: \"text\",\n content: h[2],\n level: c\n }), a.push({\n type: \"abbr_close\",\n level: --c\n }), l = d.lastIndex - h[3].length;\n a.length && (l < o.length && a.push({\n type: \"text\",\n content: o.slice(l),\n level: c\n }), f[t].children = n = [].concat(n.slice(0, e), a, n.slice(e + 1)));\n }\n }\n }\n}\nvar Us = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,\n Hs = /\\((c|tm|r|p)\\)/ig,\n qs = {\n c: \"©\",\n r: \"®\",\n p: \"§\",\n tm: \"™\"\n };\nfunction zs(s) {\n return s.indexOf(\"(\") < 0 ? s : s.replace(Hs, function (e, t) {\n return qs[t.toLowerCase()];\n });\n}\nfunction Vs(s) {\n var e, t, i, n, r;\n if (s.options.typographer) {\n for (r = s.tokens.length - 1; r >= 0; r--) if (s.tokens[r].type === \"inline\") for (n = s.tokens[r].children, e = n.length - 1; e >= 0; e--) t = n[e], t.type === \"text\" && (i = t.content, i = zs(i), Us.test(i) && (i = i.replace(/\\+-/g, \"±\").replace(/\\.{2,}/g, \"…\").replace(/([?!])…/g, \"$1..\").replace(/([?!]){4,}/g, \"$1$1$1\").replace(/,{2,}/g, \",\").replace(/(^|[^-])---([^-]|$)/mg, \"$1—$2\").replace(/(^|\\s)--(\\s|$)/mg, \"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/mg, \"$1–$2\")), t.content = i);\n }\n}\nvar Gs = /['\"]/,\n Tn = /['\"]/g,\n Ws = /[-\\s()\\[\\]]/,\n Cn = \"’\";\nfunction kn(s, e) {\n return e < 0 || e >= s.length ? !1 : !Ws.test(s[e]);\n}\nfunction tt(s, e, t) {\n return s.substr(0, e) + t + s.substr(e + 1);\n}\nfunction $s(s) {\n var e, t, i, n, r, o, a, l, c, d, h, u, f, m, p, y, E;\n if (s.options.typographer) {\n for (E = [], p = s.tokens.length - 1; p >= 0; p--) if (s.tokens[p].type === \"inline\") {\n for (y = s.tokens[p].children, E.length = 0, e = 0; e < y.length; e++) if (t = y[e], !(t.type !== \"text\" || Gs.test(t.text))) {\n for (a = y[e].level, f = E.length - 1; f >= 0 && !(E[f].level <= a); f--);\n E.length = f + 1, i = t.content, r = 0, o = i.length;\n e: for (; r < o && (Tn.lastIndex = r, n = Tn.exec(i), !!n);) {\n if (l = !kn(i, n.index - 1), r = n.index + 1, m = n[0] === \"'\", c = !kn(i, r), !c && !l) {\n m && (t.content = tt(t.content, n.index, Cn));\n continue;\n }\n if (h = !c, u = !l, u) {\n for (f = E.length - 1; f >= 0 && (d = E[f], !(E[f].level < a)); f--) if (d.single === m && E[f].level === a) {\n d = E[f], m ? (y[d.token].content = tt(y[d.token].content, d.pos, s.options.quotes[2]), t.content = tt(t.content, n.index, s.options.quotes[3])) : (y[d.token].content = tt(y[d.token].content, d.pos, s.options.quotes[0]), t.content = tt(t.content, n.index, s.options.quotes[1])), E.length = f;\n continue e;\n }\n }\n h ? E.push({\n token: e,\n pos: n.index,\n single: m,\n level: a\n }) : u && m && (t.content = tt(t.content, n.index, Cn));\n }\n }\n }\n }\n}\nvar Bi = [[\"block\", Ls], [\"abbr\", Os], [\"references\", Ds], [\"inline\", Fs], [\"footnote_tail\", Bs], [\"abbr2\", js], [\"replacements\", Vs], [\"smartquotes\", $s]];\nfunction os() {\n this.options = {}, this.ruler = new ie();\n for (var s = 0; s < Bi.length; s++) this.ruler.push(Bi[s][0], Bi[s][1]);\n}\nos.prototype.process = function (s) {\n var e, t, i;\n for (i = this.ruler.getRules(\"\"), e = 0, t = i.length; e < t; e++) i[e](s);\n};\nfunction Ze(s, e, t, i, n) {\n var r, o, a, l, c, d, h;\n for (this.src = s, this.parser = e, this.options = t, this.env = i, this.tokens = n, this.bMarks = [], this.eMarks = [], this.tShift = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.parentType = \"root\", this.ddIndent = -1, this.level = 0, this.result = \"\", o = this.src, d = 0, h = !1, a = l = d = 0, c = o.length; l < c; l++) {\n if (r = o.charCodeAt(l), !h) if (r === 32) {\n d++;\n continue;\n } else h = !0;\n (r === 10 || l === c - 1) && (r !== 10 && l++, this.bMarks.push(a), this.eMarks.push(l), this.tShift.push(d), h = !1, d = 0, a = l + 1);\n }\n this.bMarks.push(o.length), this.eMarks.push(o.length), this.tShift.push(0), this.lineMax = this.bMarks.length - 1;\n}\nZe.prototype.isEmpty = function (e) {\n return this.bMarks[e] + this.tShift[e] >= this.eMarks[e];\n};\nZe.prototype.skipEmptyLines = function (e) {\n for (var t = this.lineMax; e < t && !(this.bMarks[e] + this.tShift[e] < this.eMarks[e]); e++);\n return e;\n};\nZe.prototype.skipSpaces = function (e) {\n for (var t = this.src.length; e < t && this.src.charCodeAt(e) === 32; e++);\n return e;\n};\nZe.prototype.skipChars = function (e, t) {\n for (var i = this.src.length; e < i && this.src.charCodeAt(e) === t; e++);\n return e;\n};\nZe.prototype.skipCharsBack = function (e, t, i) {\n if (e <= i) return e;\n for (; e > i;) if (t !== this.src.charCodeAt(--e)) return e + 1;\n return e;\n};\nZe.prototype.getLines = function (e, t, i, n) {\n var r,\n o,\n a,\n l,\n c,\n d = e;\n if (e >= t) return \"\";\n if (d + 1 === t) return o = this.bMarks[d] + Math.min(this.tShift[d], i), a = n ? this.eMarks[d] + 1 : this.eMarks[d], this.src.slice(o, a);\n for (l = new Array(t - e), r = 0; d < t; d++, r++) c = this.tShift[d], c > i && (c = i), c < 0 && (c = 0), o = this.bMarks[d] + c, d + 1 < t || n ? a = this.eMarks[d] + 1 : a = this.eMarks[d], l[r] = this.src.slice(o, a);\n return l.join(\"\");\n};\nfunction Ks(s, e, t) {\n var i, n;\n if (s.tShift[e] - s.blkIndent < 4) return !1;\n for (n = i = e + 1; i < t;) {\n if (s.isEmpty(i)) {\n i++;\n continue;\n }\n if (s.tShift[i] - s.blkIndent >= 4) {\n i++, n = i;\n continue;\n }\n break;\n }\n return s.line = i, s.tokens.push({\n type: \"code\",\n content: s.getLines(e, n, 4 + s.blkIndent, !0),\n block: !0,\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction Js(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = !1,\n d = s.bMarks[e] + s.tShift[e],\n h = s.eMarks[e];\n if (d + 3 > h || (n = s.src.charCodeAt(d), n !== 126 && n !== 96) || (l = d, d = s.skipChars(d, n), r = d - l, r < 3) || (o = s.src.slice(d, h).trim(), o.indexOf(\"`\") >= 0)) return !1;\n if (i) return !0;\n for (a = e; a++, !(a >= t || (d = l = s.bMarks[a] + s.tShift[a], h = s.eMarks[a], d < h && s.tShift[a] < s.blkIndent));) if (s.src.charCodeAt(d) === n && !(s.tShift[a] - s.blkIndent >= 4) && (d = s.skipChars(d, n), !(d - l < r) && (d = s.skipSpaces(d), !(d < h)))) {\n c = !0;\n break;\n }\n return r = s.tShift[e], s.line = a + (c ? 1 : 0), s.tokens.push({\n type: \"fence\",\n params: o,\n content: s.getLines(e + 1, a, r, !0),\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction Xs(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f,\n m,\n p = s.bMarks[e] + s.tShift[e],\n y = s.eMarks[e];\n if (p > y || s.src.charCodeAt(p++) !== 62 || s.level >= s.options.maxNesting) return !1;\n if (i) return !0;\n for (s.src.charCodeAt(p) === 32 && p++, l = s.blkIndent, s.blkIndent = 0, a = [s.bMarks[e]], s.bMarks[e] = p, p = p < y ? s.skipSpaces(p) : p, r = p >= y, o = [s.tShift[e]], s.tShift[e] = p - s.bMarks[e], h = s.parser.ruler.getRules(\"blockquote\"), n = e + 1; n < t && (p = s.bMarks[n] + s.tShift[n], y = s.eMarks[n], !(p >= y)); n++) {\n if (s.src.charCodeAt(p++) === 62) {\n s.src.charCodeAt(p) === 32 && p++, a.push(s.bMarks[n]), s.bMarks[n] = p, p = p < y ? s.skipSpaces(p) : p, r = p >= y, o.push(s.tShift[n]), s.tShift[n] = p - s.bMarks[n];\n continue;\n }\n if (r) break;\n for (m = !1, u = 0, f = h.length; u < f; u++) if (h[u](s, n, t, !0)) {\n m = !0;\n break;\n }\n if (m) break;\n a.push(s.bMarks[n]), o.push(s.tShift[n]), s.tShift[n] = -1337;\n }\n for (c = s.parentType, s.parentType = \"blockquote\", s.tokens.push({\n type: \"blockquote_open\",\n lines: d = [e, 0],\n level: s.level++\n }), s.parser.tokenize(s, e, n), s.tokens.push({\n type: \"blockquote_close\",\n level: --s.level\n }), s.parentType = c, d[1] = s.line, u = 0; u < o.length; u++) s.bMarks[u + e] = a[u], s.tShift[u + e] = o[u];\n return s.blkIndent = l, !0;\n}\nfunction Zs(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e];\n if (a += s.tShift[e], a > l || (n = s.src.charCodeAt(a++), n !== 42 && n !== 45 && n !== 95)) return !1;\n for (r = 1; a < l;) {\n if (o = s.src.charCodeAt(a++), o !== n && o !== 32) return !1;\n o === n && r++;\n }\n return r < 3 ? !1 : (i || (s.line = e + 1, s.tokens.push({\n type: \"hr\",\n lines: [e, s.line],\n level: s.level\n })), !0);\n}\nfunction An(s, e) {\n var t, i, n;\n return i = s.bMarks[e] + s.tShift[e], n = s.eMarks[e], i >= n || (t = s.src.charCodeAt(i++), t !== 42 && t !== 45 && t !== 43) || i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Mn(s, e) {\n var t,\n i = s.bMarks[e] + s.tShift[e],\n n = s.eMarks[e];\n if (i + 1 >= n || (t = s.src.charCodeAt(i++), t < 48 || t > 57)) return -1;\n for (;;) {\n if (i >= n) return -1;\n if (t = s.src.charCodeAt(i++), !(t >= 48 && t <= 57)) {\n if (t === 41 || t === 46) break;\n return -1;\n }\n }\n return i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Ys(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction Qs(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f,\n m,\n p,\n y,\n E,\n j,\n V,\n Ae,\n R,\n X = !0,\n Z,\n D,\n Ne,\n gt;\n if ((h = Mn(s, e)) >= 0) y = !0;else if ((h = An(s, e)) >= 0) y = !1;else return !1;\n if (s.level >= s.options.maxNesting) return !1;\n if (p = s.src.charCodeAt(h - 1), i) return !0;\n for (j = s.tokens.length, y ? (d = s.bMarks[e] + s.tShift[e], m = Number(s.src.substr(d, h - d - 1)), s.tokens.push({\n type: \"ordered_list_open\",\n order: m,\n lines: Ae = [e, 0],\n level: s.level++\n })) : s.tokens.push({\n type: \"bullet_list_open\",\n lines: Ae = [e, 0],\n level: s.level++\n }), n = e, V = !1, Z = s.parser.ruler.getRules(\"list\"); n < t && (E = s.skipSpaces(h), u = s.eMarks[n], E >= u ? f = 1 : f = E - h, f > 4 && (f = 1), f < 1 && (f = 1), r = h - s.bMarks[n] + f, s.tokens.push({\n type: \"list_item_open\",\n lines: R = [e, 0],\n level: s.level++\n }), a = s.blkIndent, l = s.tight, o = s.tShift[e], c = s.parentType, s.tShift[e] = E - s.bMarks[e], s.blkIndent = r, s.tight = !0, s.parentType = \"list\", s.parser.tokenize(s, e, t, !0), (!s.tight || V) && (X = !1), V = s.line - e > 1 && s.isEmpty(s.line - 1), s.blkIndent = a, s.tShift[e] = o, s.tight = l, s.parentType = c, s.tokens.push({\n type: \"list_item_close\",\n level: --s.level\n }), n = e = s.line, R[1] = n, E = s.bMarks[e], !(n >= t || s.isEmpty(n) || s.tShift[n] < s.blkIndent));) {\n for (gt = !1, D = 0, Ne = Z.length; D < Ne; D++) if (Z[D](s, n, t, !0)) {\n gt = !0;\n break;\n }\n if (gt) break;\n if (y) {\n if (h = Mn(s, n), h < 0) break;\n } else if (h = An(s, n), h < 0) break;\n if (p !== s.src.charCodeAt(h - 1)) break;\n }\n return s.tokens.push({\n type: y ? \"ordered_list_close\" : \"bullet_list_close\",\n level: --s.level\n }), Ae[1] = n, s.line = n, X && Ys(s, j), !0;\n}\nfunction er(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = s.bMarks[e] + s.tShift[e],\n d = s.eMarks[e];\n if (c + 4 > d || s.src.charCodeAt(c) !== 91 || s.src.charCodeAt(c + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (a = c + 2; a < d; a++) {\n if (s.src.charCodeAt(a) === 32) return !1;\n if (s.src.charCodeAt(a) === 93) break;\n }\n return a === c + 2 || a + 1 >= d || s.src.charCodeAt(++a) !== 58 ? !1 : (i || (a++, s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.refs || (s.env.footnotes.refs = {}), l = s.src.slice(c + 2, a - 2), s.env.footnotes.refs[\":\" + l] = -1, s.tokens.push({\n type: \"footnote_reference_open\",\n label: l,\n level: s.level++\n }), n = s.bMarks[e], r = s.tShift[e], o = s.parentType, s.tShift[e] = s.skipSpaces(a) - a, s.bMarks[e] = a, s.blkIndent += 4, s.parentType = \"footnote\", s.tShift[e] < s.blkIndent && (s.tShift[e] += s.blkIndent, s.bMarks[e] -= s.blkIndent), s.parser.tokenize(s, e, t, !0), s.parentType = o, s.blkIndent -= 4, s.tShift[e] = r, s.bMarks[e] = n, s.tokens.push({\n type: \"footnote_reference_close\",\n level: --s.level\n })), !0);\n}\nfunction tr(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e] + s.tShift[e],\n l = s.eMarks[e];\n if (a >= l || (n = s.src.charCodeAt(a), n !== 35 || a >= l)) return !1;\n for (r = 1, n = s.src.charCodeAt(++a); n === 35 && a < l && r <= 6;) r++, n = s.src.charCodeAt(++a);\n return r > 6 || a < l && n !== 32 ? !1 : (i || (l = s.skipCharsBack(l, 32, a), o = s.skipCharsBack(l, 35, a), o > a && s.src.charCodeAt(o - 1) === 32 && (l = o), s.line = e + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: r,\n lines: [e, s.line],\n level: s.level\n }), a < l && s.tokens.push({\n type: \"inline\",\n content: s.src.slice(a, l).trim(),\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: r,\n level: s.level\n })), !0);\n}\nfunction ir(s, e, t) {\n var i,\n n,\n r,\n o = e + 1;\n return o >= t || s.tShift[o] < s.blkIndent || s.tShift[o] - s.blkIndent > 3 || (n = s.bMarks[o] + s.tShift[o], r = s.eMarks[o], n >= r) || (i = s.src.charCodeAt(n), i !== 45 && i !== 61) || (n = s.skipChars(n, i), n = s.skipSpaces(n), n < r) ? !1 : (n = s.bMarks[e] + s.tShift[e], s.line = o + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: i === 61 ? 1 : 2,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: s.src.slice(n, s.eMarks[e]).trim(),\n level: s.level + 1,\n lines: [e, s.line - 1],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: i === 61 ? 1 : 2,\n level: s.level\n }), !0);\n}\nvar as = {};\n[\"article\", \"aside\", \"button\", \"blockquote\", \"body\", \"canvas\", \"caption\", \"col\", \"colgroup\", \"dd\", \"div\", \"dl\", \"dt\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"header\", \"hgroup\", \"hr\", \"iframe\", \"li\", \"map\", \"object\", \"ol\", \"output\", \"p\", \"pre\", \"progress\", \"script\", \"section\", \"style\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"tr\", \"thead\", \"ul\", \"video\"].forEach(function (s) {\n as[s] = !0;\n});\nvar nr = /^<([a-zA-Z]{1,15})[\\s\\/>]/,\n sr = /^<\\/([a-zA-Z]{1,15})[\\s>]/;\nfunction rr(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction or(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e],\n c = s.tShift[e];\n if (a += c, !s.options.html || c > 3 || a + 2 >= l || s.src.charCodeAt(a) !== 60) return !1;\n if (n = s.src.charCodeAt(a + 1), n === 33 || n === 63) {\n if (i) return !0;\n } else if (n === 47 || rr(n)) {\n if (n === 47) {\n if (r = s.src.slice(a, l).match(sr), !r) return !1;\n } else if (r = s.src.slice(a, l).match(nr), !r) return !1;\n if (as[r[1].toLowerCase()] !== !0) return !1;\n if (i) return !0;\n } else return !1;\n for (o = e + 1; o < s.lineMax && !s.isEmpty(o);) o++;\n return s.line = o, s.tokens.push({\n type: \"htmlblock\",\n level: s.level,\n lines: [e, s.line],\n content: s.getLines(e, o, 0, !0)\n }), !0;\n}\nfunction ji(s, e) {\n var t = s.bMarks[e] + s.blkIndent,\n i = s.eMarks[e];\n return s.src.substr(t, i - t);\n}\nfunction ar(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u, f, m;\n if (e + 2 > t || (l = e + 1, s.tShift[l] < s.blkIndent) || (o = s.bMarks[l] + s.tShift[l], o >= s.eMarks[l]) || (n = s.src.charCodeAt(o), n !== 124 && n !== 45 && n !== 58) || (r = ji(s, e + 1), !/^[-:| ]+$/.test(r)) || (c = r.split(\"|\"), c <= 2)) return !1;\n for (h = [], a = 0; a < c.length; a++) {\n if (u = c[a].trim(), !u) {\n if (a === 0 || a === c.length - 1) continue;\n return !1;\n }\n if (!/^:?-+:?$/.test(u)) return !1;\n u.charCodeAt(u.length - 1) === 58 ? h.push(u.charCodeAt(0) === 58 ? \"center\" : \"right\") : u.charCodeAt(0) === 58 ? h.push(\"left\") : h.push(\"\");\n }\n if (r = ji(s, e).trim(), r.indexOf(\"|\") === -1 || (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), h.length !== c.length)) return !1;\n if (i) return !0;\n for (s.tokens.push({\n type: \"table_open\",\n lines: f = [e, 0],\n level: s.level++\n }), s.tokens.push({\n type: \"thead_open\",\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"tr_open\",\n lines: [e, e + 1],\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"th_open\",\n align: h[a],\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: c[a].trim(),\n lines: [e, e + 1],\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"th_close\",\n level: --s.level\n });\n for (s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"thead_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"tbody_open\",\n lines: m = [e + 2, 0],\n level: s.level++\n }), l = e + 2; l < t && !(s.tShift[l] < s.blkIndent || (r = ji(s, l).trim(), r.indexOf(\"|\") === -1)); l++) {\n for (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), s.tokens.push({\n type: \"tr_open\",\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"td_open\",\n align: h[a],\n level: s.level++\n }), d = c[a].substring(c[a].charCodeAt(0) === 124 ? 1 : 0, c[a].charCodeAt(c[a].length - 1) === 124 ? c[a].length - 1 : c[a].length).trim(), s.tokens.push({\n type: \"inline\",\n content: d,\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"td_close\",\n level: --s.level\n });\n s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n });\n }\n return s.tokens.push({\n type: \"tbody_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"table_close\",\n level: --s.level\n }), f[1] = m[1] = l, s.line = l, !0;\n}\nfunction Wt(s, e) {\n var t,\n i,\n n = s.bMarks[e] + s.tShift[e],\n r = s.eMarks[e];\n return n >= r || (i = s.src.charCodeAt(n++), i !== 126 && i !== 58) || (t = s.skipSpaces(n), n === t) || t >= r ? -1 : t;\n}\nfunction lr(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction cr(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u, f, m, p, y, E;\n if (i) return s.ddIndent < 0 ? !1 : Wt(s, e) >= 0;\n if (d = e + 1, s.isEmpty(d) && ++d > t || s.tShift[d] < s.blkIndent || (n = Wt(s, d), n < 0) || s.level >= s.options.maxNesting) return !1;\n c = s.tokens.length, s.tokens.push({\n type: \"dl_open\",\n lines: l = [e, 0],\n level: s.level++\n }), o = e, r = d;\n e: for (;;) {\n for (E = !0, y = !1, s.tokens.push({\n type: \"dt_open\",\n lines: [o, o],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: s.getLines(o, o + 1, s.blkIndent, !1).trim(),\n level: s.level + 1,\n lines: [o, o],\n children: []\n }), s.tokens.push({\n type: \"dt_close\",\n level: --s.level\n });;) {\n if (s.tokens.push({\n type: \"dd_open\",\n lines: a = [d, 0],\n level: s.level++\n }), p = s.tight, u = s.ddIndent, h = s.blkIndent, m = s.tShift[r], f = s.parentType, s.blkIndent = s.ddIndent = s.tShift[r] + 2, s.tShift[r] = n - s.bMarks[r], s.tight = !0, s.parentType = \"deflist\", s.parser.tokenize(s, r, t, !0), (!s.tight || y) && (E = !1), y = s.line - r > 1 && s.isEmpty(s.line - 1), s.tShift[r] = m, s.tight = p, s.parentType = f, s.blkIndent = h, s.ddIndent = u, s.tokens.push({\n type: \"dd_close\",\n level: --s.level\n }), a[1] = d = s.line, d >= t || s.tShift[d] < s.blkIndent) break e;\n if (n = Wt(s, d), n < 0) break;\n r = d;\n }\n if (d >= t || (o = d, s.isEmpty(o)) || s.tShift[o] < s.blkIndent || (r = o + 1, r >= t) || (s.isEmpty(r) && r++, r >= t) || s.tShift[r] < s.blkIndent || (n = Wt(s, r), n < 0)) break;\n }\n return s.tokens.push({\n type: \"dl_close\",\n level: --s.level\n }), l[1] = d, s.line = d, E && lr(s, c), !0;\n}\nfunction dr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = e + 1,\n l;\n if (t = s.lineMax, a < t && !s.isEmpty(a)) {\n for (l = s.parser.ruler.getRules(\"paragraph\"); a < t && !s.isEmpty(a); a++) if (!(s.tShift[a] - s.blkIndent > 3)) {\n for (n = !1, r = 0, o = l.length; r < o; r++) if (l[r](s, a, t, !0)) {\n n = !0;\n break;\n }\n if (n) break;\n }\n }\n return i = s.getLines(e, a, s.blkIndent, !1).trim(), s.line = a, i.length && (s.tokens.push({\n type: \"paragraph_open\",\n tight: !1,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: i,\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"paragraph_close\",\n tight: !1,\n level: s.level\n })), !0;\n}\nvar $t = [[\"code\", Ks], [\"fences\", Js, [\"paragraph\", \"blockquote\", \"list\"]], [\"blockquote\", Xs, [\"paragraph\", \"blockquote\", \"list\"]], [\"hr\", Zs, [\"paragraph\", \"blockquote\", \"list\"]], [\"list\", Qs, [\"paragraph\", \"blockquote\"]], [\"footnote\", er, [\"paragraph\"]], [\"heading\", tr, [\"paragraph\", \"blockquote\"]], [\"lheading\", ir], [\"htmlblock\", or, [\"paragraph\", \"blockquote\"]], [\"table\", ar, [\"paragraph\"]], [\"deflist\", cr, [\"paragraph\"]], [\"paragraph\", dr]];\nfunction hn() {\n this.ruler = new ie();\n for (var s = 0; s < $t.length; s++) this.ruler.push($t[s][0], $t[s][1], {\n alt: ($t[s][2] || []).slice()\n });\n}\nhn.prototype.tokenize = function (s, e, t) {\n for (var i = this.ruler.getRules(\"\"), n = i.length, r = e, o = !1, a, l; r < t && (s.line = r = s.skipEmptyLines(r), !(r >= t || s.tShift[r] < s.blkIndent));) {\n for (l = 0; l < n && (a = i[l](s, r, t, !1), !a); l++);\n if (s.tight = !o, s.isEmpty(s.line - 1) && (o = !0), r = s.line, r < t && s.isEmpty(r)) {\n if (o = !0, r++, r < t && s.parentType === \"list\" && s.isEmpty(r)) break;\n s.line = r;\n }\n }\n};\nvar hr = /[\\n\\t]/g,\n ur = /\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,\n fr = /\\u00a0/g;\nhn.prototype.parse = function (s, e, t, i) {\n var n,\n r = 0,\n o = 0;\n if (!s) return [];\n s = s.replace(fr, \" \"), s = s.replace(ur, \"\\n\"), s.indexOf(\"\t\") >= 0 && (s = s.replace(hr, function (a, l) {\n var c;\n return s.charCodeAt(l) === 10 ? (r = l + 1, o = 0, a) : (c = \" \".slice((l - r - o) % 4), o = l - r + 1, c);\n })), n = new Ze(s, this, e, t, i), this.tokenize(n, n.line, n.lineMax);\n};\nfunction pr(s) {\n switch (s) {\n case 10:\n case 92:\n case 96:\n case 42:\n case 95:\n case 94:\n case 91:\n case 93:\n case 33:\n case 38:\n case 60:\n case 62:\n case 123:\n case 125:\n case 36:\n case 37:\n case 64:\n case 126:\n case 43:\n case 61:\n case 58:\n return !0;\n default:\n return !1;\n }\n}\nfunction mr(s, e) {\n for (var t = s.pos; t < s.posMax && !pr(s.src.charCodeAt(t));) t++;\n return t === s.pos ? !1 : (e || (s.pending += s.src.slice(s.pos, t)), s.pos = t, !0);\n}\nfunction gr(s, e) {\n var t,\n i,\n n = s.pos;\n if (s.src.charCodeAt(n) !== 10) return !1;\n if (t = s.pending.length - 1, i = s.posMax, !e) if (t >= 0 && s.pending.charCodeAt(t) === 32) {\n if (t >= 1 && s.pending.charCodeAt(t - 1) === 32) {\n for (var r = t - 2; r >= 0; r--) if (s.pending.charCodeAt(r) !== 32) {\n s.pending = s.pending.substring(0, r + 1);\n break;\n }\n s.push({\n type: \"hardbreak\",\n level: s.level\n });\n } else s.pending = s.pending.slice(0, -1), s.push({\n type: \"softbreak\",\n level: s.level\n });\n } else s.push({\n type: \"softbreak\",\n level: s.level\n });\n for (n++; n < i && s.src.charCodeAt(n) === 32;) n++;\n return s.pos = n, !0;\n}\nvar un = [];\nfor (var Rn = 0; Rn < 256; Rn++) un.push(0);\n\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function (s) {\n un[s.charCodeAt(0)] = 1;\n});\nfunction br(s, e) {\n var t,\n i = s.pos,\n n = s.posMax;\n if (s.src.charCodeAt(i) !== 92) return !1;\n if (i++, i < n) {\n if (t = s.src.charCodeAt(i), t < 256 && un[t] !== 0) return e || (s.pending += s.src[i]), s.pos += 2, !0;\n if (t === 10) {\n for (e || s.push({\n type: \"hardbreak\",\n level: s.level\n }), i++; i < n && s.src.charCodeAt(i) === 32;) i++;\n return s.pos = i, !0;\n }\n }\n return e || (s.pending += \"\\\\\"), s.pos++, !0;\n}\nfunction vr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos,\n l = s.src.charCodeAt(a);\n if (l !== 96) return !1;\n for (t = a, a++, i = s.posMax; a < i && s.src.charCodeAt(a) === 96;) a++;\n for (n = s.src.slice(t, a), r = o = a; (r = s.src.indexOf(\"`\", o)) !== -1;) {\n for (o = r + 1; o < i && s.src.charCodeAt(o) === 96;) o++;\n if (o - r === n.length) return e || s.push({\n type: \"code\",\n content: s.src.slice(a, r).replace(/[ \\n]+/g, \" \").trim(),\n block: !1,\n level: s.level\n }), s.pos = o, !0;\n }\n return e || (s.pending += n), s.pos += n.length, !0;\n}\nfunction yr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 126 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 126 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 126) || l === 126 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 126;) i++;\n if (i > o + 3) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 126 && s.src.charCodeAt(s.pos + 1) === 126 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 126 && a !== 126 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"del_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"del_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction Er(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 43 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 43 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 43) || l === 43 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 43;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 43 && s.src.charCodeAt(s.pos + 1) === 43 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 43 && a !== 43 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"ins_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"ins_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction xr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 61 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 61 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 61) || l === 61 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 61;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 61 && s.src.charCodeAt(s.pos + 1) === 61 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 61 && a !== 61 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"mark_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"mark_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction In(s) {\n return s >= 48 && s <= 57 || s >= 65 && s <= 90 || s >= 97 && s <= 122;\n}\nfunction Ln(s, e) {\n var t = e,\n i,\n n,\n r,\n o = !0,\n a = !0,\n l = s.posMax,\n c = s.src.charCodeAt(e);\n for (i = e > 0 ? s.src.charCodeAt(e - 1) : -1; t < l && s.src.charCodeAt(t) === c;) t++;\n return t >= l && (o = !1), r = t - e, r >= 4 ? o = a = !1 : (n = t < l ? s.src.charCodeAt(t) : -1, (n === 32 || n === 10) && (o = !1), (i === 32 || i === 10) && (a = !1), c === 95 && (In(i) && (o = !1), In(n) && (a = !1))), {\n can_open: o,\n can_close: a,\n delims: r\n };\n}\nfunction _r(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c = s.posMax,\n d = s.pos,\n h = s.src.charCodeAt(d);\n if (h !== 95 && h !== 42 || e) return !1;\n if (l = Ln(s, d), t = l.delims, !l.can_open) return s.pos += t, e || (s.pending += s.src.slice(d, s.pos)), !0;\n if (s.level >= s.options.maxNesting) return !1;\n for (s.pos = d + t, a = [t]; s.pos < c;) {\n if (s.src.charCodeAt(s.pos) === h) {\n if (l = Ln(s, s.pos), i = l.delims, l.can_close) {\n for (r = a.pop(), o = i; r !== o;) {\n if (o < r) {\n a.push(r - o);\n break;\n }\n if (o -= r, a.length === 0) break;\n s.pos += r, r = a.pop();\n }\n if (a.length === 0) {\n t = r, n = !0;\n break;\n }\n s.pos += i;\n continue;\n }\n l.can_open && a.push(i), s.pos += i;\n continue;\n }\n s.parser.skipToken(s);\n }\n return n ? (s.posMax = s.pos, s.pos = d + t, e || ((t === 2 || t === 3) && s.push({\n type: \"strong_open\",\n level: s.level++\n }), (t === 1 || t === 3) && s.push({\n type: \"em_open\",\n level: s.level++\n }), s.parser.tokenize(s), (t === 1 || t === 3) && s.push({\n type: \"em_close\",\n level: --s.level\n }), (t === 2 || t === 3) && s.push({\n type: \"strong_close\",\n level: --s.level\n })), s.pos = s.posMax + t, s.posMax = c, !0) : (s.pos = d, !1);\n}\nvar Sr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction wr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 126 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 126) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sub\",\n level: s.level,\n content: i.replace(Sr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nvar Tr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction Cr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 94 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 94) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sup\",\n level: s.level,\n content: i.replace(Tr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nfunction kr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = !1,\n h = s.pos,\n u = s.posMax,\n f = s.pos,\n m = s.src.charCodeAt(f);\n if (m === 33 && (d = !0, m = s.src.charCodeAt(++f)), m !== 91 || s.level >= s.options.maxNesting || (t = f + 1, i = Mt(s, f), i < 0)) return !1;\n if (a = i + 1, a < u && s.src.charCodeAt(a) === 40) {\n for (a++; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a >= u) return !1;\n for (f = a, ns(s, a) ? (r = s.linkContent, a = s.pos) : r = \"\", f = a; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < u && f !== a && ss(s, a)) for (o = s.linkContent, a = s.pos; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);else o = \"\";\n if (a >= u || s.src.charCodeAt(a) !== 41) return s.pos = h, !1;\n a++;\n } else {\n if (s.linkLevel > 0) return !1;\n for (; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < u && s.src.charCodeAt(a) === 91 && (f = a + 1, a = Mt(s, a), a >= 0 ? n = s.src.slice(f, a++) : a = f - 1), n || (_typeof(n) > \"u\" && (a = i + 1), n = s.src.slice(t, i)), l = s.env.references[rs(n)], !l) return s.pos = h, !1;\n r = l.href, o = l.title;\n }\n return e || (s.pos = t, s.posMax = i, d ? s.push({\n type: \"image\",\n src: r,\n title: o,\n alt: s.src.substr(t, i - t),\n level: s.level\n }) : (s.push({\n type: \"link_open\",\n href: r,\n title: o,\n level: s.level++\n }), s.linkLevel++, s.parser.tokenize(s), s.linkLevel--, s.push({\n type: \"link_close\",\n level: --s.level\n }))), s.pos = a, s.posMax = u, !0;\n}\nfunction Ar(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n return a + 2 >= o || s.src.charCodeAt(a) !== 94 || s.src.charCodeAt(a + 1) !== 91 || s.level >= s.options.maxNesting || (t = a + 2, i = Mt(s, a + 1), i < 0) ? !1 : (e || (s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.list || (s.env.footnotes.list = []), n = s.env.footnotes.list.length, s.pos = t, s.posMax = i, s.push({\n type: \"footnote_ref\",\n id: n,\n level: s.level\n }), s.linkLevel++, r = s.tokens.length, s.parser.tokenize(s), s.env.footnotes.list[n] = {\n tokens: s.tokens.splice(r)\n }, s.linkLevel--), s.pos = i + 1, s.posMax = o, !0);\n}\nfunction Mr(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n if (a + 3 > o || !s.env.footnotes || !s.env.footnotes.refs || s.src.charCodeAt(a) !== 91 || s.src.charCodeAt(a + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (i = a + 2; i < o; i++) {\n if (s.src.charCodeAt(i) === 32 || s.src.charCodeAt(i) === 10) return !1;\n if (s.src.charCodeAt(i) === 93) break;\n }\n return i === a + 2 || i >= o || (i++, t = s.src.slice(a + 2, i - 1), _typeof(s.env.footnotes.refs[\":\" + t]) > \"u\") ? !1 : (e || (s.env.footnotes.list || (s.env.footnotes.list = []), s.env.footnotes.refs[\":\" + t] < 0 ? (n = s.env.footnotes.list.length, s.env.footnotes.list[n] = {\n label: t,\n count: 0\n }, s.env.footnotes.refs[\":\" + t] = n) : n = s.env.footnotes.refs[\":\" + t], r = s.env.footnotes.list[n].count, s.env.footnotes.list[n].count++, s.push({\n type: \"footnote_ref\",\n id: n,\n subId: r,\n level: s.level\n })), s.pos = i, s.posMax = o, !0);\n}\nvar Rr = [\"coap\", \"doi\", \"javascript\", \"aaa\", \"aaas\", \"about\", \"acap\", \"cap\", \"cid\", \"crid\", \"data\", \"dav\", \"dict\", \"dns\", \"file\", \"ftp\", \"geo\", \"go\", \"gopher\", \"h323\", \"http\", \"https\", \"iax\", \"icap\", \"im\", \"imap\", \"info\", \"ipp\", \"iris\", \"iris.beep\", \"iris.xpc\", \"iris.xpcs\", \"iris.lwz\", \"ldap\", \"mailto\", \"mid\", \"msrp\", \"msrps\", \"mtqp\", \"mupdate\", \"news\", \"nfs\", \"ni\", \"nih\", \"nntp\", \"opaquelocktoken\", \"pop\", \"pres\", \"rtsp\", \"service\", \"session\", \"shttp\", \"sieve\", \"sip\", \"sips\", \"sms\", \"snmp\", \"soap.beep\", \"soap.beeps\", \"tag\", \"tel\", \"telnet\", \"tftp\", \"thismessage\", \"tn3270\", \"tip\", \"tv\", \"urn\", \"vemmi\", \"ws\", \"wss\", \"xcon\", \"xcon-userid\", \"xmlrpc.beep\", \"xmlrpc.beeps\", \"xmpp\", \"z39.50r\", \"z39.50s\", \"adiumxtra\", \"afp\", \"afs\", \"aim\", \"apt\", \"attachment\", \"aw\", \"beshare\", \"bitcoin\", \"bolo\", \"callto\", \"chrome\", \"chrome-extension\", \"com-eventbrite-attendee\", \"content\", \"cvs\", \"dlna-playsingle\", \"dlna-playcontainer\", \"dtn\", \"dvb\", \"ed2k\", \"facetime\", \"feed\", \"finger\", \"fish\", \"gg\", \"git\", \"gizmoproject\", \"gtalk\", \"hcp\", \"icon\", \"ipn\", \"irc\", \"irc6\", \"ircs\", \"itms\", \"jar\", \"jms\", \"keyparc\", \"lastfm\", \"ldaps\", \"magnet\", \"maps\", \"market\", \"message\", \"mms\", \"ms-help\", \"msnim\", \"mumble\", \"mvn\", \"notes\", \"oid\", \"palm\", \"paparazzi\", \"platform\", \"proxy\", \"psyc\", \"query\", \"res\", \"resource\", \"rmi\", \"rsync\", \"rtmp\", \"secondlife\", \"sftp\", \"sgn\", \"skype\", \"smb\", \"soldat\", \"spotify\", \"ssh\", \"steam\", \"svn\", \"teamspeak\", \"things\", \"udp\", \"unreal\", \"ut2004\", \"ventrilo\", \"view-source\", \"webcal\", \"wtai\", \"wyciwyg\", \"xfire\", \"xri\", \"ymsgr\"],\n Ir = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,\n Lr = /^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;\nfunction Pr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos;\n return s.src.charCodeAt(a) !== 60 || (t = s.src.slice(a), t.indexOf(\">\") < 0) ? !1 : (i = t.match(Lr), i ? Rr.indexOf(i[1].toLowerCase()) < 0 || (r = i[0].slice(1, -1), o = Ji(r), !s.parser.validateLink(r)) ? !1 : (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += i[0].length, !0) : (n = t.match(Ir), n ? (r = n[0].slice(1, -1), o = Ji(\"mailto:\" + r), s.parser.validateLink(o) ? (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += n[0].length, !0) : !1) : !1));\n}\nfunction xi(s, e) {\n return s = s.source, e = e || \"\", function t(i, n) {\n return i ? (n = n.source || n, s = s.replace(i, n), t) : new RegExp(s, e);\n };\n}\nvar Or = /[a-zA-Z_:][a-zA-Z0-9:._-]*/,\n Nr = /[^\"'=<>`\\x00-\\x20]+/,\n Dr = /'[^']*'/,\n Fr = /\"[^\"]*\"/,\n Br = xi(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\", Nr)(\"single_quoted\", Dr)(\"double_quoted\", Fr)(),\n jr = xi(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\", Or)(\"attr_value\", Br)(),\n Ur = xi(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\", jr)(),\n Hr = /<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,\n qr = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,\n zr = /<[?].*?[?]>/,\n Vr = /<![A-Z]+\\s+[^>]*>/,\n Gr = /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/,\n Wr = xi(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\", Ur)(\"close_tag\", Hr)(\"comment\", qr)(\"processing\", zr)(\"declaration\", Vr)(\"cdata\", Gr)();\nfunction $r(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction Kr(s, e) {\n var t,\n i,\n n,\n r = s.pos;\n return !s.options.html || (n = s.posMax, s.src.charCodeAt(r) !== 60 || r + 2 >= n) || (t = s.src.charCodeAt(r + 1), t !== 33 && t !== 63 && t !== 47 && !$r(t)) || (i = s.src.slice(r).match(Wr), !i) ? !1 : (e || s.push({\n type: \"htmltag\",\n content: s.src.slice(r, r + i[0].length),\n level: s.level\n }), s.pos += i[0].length, !0);\n}\nvar Jr = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,\n Xr = /^&([a-z][a-z0-9]{1,31});/i;\nfunction Zr(s, e) {\n var t,\n i,\n n,\n r = s.pos,\n o = s.posMax;\n if (s.src.charCodeAt(r) !== 38) return !1;\n if (r + 1 < o) {\n if (t = s.src.charCodeAt(r + 1), t === 35) {\n if (n = s.src.slice(r).match(Jr), n) return e || (i = n[1][0].toLowerCase() === \"x\" ? parseInt(n[1].slice(1), 16) : parseInt(n[1], 10), s.pending += ts(i) ? Ki(i) : Ki(65533)), s.pos += n[0].length, !0;\n } else if (n = s.src.slice(r).match(Xr), n) {\n var a = Qn(n[1]);\n if (n[1] !== a) return e || (s.pending += a), s.pos += n[0].length, !0;\n }\n }\n return e || (s.pending += \"&\"), s.pos++, !0;\n}\nvar Ui = [[\"text\", mr], [\"newline\", gr], [\"escape\", br], [\"backticks\", vr], [\"del\", yr], [\"ins\", Er], [\"mark\", xr], [\"emphasis\", _r], [\"sub\", wr], [\"sup\", Cr], [\"links\", kr], [\"footnote_inline\", Ar], [\"footnote_ref\", Mr], [\"autolink\", Pr], [\"htmltag\", Kr], [\"entity\", Zr]];\nfunction _i() {\n this.ruler = new ie();\n for (var s = 0; s < Ui.length; s++) this.ruler.push(Ui[s][0], Ui[s][1]);\n this.validateLink = Yr;\n}\n_i.prototype.skipToken = function (s) {\n var e = this.ruler.getRules(\"\"),\n t = e.length,\n i = s.pos,\n n,\n r;\n if ((r = s.cacheGet(i)) > 0) {\n s.pos = r;\n return;\n }\n for (n = 0; n < t; n++) if (e[n](s, !0)) {\n s.cacheSet(i, s.pos);\n return;\n }\n s.pos++, s.cacheSet(i, s.pos);\n};\n_i.prototype.tokenize = function (s) {\n for (var e = this.ruler.getRules(\"\"), t = e.length, i = s.posMax, n, r; s.pos < i;) {\n for (r = 0; r < t && (n = e[r](s, !1), !n); r++);\n if (n) {\n if (s.pos >= i) break;\n continue;\n }\n s.pending += s.src[s.pos++];\n }\n s.pending && s.pushPending();\n};\n_i.prototype.parse = function (s, e, t, i) {\n var n = new Xe(s, this, e, t, i);\n this.tokenize(n);\n};\nfunction Yr(s) {\n var e = [\"vbscript\", \"javascript\", \"file\", \"data\"],\n t = s.trim().toLowerCase();\n return t = $e(t), !(t.indexOf(\":\") !== -1 && e.indexOf(t.split(\":\")[0]) !== -1);\n}\nvar Qr = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"replacements\", \"smartquotes\", \"references\", \"abbr2\", \"footnote_tail\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"footnote\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\", \"table\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"del\", \"emphasis\", \"entity\", \"escape\", \"footnote_ref\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n eo = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n // Don't restrict core/block/inline rules\n core: {},\n block: {},\n inline: {}\n }\n },\n to = {\n options: {\n html: !0,\n // Enable HTML tags in source\n xhtmlOut: !0,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"abbr2\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"emphasis\", \"entity\", \"escape\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n io = {\n \"default\": Qr,\n full: eo,\n commonmark: to\n };\nfunction ls(s, e, t) {\n this.src = e, this.env = t, this.options = s.options, this.tokens = [], this.inlineMode = !1, this.inline = s.inline, this.block = s.block, this.renderer = s.renderer, this.typographer = s.typographer;\n}\nfunction Ce(s, e) {\n typeof s != \"string\" && (e = s, s = \"default\"), e && e.linkify != null && console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"), this.inline = new _i(), this.block = new hn(), this.core = new os(), this.renderer = new dn(), this.ruler = new ie(), this.options = {}, this.configure(io[s]), this.set(e || {});\n}\nCe.prototype.set = function (s) {\n es(this.options, s);\n};\nCe.prototype.configure = function (s) {\n var e = this;\n if (!s) throw new Error(\"Wrong `remarkable` preset, check name/content\");\n s.options && e.set(s.options), s.components && Object.keys(s.components).forEach(function (t) {\n s.components[t].rules && e[t].ruler.enable(s.components[t].rules, !0);\n });\n};\nCe.prototype.use = function (s, e) {\n return s(this, e), this;\n};\nCe.prototype.parse = function (s, e) {\n var t = new ls(this, s, e);\n return this.core.process(t), t.tokens;\n};\nCe.prototype.render = function (s, e) {\n return e = e || {}, this.renderer.render(this.parse(s, e), this.options, e);\n};\nCe.prototype.parseInline = function (s, e) {\n var t = new ls(this, s, e);\n return t.inlineMode = !0, this.core.process(t), t.tokens;\n};\nCe.prototype.renderInline = function (s, e) {\n return e = e || {}, this.renderer.render(this.parseInline(s, e), this.options, e);\n};\nvar Rt = /*#__PURE__*/function () {\n function Rt() {\n _classCallCheck(this, Rt);\n }\n return _createClass(Rt, null, [{\n key: \"instantiate\",\n value: function instantiate() {\n var e = window.hljs;\n return e ? new Ce({\n highlight: function highlight(t, i) {\n if (i && e.getLanguage(i)) try {\n return e.highlight(i, t).value;\n } catch (_unused3) {\n console.error(\"failed to setup the highlight dependency\");\n }\n try {\n return e.highlightAuto(t).value;\n } catch (_unused4) {\n console.error(\"failed to automatically highlight messages\");\n }\n return \"\";\n },\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !0,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"_blank\",\n // set target to open in a new tab\n typographer: !0\n // Enable smartypants and other sweet transforms\n }) : new Ce({\n breaks: !0,\n linkTarget: \"_blank\"\n // set target to open in a new tab\n });\n }\n }, {\n key: \"createNew\",\n value: function createNew() {\n var e = Rt.instantiate();\n return e.inline.validateLink = function () {\n return !0;\n }, e;\n }\n }]);\n}();\nvar Ee = /*#__PURE__*/function () {\n function Ee() {\n _classCallCheck(this, Ee);\n }\n return _createClass(Ee, null, [{\n key: \"addMessage\",\n value: function addMessage(e, t, i, n) {\n var r;\n e.elementRef.appendChild(t.outerContainer), e.applyCustomStyles(t, n, !0, (r = e.messageStyles) == null ? void 0 : r[i]), e.elementRef.scrollTop = e.elementRef.scrollHeight;\n }\n }, {\n key: \"wrapInLink\",\n value: function wrapInLink(e, t, i) {\n var n = document.createElement(\"a\");\n return n.href = t, n.download = i || Ee.DEFAULT_FILE_NAME, n.target = \"_blank\", n.appendChild(e), n;\n }\n }, {\n key: \"isNonLinkableDataUrl\",\n value: function isNonLinkableDataUrl(e, t) {\n return !t.startsWith(\"data\") || e === \"image\" ? !1 : e === \"any\" && t.startsWith(\"data:text/javascript\") || !t.startsWith(\"data:image\") && !t.startsWith(\"data:application\");\n }\n }, {\n key: \"processContent\",\n value: function processContent(e, t, i, n) {\n return !i || Ee.isNonLinkableDataUrl(e, i) ? t : Ee.wrapInLink(t, i, n);\n }\n }, {\n key: \"waitToLoadThenScroll\",\n value: function waitToLoadThenScroll(e) {\n setTimeout(function () {\n e.scrollTop = e.scrollHeight;\n }, 60);\n }\n }, {\n key: \"scrollDownOnImageLoad\",\n value: function scrollDownOnImageLoad(e, t) {\n if (e.startsWith(\"data\")) Ee.waitToLoadThenScroll(t);else try {\n fetch(e, {\n mode: \"no-cors\"\n })[\"catch\"](function () {})[\"finally\"](function () {\n Ee.waitToLoadThenScroll(t);\n });\n } catch (_unused5) {\n t.scrollTop = t.scrollHeight;\n }\n }\n // The strategy is to emit the actual file reference in the `onMessage` event for the user to inspect it\n // But it is not actually used by anything in the chat, hence it is removed when adding a message\n // after the body has been stringified and parsed - the file reference will disappear, hence this readds it\n }, {\n key: \"reAddFileRefToObject\",\n value: function reAddFileRefToObject(e, t) {\n var i;\n (i = e.files) == null || i.forEach(function (n, r) {\n var o;\n n.ref && (o = t.message.files) != null && o[r] && (t.message.files[r].ref = n.ref);\n });\n }\n // the chat does not use the actual file\n }, {\n key: \"removeFileRef\",\n value: function removeFileRef(e) {\n var t = _objectSpread({}, e);\n return delete t.ref, t;\n }\n }, {\n key: \"isAudioFile\",\n value: function isAudioFile(e) {\n var t = /\\.(mp3|ogg|wav|aac|webm|4a)$/i,\n i = e.type,\n n = e.src;\n return i === \"audio\" || (n == null ? void 0 : n.startsWith(\"data:audio\")) || n && t.test(n);\n }\n }, {\n key: \"isImageFile\",\n value: function isImageFile(e) {\n var t = e.type,\n i = e.src;\n return t === \"image\" || (i == null ? void 0 : i.startsWith(\"data:image\")) || i && Ee.isImageFileExtension(i);\n }\n }, {\n key: \"isImageFileExtension\",\n value: function isImageFileExtension(e) {\n return /\\.(jpg|jpeg|png|gif|bmp)$/i.test(e);\n }\n }]);\n}();\nEe.DEFAULT_FILE_NAME = \"file\";\nvar F = Ee;\nvar ei = /*#__PURE__*/function () {\n function ei() {\n _classCallCheck(this, ei);\n }\n return _createClass(ei, null, [{\n key: \"onMessage\",\n value: function onMessage(e, t, i) {\n var r;\n var n = JSON.parse(JSON.stringify({\n message: t,\n isHistory: i,\n isInitial: i\n }));\n F.reAddFileRefToObject(t, n), (r = e.onMessage) == null || r.call(e, n), e.dispatchEvent(new CustomEvent(\"message\", {\n detail: n\n })), ae.fireOnNewMessage(e, n);\n }\n }, {\n key: \"onClearMessages\",\n value: function onClearMessages(e) {\n var t;\n (t = e.onClearMessages) == null || t.call(e), e.dispatchEvent(new CustomEvent(\"clear-messages\"));\n }\n }, {\n key: \"onRender\",\n value: function onRender(e) {\n var t;\n (t = e.onComponentRender) == null || t.call(e, e), e.dispatchEvent(new CustomEvent(\"render\", {\n detail: e\n }));\n }\n }, {\n key: \"onError\",\n value: function onError(e, t) {\n var i;\n (i = e.onError) == null || i.call(e, t), e.dispatchEvent(new CustomEvent(\"error\", {\n detail: t\n }));\n }\n }]);\n}();\nvar H = /*#__PURE__*/function () {\n function H() {\n _classCallCheck(this, H);\n }\n return _createClass(H, null, [{\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n if (i && (Object.assign(e.outerContainer.style, i.outerContainer), Object.assign(e.innerContainer.style, i.innerContainer), Object.assign(e.bubbleElement.style, i.bubble), t)) {\n var n = e.bubbleElement.children[0],\n r = n.tagName.toLocaleLowerCase() !== \"a\" ? n : n.children[0];\n Object.assign(r.style, i.media);\n }\n }\n }, {\n key: \"applySideStyles\",\n value: function applySideStyles(e, t, i, n) {\n n && (H.applyCustomStylesToElements(e, i, n.shared), t === b.USER_ROLE ? H.applyCustomStylesToElements(e, i, n.user) : (H.applyCustomStylesToElements(e, i, n.ai), H.applyCustomStylesToElements(e, i, n[t])));\n }\n }, {\n key: \"isElementsStyles\",\n value: function isElementsStyles(e) {\n return !!(e.outerContainer || e.innerContainer || e.bubble || e.media);\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n, r) {\n var o;\n r && e[\"default\"] !== r ? H.isElementsStyles(r) ? (H.applyCustomStylesToElements(t, n, (o = e[\"default\"]) == null ? void 0 : o.shared), H.applyCustomStylesToElements(t, n, r)) : (H.applySideStyles(t, i, n, e[\"default\"]), H.applySideStyles(t, i, n, r)) : H.applySideStyles(t, i, n, e[\"default\"]);\n }\n // prettier-ignore\n }, {\n key: \"extractParticularSharedStyles\",\n value: function extractParticularSharedStyles(e, t) {\n if (!(t != null && t.shared)) return;\n var i = t.shared,\n n = {\n outerContainer: {},\n innerContainer: {},\n bubble: {},\n media: {}\n };\n return e.forEach(function (r) {\n var o, a, l, c;\n n.outerContainer[r] = ((o = i.outerContainer) == null ? void 0 : o[r]) || \"\", n.innerContainer[r] = ((a = i.innerContainer) == null ? void 0 : a[r]) || \"\", n.bubble[r] = ((l = i.bubble) == null ? void 0 : l[r]) || \"\", n.media[r] = ((c = i.media) == null ? void 0 : c[r]) || \"\";\n }), n;\n }\n }]);\n}();\nvar lt = /*#__PURE__*/function () {\n function lt(e) {\n var _this3 = this;\n _classCallCheck(this, lt);\n this.messageElementRefs = [], this.messages = [], this.htmlClassUtilities = {}, this.textElementsToText = [], this.elementRef = lt.createContainerElement(), this.messageStyles = e.messageStyles, this._remarkable = Rt.createNew(), this._avatars = e.avatars, this._names = e.names, this._onMessage = ei.onMessage.bind(this, e), e.htmlClassUtilities && (this.htmlClassUtilities = e.htmlClassUtilities), setTimeout(function () {\n _this3.submitUserMessage = e.submitUserMessage;\n });\n }\n return _createClass(lt, [{\n key: \"addNewTextMessage\",\n value: function addNewTextMessage(e, t, i) {\n if (i != null && i.status) {\n var r = this.overwriteText(t, e, this.messageElementRefs);\n if (r) return r;\n i.status = !1;\n }\n var n = this.createAndAppendNewMessageElement(e, t);\n return n.bubbleElement.classList.add(\"text-message\"), this.applyCustomStyles(n, t, !1), b.fillEmptyMessageElement(n.bubbleElement, e), this.textElementsToText.push([n, e]), n;\n }\n }, {\n key: \"overwriteText\",\n value: function overwriteText(e, t, i) {\n var n = b.overwriteMessage(this.messages, i, t, e, \"text\", \"text-message\");\n if (n) {\n this.renderText(n.bubbleElement, t);\n var r = b.getLastTextToElement(this.textElementsToText, n);\n r && (r[1] = t);\n }\n return n;\n }\n }, {\n key: \"createAndAppendNewMessageElement\",\n value: function createAndAppendNewMessageElement(e, t) {\n var _this4 = this;\n var i = this.createNewMessageElement(e, t);\n return this.elementRef.appendChild(i.outerContainer), setTimeout(function () {\n return q.scrollToBottom(_this4.elementRef);\n }), i;\n }\n }, {\n key: \"createNewMessageElement\",\n value: function createNewMessageElement(e, t) {\n var n;\n (n = this._introPanel) == null || n.hide();\n var i = this.messageElementRefs[this.messageElementRefs.length - 1];\n return lt.isTemporaryElement(i) && (i.outerContainer.remove(), this.messageElementRefs.pop()), this.createMessageElements(e, t);\n }\n }, {\n key: \"createMessageElements\",\n value: function createMessageElements(e, t) {\n var i = lt.createBaseElements(),\n n = i.outerContainer,\n r = i.innerContainer,\n o = i.bubbleElement;\n return n.appendChild(r), this.addInnerContainerElements(o, e, t), this.messageElementRefs.push(i), i;\n }\n }, {\n key: \"addInnerContainerElements\",\n value:\n // prettier-ignore\n function addInnerContainerElements(e, t, i) {\n var n;\n return ((n = this.messages[this.messages.length - 1]) == null ? void 0 : n.role) === i && !this.isLastMessageError() && b.hideRoleElements(this.messageElementRefs, !!this._avatars, !!this._names), e.classList.add(\"message-bubble\", b.getRoleClass(i), i === b.USER_ROLE ? \"user-message-text\" : \"ai-message-text\"), this.renderText(e, t), b.addRoleElements(e, i, this._avatars, this._names), {\n bubbleElement: e\n };\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n e && this.messageStyles && H.applyCustomStyles(this.messageStyles, e, t, i, n);\n }\n }, {\n key: \"removeLastMessage\",\n value: function removeLastMessage() {\n this.messageElementRefs[this.messageElementRefs.length - 1].outerContainer.remove(), this.messageElementRefs.pop();\n }\n }, {\n key: \"isLastMessageError\",\n value: function isLastMessageError() {\n var e;\n return (e = b.getLastMessageBubbleElement(this.elementRef)) == null ? void 0 : e.classList.contains(\"error-message-text\");\n }\n }, {\n key: \"sendClientUpdate\",\n value: function sendClientUpdate(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i;\n (i = this._onMessage) == null || i.call(this, e, t);\n }\n }, {\n key: \"renderText\",\n value: function renderText(e, t) {\n e.innerHTML = this._remarkable.render(t), e.innerText.trim().length === 0 && (e.innerText = t);\n }\n // this is mostly used for enabling highlight.js to highlight code if it downloads later\n }, {\n key: \"refreshTextMessages\",\n value: function refreshTextMessages() {\n var _this5 = this;\n this._remarkable = Rt.createNew(), this.textElementsToText.forEach(function (e) {\n _this5.renderText(e[0].bubbleElement, e[1]);\n });\n }\n }], [{\n key: \"createContainerElement\",\n value: function createContainerElement() {\n var e = document.createElement(\"div\");\n return e.id = \"messages\", e;\n }\n }, {\n key: \"isTemporaryElement\",\n value: function isTemporaryElement(e) {\n return (e == null ? void 0 : e.bubbleElement.classList.contains(\"loading-message-text\")) || Pe.isElementTemporary(e);\n }\n }, {\n key: \"createBaseElements\",\n value: function createBaseElements() {\n var e = document.createElement(\"div\"),\n t = document.createElement(\"div\");\n t.classList.add(\"inner-message-container\"), e.appendChild(t), e.classList.add(\"outer-message-container\");\n var i = document.createElement(\"div\");\n return i.classList.add(\"message-bubble\"), t.appendChild(i), {\n outerContainer: e,\n innerContainer: t,\n bubbleElement: i\n };\n }\n }, {\n key: \"createMessageContent\",\n value: function createMessageContent(e) {\n var t = e.text,\n i = e.files,\n n = e.html,\n r = e._sessionId,\n o = e.role,\n a = {\n role: o || b.AI_ROLE\n };\n return t && (a.text = t), i && (a.files = i), n && (a.html = n), !t && !i && !n && (a.text = \"\"), r && (a._sessionId = r), a;\n }\n }]);\n}();\nvar Ie = /*#__PURE__*/function () {\n // used for extracting at end and for isStreaming\n function Ie(e) {\n _classCallCheck(this, Ie);\n this._fileAdded = !1, this._streamedContent = \"\", this._streamType = \"\", this._hasStreamEnded = !1, this._messages = e;\n }\n return _createClass(Ie, [{\n key: \"upsertStreamedMessage\",\n value: function upsertStreamedMessage(e) {\n var r;\n if (this._hasStreamEnded) return;\n if ((e == null ? void 0 : e.text) === void 0 && (e == null ? void 0 : e.html) === void 0) return console.error(A.INVALID_STREAM_EVENT);\n var t = (e == null ? void 0 : e.text) || (e == null ? void 0 : e.html) || \"\",\n i = q.isScrollbarAtBottomOfElement(this._messages.elementRef),\n n = (e == null ? void 0 : e.text) !== void 0 ? \"text\" : \"html\";\n if (!this._elements && this._streamedContent === \"\") this.setInitialState(n, t, e == null ? void 0 : e.role);else {\n if (this._streamType !== n) return console.error(A.INVALID_STREAM_EVENT_MIX);\n this.updateBasedOnType(t, n, (r = this._elements) == null ? void 0 : r.bubbleElement, e == null ? void 0 : e.overwrite);\n }\n i && q.scrollToBottom(this._messages.elementRef);\n }\n }, {\n key: \"setInitialState\",\n value: function setInitialState(e, t, i) {\n var _i8;\n this._streamType = e, (_i8 = i) !== null && _i8 !== void 0 ? _i8 : i = b.AI_ROLE, this._elements = e === \"text\" ? this._messages.addNewTextMessage(t, i) : ht.add(this._messages, t, i, this._messages.messageElementRefs), this._elements.bubbleElement.classList.add(Ie.MESSAGE_CLASS), this._streamedContent = t, this._activeMessageRole = i, this._message = _defineProperty({\n role: this._activeMessageRole\n }, e, this._streamedContent), this._messages.messages.push(this._message);\n }\n }, {\n key: \"updateBasedOnType\",\n value: function updateBasedOnType(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n b.unfillEmptyMessageElement(i, e), (t === \"text\" ? this.updateText : this.updateHTML).bind(this)(e, i, n);\n }\n }, {\n key: \"updateText\",\n value: function updateText(e, t, i) {\n this._streamedContent = i ? e : this._streamedContent + e, this._messages.textElementsToText[this._messages.textElementsToText.length - 1][1] = this._streamedContent, this._messages.renderText(t, this._streamedContent);\n }\n }, {\n key: \"updateHTML\",\n value: function updateHTML(e, t, i) {\n if (i) this._streamedContent = e, t.innerHTML = e;else {\n var n = document.createElement(\"span\");\n n.innerHTML = e, t.appendChild(n), this._streamedContent = Ie.HTML_CONTENT_PLACEHOLDER;\n }\n }\n }, {\n key: \"finaliseStreamedMessage\",\n value: function finaliseStreamedMessage() {\n var t, i;\n var e = this._messages.textElementsToText;\n if (!this._endStreamAfterOperation && !(this._fileAdded && !this._elements)) {\n if (!this._elements) throw Error(A.NO_VALID_STREAM_EVENTS_SENT);\n (t = this._elements.bubbleElement) != null && t.classList.contains(Ie.MESSAGE_CLASS) && (this._streamType === \"text\" ? (e[e.length - 1][1] = this._streamedContent, this._message && (this._message.text = this._streamedContent), this._messages.textToSpeech && at.speak(this._streamedContent, this._messages.textToSpeech)) : this._streamType === \"html\" && (this._streamedContent === Ie.HTML_CONTENT_PLACEHOLDER && (this._streamedContent = ((i = this._elements.bubbleElement) == null ? void 0 : i.innerHTML) || \"\"), this._elements && ee.apply(this._messages, this._elements.outerContainer), this._message && (this._message.html = this._streamedContent)), this._message && this._messages.sendClientUpdate(lt.createMessageContent(this._message), !1), this._hasStreamEnded = !0);\n }\n }\n }, {\n key: \"markFileAdded\",\n value: function markFileAdded() {\n this._fileAdded = !0;\n }\n }, {\n key: \"newMessage\",\n value: function newMessage() {\n this.finaliseStreamedMessage(), this._elements = void 0, this._streamedContent = \"\", this._fileAdded = !1, this._hasStreamEnded = !1, this._activeMessageRole = void 0;\n }\n // prettier-ignore\n }, {\n key: \"endStreamAfterFileDownloaded\",\n value: function () {\n var _endStreamAfterFileDownloaded = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, t) {\n var r, _yield$t, i, n;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n this._endStreamAfterOperation = !0;\n _context.next = 3;\n return t();\n case 3:\n _yield$t = _context.sent;\n i = _yield$t.text;\n n = _yield$t.files;\n i && this.updateBasedOnType(i, \"text\", (r = this._elements) == null ? void 0 : r.bubbleElement, !0), this._endStreamAfterOperation = !1, this.finaliseStreamedMessage(), n && e.addNewMessage({\n files: n\n });\n case 7:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function endStreamAfterFileDownloaded(_x, _x2) {\n return _endStreamAfterFileDownloaded.apply(this, arguments);\n }\n return endStreamAfterFileDownloaded;\n }()\n }]);\n}();\nIe.MESSAGE_CLASS = \"streamed-message\", Ie.HTML_CONTENT_PLACEHOLDER = \"htmlplaceholder\";\nvar me = Ie;\nvar He = /*#__PURE__*/function () {\n function He() {\n _classCallCheck(this, He);\n }\n return _createClass(He, null, [{\n key: \"tempRemoveContentHeader\",\n value: // need to pass stringifyBody boolean separately as binding is throwing an error for some reason\n // prettier-ignore\n function () {\n var _tempRemoveContentHeader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (e != null && e.headers) {\n _context2.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = e.headers[He.CONTENT_TYPE];\n delete e.headers[He.CONTENT_TYPE];\n _context2.prev = 4;\n _context2.next = 7;\n return t(i);\n case 7:\n r = _context2.sent;\n _context2.next = 13;\n break;\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](4);\n throw e.headers[He.CONTENT_TYPE] = n, _context2.t0;\n case 13:\n return _context2.abrupt(\"return\", (e.headers[He.CONTENT_TYPE] = n, r));\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[4, 10]]);\n }));\n function tempRemoveContentHeader(_x7, _x8, _x9) {\n return _tempRemoveContentHeader.apply(this, arguments);\n }\n return tempRemoveContentHeader;\n }()\n }, {\n key: \"displayError\",\n value: function displayError(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"Service error, please try again.\";\n if (console.error(t), _typeof(t) == \"object\") return t instanceof Error ? e.addNewErrorMessage(\"service\", t.message) : Array.isArray(t) || typeof t.error == \"string\" ? e.addNewErrorMessage(\"service\", t) : Object.keys(t).length === 0 ? e.addNewErrorMessage(\"service\", i) : e.addNewErrorMessage(\"service\", JSON.stringify(t));\n e.addNewErrorMessage(\"service\", t);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x3, _x4, _x5, _x6) {\n return _fetch.apply(this, arguments);\n }\n fetch.toString = function () {\n return _fetch.toString();\n };\n return fetch;\n }(function (e, t, i, n) {\n var o, a;\n var r = {\n method: ((o = e.connectSettings) == null ? void 0 : o.method) || \"POST\",\n headers: t\n };\n return r.method !== \"GET\" && (r.body = i ? JSON.stringify(n) : n), e.connectSettings.credentials && (r.credentials = e.connectSettings.credentials), fetch(((a = e.connectSettings) == null ? void 0 : a.url) || e.url || \"\", r);\n })\n }, {\n key: \"processResponseByType\",\n value: function processResponseByType(e) {\n var t = e.headers.get(\"content-type\");\n return t != null && t.includes(\"application/json\") ? e.json() : t != null && t.includes(\"text/plain\") || !t ? e : e.blob();\n }\n }, {\n key: \"processRequestInterceptor\",\n value: function () {\n var _processRequestInterceptor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(e, t) {\n var o, i, n, r;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return (o = e.requestInterceptor) == null ? void 0 : o.call(e, t);\n case 2:\n _context3.t0 = _context3.sent;\n if (_context3.t0) {\n _context3.next = 5;\n break;\n }\n _context3.t0 = t;\n case 5:\n i = _context3.t0;\n n = i;\n r = i;\n return _context3.abrupt(\"return\", {\n body: n.body,\n headers: n.headers,\n error: r.error\n });\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n function processRequestInterceptor(_x10, _x11) {\n return _processRequestInterceptor.apply(this, arguments);\n }\n return processRequestInterceptor;\n }()\n }, {\n key: \"validateResponseFormat\",\n value: function validateResponseFormat(e) {\n return e && _typeof(e) == \"object\" && (typeof e.error == \"string\" || typeof e.text == \"string\" || typeof e.html == \"string\" || Array.isArray(e.files));\n }\n }, {\n key: \"onInterceptorError\",\n value: function onInterceptorError(e, t, i) {\n e.addNewErrorMessage(\"service\", t), i == null || i();\n }\n }]);\n}();\nHe.CONTENT_TYPE = \"Content-Type\";\nvar v = He;\nfunction no(_x12, _x13) {\n return _no.apply(this, arguments);\n}\nfunction _no() {\n _no = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee122(s, e) {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee122$(_context122) {\n while (1) switch (_context122.prev = _context122.next) {\n case 0:\n t = s.getReader();\n case 1:\n _context122.next = 3;\n return t.read();\n case 3:\n if ((i = _context122.sent).done) {\n _context122.next = 7;\n break;\n }\n e(i.value);\n case 5:\n _context122.next = 1;\n break;\n case 7:\n case \"end\":\n return _context122.stop();\n }\n }, _callee122);\n }));\n return _no.apply(this, arguments);\n}\nfunction so(s) {\n var e,\n t,\n i,\n n = !1;\n return function (o) {\n e === void 0 ? (e = o, t = 0, i = -1) : e = oo(e, o);\n var a = e.length;\n var l = 0;\n for (; t < a;) {\n n && (e[t] === 10 && (l = ++t), n = !1);\n var c = -1;\n for (; t < a && c === -1; ++t) switch (e[t]) {\n case 58:\n i === -1 && (i = t - l);\n break;\n case 13:\n n = !0;\n case 10:\n c = t;\n break;\n }\n if (c === -1) break;\n s(e.subarray(l, c), i), l = t, i = -1;\n }\n l === a ? e = void 0 : l !== 0 && (e = e.subarray(l), t -= l);\n };\n}\nfunction ro(s, e, t) {\n var i = Pn();\n var n = new TextDecoder();\n return function (o, a) {\n if (o.length === 0) t == null || t(i), i = Pn();else if (a > 0) {\n var l = n.decode(o.subarray(0, a)),\n c = a + (o[a + 1] === 32 ? 2 : 1),\n d = n.decode(o.subarray(c));\n switch (l) {\n case \"data\":\n i.data = i.data ? i.data + \"\\n\" + d : d;\n break;\n case \"event\":\n i.event = d;\n break;\n case \"id\":\n s(i.id = d);\n break;\n case \"retry\":\n var h = parseInt(d, 10);\n isNaN(h) || e(i.retry = h);\n break;\n }\n }\n };\n}\nfunction oo(s, e) {\n var t = new Uint8Array(s.length + e.length);\n return t.set(s), t.set(e, s.length), t;\n}\nfunction Pn() {\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: void 0\n };\n}\nvar ao = function ao(s, e) {\n var t = {};\n for (var i in s) Object.prototype.hasOwnProperty.call(s, i) && e.indexOf(i) < 0 && (t[i] = s[i]);\n if (s != null && typeof Object.getOwnPropertySymbols == \"function\") for (var n = 0, i = Object.getOwnPropertySymbols(s); n < i.length; n++) e.indexOf(i[n]) < 0 && Object.prototype.propertyIsEnumerable.call(s, i[n]) && (t[i[n]] = s[i[n]]);\n return t;\n};\nvar Xi = \"text/event-stream\",\n lo = 1e3,\n On = \"last-event-id\";\nfunction co(s, e) {\n var t = e.signal,\n i = e.headers,\n n = e.onopen,\n r = e.onmessage,\n o = e.onclose,\n a = e.onerror,\n l = e.openWhenHidden,\n c = e.fetch,\n d = ao(e, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\n return new Promise(function (h, u) {\n var f = Object.assign({}, i);\n f.accept || (f.accept = Xi);\n var m;\n function p() {\n m.abort(), document.hidden || R();\n }\n l || document.addEventListener(\"visibilitychange\", p);\n var y = lo,\n E = 0;\n function j() {\n document.removeEventListener(\"visibilitychange\", p), window.clearTimeout(E), m.abort();\n }\n t == null || t.addEventListener(\"abort\", function () {\n j(), h();\n });\n var V = c !== null && c !== void 0 ? c : window.fetch,\n Ae = n !== null && n !== void 0 ? n : ho;\n function R() {\n return _R.apply(this, arguments);\n }\n function _R() {\n _R = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n var X, Z, D;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n m = new AbortController();\n _context4.prev = 1;\n _context4.next = 4;\n return V(s, Object.assign(Object.assign({}, d), {\n headers: f,\n signal: m.signal\n }));\n case 4:\n Z = _context4.sent;\n _context4.next = 7;\n return Ae(Z);\n case 7:\n _context4.next = 9;\n return no(Z.body, so(ro(function (D) {\n D ? f[On] = D : delete f[On];\n }, function (D) {\n y = D;\n }, r)));\n case 9:\n o == null || o();\n j();\n h();\n _context4.next = 17;\n break;\n case 14:\n _context4.prev = 14;\n _context4.t0 = _context4[\"catch\"](1);\n if (!m.signal.aborted) try {\n D = (X = a == null ? void 0 : a(_context4.t0)) !== null && X !== void 0 ? X : y;\n window.clearTimeout(E), E = window.setTimeout(R, D);\n } catch (D) {\n j(), u(D);\n }\n case 17:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, null, [[1, 14]]);\n }));\n return _R.apply(this, arguments);\n }\n R();\n });\n}\nfunction ho(s) {\n var e = s.headers.get(\"content-type\");\n if (!(e != null && e.startsWith(Xi))) throw new Error(\"Expected content-type to be \".concat(Xi, \", Actual: \").concat(e));\n}\nvar C = /*#__PURE__*/function () {\n function C() {\n _classCallCheck(this, C);\n }\n return _createClass(C, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(e, t, i) {\n var n,\n r,\n p,\n y,\n E,\n j,\n V,\n Ae,\n o,\n _yield$v$processReque,\n a,\n l,\n c,\n _e$streamHandlers,\n d,\n h,\n u,\n f,\n m,\n _args7 = arguments;\n return _regeneratorRuntime().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n n = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : !0;\n r = _args7.length > 4 && _args7[4] !== undefined ? _args7[4] : !1;\n o = {\n body: t,\n headers: (p = e.connectSettings) == null ? void 0 : p.headers\n };\n _context7.next = 5;\n return v.processRequestInterceptor(e.deepChat, o);\n case 5:\n _yield$v$processReque = _context7.sent;\n a = _yield$v$processReque.body;\n l = _yield$v$processReque.headers;\n c = _yield$v$processReque.error;\n _e$streamHandlers = e.streamHandlers;\n d = _e$streamHandlers.onOpen;\n h = _e$streamHandlers.onClose;\n u = _e$streamHandlers.abortStream;\n if (!c) {\n _context7.next = 15;\n break;\n }\n return _context7.abrupt(\"return\", v.onInterceptorError(i, c, h));\n case 15:\n if (!((y = e.connectSettings) != null && y.handler)) {\n _context7.next = 17;\n break;\n }\n return _context7.abrupt(\"return\", we.stream(e, a, i));\n case 17:\n if (!(((E = e.connectSettings) == null ? void 0 : E.url) === ge.URL)) {\n _context7.next = 19;\n break;\n }\n return _context7.abrupt(\"return\", ge.requestStream(i, e.streamHandlers));\n case 19:\n f = new me(i), m = v.fetch.bind(this, e, l, n);\n return _context7.abrupt(\"return\", (co(((j = e.connectSettings) == null ? void 0 : j.url) || e.url || \"\", {\n method: ((V = e.connectSettings) == null ? void 0 : V.method) || \"POST\",\n headers: l,\n credentials: (Ae = e.connectSettings) == null ? void 0 : Ae.credentials,\n body: n ? JSON.stringify(a) : a,\n openWhenHidden: !0,\n // keep stream open when browser tab not open\n onopen: function onopen(R) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (!R.ok) {\n _context5.next = 2;\n break;\n }\n return _context5.abrupt(\"return\", d());\n case 2:\n _context5.next = 4;\n return v.processResponseByType(R);\n case 4:\n throw _context5.sent;\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n },\n onmessage: function onmessage(R) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {\n var X, Z, D, Ne, gt;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n if (!(JSON.stringify(R.data) !== JSON.stringify(\"[DONE]\"))) {\n _context6.next = 9;\n break;\n }\n try {\n Ne = JSON.parse(R.data);\n } catch (_unused6) {\n Ne = {};\n }\n _context6.next = 4;\n return (Z = (X = e.deepChat).responseInterceptor) == null ? void 0 : Z.call(X, Ne);\n case 4:\n _context6.t0 = _context6.sent;\n if (_context6.t0) {\n _context6.next = 7;\n break;\n }\n _context6.t0 = Ne;\n case 7:\n gt = _context6.t0;\n (D = e.extractResultData) == null || D.call(e, gt, m, a).then(function (De) {\n e.asyncCallInProgress && De && De.text !== \"\" ? (C.simulate(i, e.streamHandlers, De), h(), e.asyncCallInProgress = !1) : C.upsertWFiles(i, f.upsertStreamedMessage.bind(f), f, De);\n })[\"catch\"](function (De) {\n return v.displayError(i, De);\n });\n case 9:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }))();\n },\n onerror: function onerror(R) {\n throw h(), R;\n },\n onclose: function onclose() {\n if (!e.asyncCallInProgress) try {\n f.finaliseStreamedMessage(), h();\n } catch (R) {\n if (!r) throw R;\n }\n },\n signal: u.signal\n })[\"catch\"](function (R) {\n var X;\n i.isLastMessageError() || (X = e.extractResultData) == null || X.call(e, R).then(function () {\n v.displayError(i, R);\n })[\"catch\"](function (Z) {\n v.displayError(i, Z);\n });\n }), f));\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7, this);\n }));\n function request(_x14, _x15, _x16) {\n return _request.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"simulate\",\n value: function simulate(e, t, i) {\n var n = t;\n if (i.files && e.addNewMessage(_objectSpread({\n sendUpdate: !1,\n ignoreText: !0\n }, i), !1), i.text) {\n t.onOpen();\n var r = i.text.split(\"\");\n C.populateMessages(r, new me(e), n, \"text\");\n }\n if (i.html) {\n t.onOpen();\n var _r2 = ee.splitHTML(i.html);\n C.populateMessages(_r2, new me(e), n, \"html\");\n }\n }\n // prettier-ignore\n }, {\n key: \"populateMessages\",\n value: function populateMessages(e, t, i, n) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var o = e[r];\n if (o) {\n t.upsertStreamedMessage(_defineProperty({}, n, o));\n var a = setTimeout(function () {\n C.populateMessages(e, t, i, n, r + 1);\n }, i.simulationInterim || 6);\n i.abortStream.abort = function () {\n C.abort(a, t, i.onClose);\n };\n } else t.finaliseStreamedMessage(), i.onClose();\n }\n }, {\n key: \"isSimulation\",\n value: function isSimulation(e) {\n return _typeof(e) == \"object\" && !!e.simulation;\n }\n }, {\n key: \"isSimulatable\",\n value: function isSimulatable(e, t) {\n return C.isSimulation(e) && t && (t.text || t.html);\n }\n }, {\n key: \"abort\",\n value: function abort(e, t, i) {\n clearTimeout(e), t.finaliseStreamedMessage(), i();\n }\n }, {\n key: \"upsertWFiles\",\n value: function upsertWFiles(e, t, i, n) {\n if (n != null && n.text || n != null && n.html) {\n var _i9;\n var r = t(n);\n (_i9 = i) !== null && _i9 !== void 0 ? _i9 : i = r || void 0;\n }\n n != null && n.files && (e.addNewMessage({\n files: n.files\n }), i == null || i.markFileAdded());\n }\n }]);\n}();\nvar qe = /*#__PURE__*/function () {\n function qe() {\n _classCallCheck(this, qe);\n }\n return _createClass(qe, null, [{\n key: \"generateResponse\",\n value: function generateResponse(e) {\n var t = e.messages[e.messages.length - 1];\n if (t.files && t.files.length > 0) {\n if (t.files.length > 1) return \"These are interesting files!\";\n var i = t.files[0];\n return i.src && i.src.startsWith(\"data:image/gif\") ? \"That is a nice gif!\" : i.type === \"image\" ? \"That is a nice image!\" : i.type === \"audio\" ? \"I like the sound of that!\" : \"That is an interesting file!\";\n }\n if (t.text) {\n if (t.text.charAt(t.text.length - 1) === \"?\") return \"I'm sorry but I can't answer that question...\";\n if (t.text.includes(\"updog\")) return \"What's updog?\";\n }\n return \"Hi there! This is a demo response!\";\n }\n }, {\n key: \"getCustomResponse\",\n value: function getCustomResponse(e, t) {\n return typeof e == \"function\" ? e(t) : e;\n }\n }, {\n key: \"getResponse\",\n value: function getResponse(e) {\n return e.customDemoResponse ? qe.getCustomResponse(e.customDemoResponse, e.messages[e.messages.length - 1]) : {\n text: qe.generateResponse(e)\n };\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"request\",\n value: function request(e, t) {\n var i = qe.getResponse(t);\n setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {\n var r, o, n;\n return _regeneratorRuntime().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return (o = (r = e.deepChat).responseInterceptor) == null ? void 0 : o.call(r, i);\n case 2:\n _context8.t0 = _context8.sent;\n if (_context8.t0) {\n _context8.next = 5;\n break;\n }\n _context8.t0 = i;\n case 5:\n n = _context8.t0;\n n.error ? (t.addNewErrorMessage(\"service\", n.error), e.completionsHandlers.onFinish()) : C.isSimulatable(e.stream, n) ? C.simulate(t, e.streamHandlers, n) : (t.addNewMessage(n), e.completionsHandlers.onFinish());\n case 7:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8);\n })), 400);\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"requestStream\",\n value: function requestStream(e, t) {\n setTimeout(function () {\n var i = qe.getResponse(e);\n C.simulate(e, t, i);\n }, 400);\n }\n }]);\n}();\nqe.URL = \"deep-chat-demo\";\nvar ge = qe;\nvar B = /*#__PURE__*/function () {\n function B() {\n _classCallCheck(this, B);\n }\n return _createClass(B, null, [{\n key: \"setup\",\n value: function setup(e) {\n e.connectSettings.url !== ge.URL && (e.permittedErrorPrefixes = [\"Connection error\", \"Error in server message\"], e.websocket = \"pending\");\n }\n }, {\n key: \"isElementPresentInDOM\",\n value: function isElementPresentInDOM(e) {\n return e.getRootNode({\n composed: !0\n }) instanceof Document;\n }\n }, {\n key: \"createConnection\",\n value: function createConnection(e, t) {\n if (!B.isElementPresentInDOM(e.deepChat)) return;\n var i = e.connectSettings.websocket;\n if (i) {\n if (e.connectSettings.handler) return we.websocket(e, t);\n try {\n var n = typeof i != \"boolean\" ? i : void 0,\n r = new WebSocket(e.connectSettings.url || \"\", n);\n e.websocket = r, e.websocket.onopen = function () {\n var o, a;\n t.removeError(), e.websocket && _typeof(e.websocket) == \"object\" && B.assignListeners(e, r, t), (a = (o = e.deepChat)._validationHandler) == null || a.call(o);\n }, e.websocket.onerror = function (o) {\n console.error(o), B.retryConnection(e, t);\n };\n } catch (n) {\n console.error(n), B.retryConnection(e, t);\n }\n }\n }\n }, {\n key: \"retryConnection\",\n value: function retryConnection(e, t) {\n var i, n;\n (n = (i = e.deepChat)._validationHandler) == null || n.call(i), B.isElementPresentInDOM(e.deepChat) && (e.websocket = \"pending\", t.isLastMessageError() || t.addNewErrorMessage(\"service\", \"Connection error\"), setTimeout(function () {\n B.createConnection(e, t);\n }, 5e3));\n }\n }, {\n key: \"assignListeners\",\n value: function assignListeners(e, t, i) {\n var _this6 = this;\n var n = {};\n t.onmessage = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(r) {\n var o, a, l, c, d, h, u;\n return _regeneratorRuntime().wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n if (!e.extractResultData) {\n _context9.next = 20;\n break;\n }\n _context9.prev = 1;\n l = JSON.parse(r.data);\n _context9.next = 5;\n return (a = (o = e.deepChat).responseInterceptor) == null ? void 0 : a.call(o, l);\n case 5:\n _context9.t0 = _context9.sent;\n if (_context9.t0) {\n _context9.next = 8;\n break;\n }\n _context9.t0 = l;\n case 8:\n c = _context9.t0;\n _context9.next = 11;\n return e.extractResultData(c);\n case 11:\n d = _context9.sent;\n if (!(!d || _typeof(d) != \"object\")) {\n _context9.next = 14;\n break;\n }\n throw Error(A.INVALID_RESPONSE(l, \"server\", !!e.deepChat.responseInterceptor, c));\n case 14:\n if (C.isSimulation(e.stream)) {\n h = B.stream.bind(_this6, e, i, n), u = n[l.role || b.AI_ROLE];\n C.upsertWFiles(i, h, u, d);\n } else i.addNewMessage(d);\n _context9.next = 20;\n break;\n case 17:\n _context9.prev = 17;\n _context9.t1 = _context9[\"catch\"](1);\n v.displayError(i, _context9.t1, \"Error in server message\");\n case 20:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9, null, [[1, 17]]);\n }));\n return function (_x17) {\n return _ref2.apply(this, arguments);\n };\n }(), t.onclose = function () {\n console.error(\"Connection closed\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\"), e.stream && e.streamHandlers.abortStream.abort(), B.createConnection(e, i);\n };\n }\n }, {\n key: \"sendWebsocket\",\n value: function () {\n var _sendWebsocket = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(e, t, i) {\n var n,\n d,\n h,\n r,\n o,\n _yield$v$processReque2,\n a,\n l,\n c,\n _args10 = arguments;\n return _regeneratorRuntime().wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n n = _args10.length > 3 && _args10[3] !== undefined ? _args10[3] : !0;\n r = e.websocket;\n if (!(!r || r === \"pending\")) {\n _context10.next = 4;\n break;\n }\n return _context10.abrupt(\"return\");\n case 4:\n o = {\n body: t,\n headers: (d = e.connectSettings) == null ? void 0 : d.headers\n };\n _context10.next = 7;\n return v.processRequestInterceptor(e.deepChat, o);\n case 7:\n _yield$v$processReque2 = _context10.sent;\n a = _yield$v$processReque2.body;\n l = _yield$v$processReque2.error;\n if (!l) {\n _context10.next = 12;\n break;\n }\n return _context10.abrupt(\"return\", i.addNewErrorMessage(\"service\", l));\n case 12:\n if (B.isWebSocket(r)) {\n _context10.next = 14;\n break;\n }\n return _context10.abrupt(\"return\", r.newUserMessage.listener(a));\n case 14:\n c = n ? JSON.stringify(a) : a;\n if (!(((h = e.connectSettings) == null ? void 0 : h.url) === ge.URL)) {\n _context10.next = 17;\n break;\n }\n return _context10.abrupt(\"return\", ge.request(e, i));\n case 17:\n r.readyState === void 0 || r.readyState !== r.OPEN ? (console.error(\"Connection is not open\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\")) : (r.send(JSON.stringify(c)), e.completionsHandlers.onFinish());\n case 18:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n }));\n function sendWebsocket(_x18, _x19, _x20) {\n return _sendWebsocket.apply(this, arguments);\n }\n return sendWebsocket;\n }()\n }, {\n key: \"canSendMessage\",\n value: function canSendMessage(e) {\n return e ? e === \"pending\" ? !1 : B.isWebSocket(e) ? e.readyState !== void 0 && e.readyState === e.OPEN : e.isOpen : !0;\n }\n // if false then it is the internal websocket handler\n }, {\n key: \"isWebSocket\",\n value: function isWebSocket(e) {\n return e.send !== void 0;\n }\n }, {\n key: \"stream\",\n value: function stream(e, t, i, n) {\n if (!n) return;\n var r = e.stream.simulation;\n if (typeof r == \"string\") {\n var _i$o;\n var o = n.role || b.AI_ROLE,\n a = i[o];\n n.text === r || n.html === r ? (a == null || a.finaliseStreamedMessage(), delete i[o]) : ((_i$o = i[o]) !== null && _i$o !== void 0 ? _i$o : i[o] = new me(t), i[o].upsertStreamedMessage(n));\n } else C.simulate(t, e.streamHandlers, n);\n }\n }]);\n}();\nvar we = /*#__PURE__*/function () {\n function we() {\n _classCallCheck(this, we);\n }\n return _createClass(we, null, [{\n key: \"request\",\n value: function () {\n var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(e, t, i) {\n var a, l, n, r, o;\n return _regeneratorRuntime().wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n n = !0;\n r = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(c) {\n var h, u, d;\n return _regeneratorRuntime().wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n if (n) {\n _context11.next = 2;\n break;\n }\n return _context11.abrupt(\"return\");\n case 2:\n n = !1;\n _context11.next = 5;\n return (u = (h = e.deepChat).responseInterceptor) == null ? void 0 : u.call(h, c);\n case 5:\n _context11.t0 = _context11.sent;\n if (_context11.t0) {\n _context11.next = 8;\n break;\n }\n _context11.t0 = c;\n case 8:\n d = _context11.t0;\n v.validateResponseFormat(d) ? typeof d.error == \"string\" ? (console.error(d.error), i.addNewErrorMessage(\"service\", d.error), e.completionsHandlers.onFinish()) : C.isSimulatable(e.stream, d) ? C.simulate(i, e.streamHandlers, d) : (i.addNewMessage(d), e.completionsHandlers.onFinish()) : (console.error(A.INVALID_RESPONSE(c, \"server\", !!e.deepChat.responseInterceptor, d)), i.addNewErrorMessage(\"service\", \"Error in server message\"), e.completionsHandlers.onFinish());\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11);\n }));\n return function r(_x24) {\n return _ref3.apply(this, arguments);\n };\n }(), o = we.generateOptionalSignals();\n (l = (a = e.connectSettings).handler) == null || l.call(a, t, _objectSpread(_objectSpread({}, o), {}, {\n onResponse: r\n }));\n case 3:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12);\n }));\n function request(_x21, _x22, _x23) {\n return _request2.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"attemptToFinaliseStream\",\n value: function attemptToFinaliseStream(e, t) {\n try {\n e.finaliseStreamedMessage();\n } catch (i) {\n console.error(i), t.addNewErrorMessage(\"service\", i);\n }\n }\n // prettier-ignore\n }, {\n key: \"stream\",\n value: function stream(e, t, i) {\n var h, u;\n var n = !0,\n r = !1;\n var o = new me(i),\n a = function a() {\n r || !n || (e.streamHandlers.onOpen(), r = !0);\n },\n l = function l() {\n n && (we.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1);\n },\n c = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(f) {\n var p, y, m;\n return _regeneratorRuntime().wrap(function _callee13$(_context13) {\n while (1) switch (_context13.prev = _context13.next) {\n case 0:\n if (n) {\n _context13.next = 2;\n break;\n }\n return _context13.abrupt(\"return\");\n case 2:\n _context13.next = 4;\n return (y = (p = e.deepChat).responseInterceptor) == null ? void 0 : y.call(p, f);\n case 4:\n _context13.t0 = _context13.sent;\n if (_context13.t0) {\n _context13.next = 7;\n break;\n }\n _context13.t0 = f;\n case 7:\n m = _context13.t0;\n v.validateResponseFormat(m) ? m.error ? (console.error(m.error), o.finaliseStreamedMessage(), i.addNewErrorMessage(\"service\", m.error), e.streamHandlers.onClose(), n = !1) : C.upsertWFiles(i, o.upsertStreamedMessage.bind(o), o, m) : console.error(A.INVALID_RESPONSE(f, \"server\", !!e.deepChat.responseInterceptor, m));\n case 9:\n case \"end\":\n return _context13.stop();\n }\n }, _callee13);\n }));\n return function c(_x25) {\n return _ref4.apply(this, arguments);\n };\n }();\n e.streamHandlers.abortStream.abort = function () {\n we.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1;\n };\n var d = we.generateOptionalSignals();\n (u = (h = e.connectSettings).handler) == null || u.call(h, t, _objectSpread(_objectSpread({}, d), {}, {\n onOpen: a,\n onResponse: c,\n onClose: l,\n stopClicked: e.streamHandlers.stopClicked\n }));\n }\n // prettier-ignore\n }, {\n key: \"websocket\",\n value: function websocket(e, t) {\n var _this7 = this;\n var l, c;\n var i = {\n isOpen: !1,\n newUserMessage: {\n listener: function listener() {}\n },\n roleToStream: {}\n };\n e.websocket = i;\n var n = function n() {\n t.removeError(), i.isOpen = !0;\n },\n r = function r() {\n i.isOpen = !1;\n },\n o = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(d) {\n var u, f, h, m, p;\n return _regeneratorRuntime().wrap(function _callee14$(_context14) {\n while (1) switch (_context14.prev = _context14.next) {\n case 0:\n if (i.isOpen) {\n _context14.next = 2;\n break;\n }\n return _context14.abrupt(\"return\");\n case 2:\n _context14.next = 4;\n return (f = (u = e.deepChat).responseInterceptor) == null ? void 0 : f.call(u, d);\n case 4:\n _context14.t0 = _context14.sent;\n if (_context14.t0) {\n _context14.next = 7;\n break;\n }\n _context14.t0 = d;\n case 7:\n h = _context14.t0;\n if (!v.validateResponseFormat(h)) console.error(A.INVALID_RESPONSE(d, \"server\", !!e.deepChat.responseInterceptor, h)), t.addNewErrorMessage(\"service\", \"Error in server message\");else if (typeof h.error == \"string\") console.error(h.error), t.isLastMessageError() || t.addNewErrorMessage(\"service\", h.error);else if (C.isSimulation(e.stream)) {\n m = B.stream.bind(_this7, e, t, i.roleToStream), p = i.roleToStream[d.role || b.AI_ROLE];\n C.upsertWFiles(t, m, p, d);\n } else t.addNewMessage(h);\n case 9:\n case \"end\":\n return _context14.stop();\n }\n }, _callee14);\n }));\n return function o(_x26) {\n return _ref5.apply(this, arguments);\n };\n }(),\n a = we.generateOptionalSignals();\n (c = (l = e.connectSettings).handler) == null || c.call(l, void 0, _objectSpread(_objectSpread({}, a), {}, {\n onOpen: n,\n onResponse: o,\n onClose: r,\n newUserMessage: i.newUserMessage\n }));\n }\n }, {\n key: \"generateOptionalSignals\",\n value: function generateOptionalSignals() {\n return {\n onClose: function onClose() {},\n onOpen: function onOpen() {},\n stopClicked: {\n listener: function listener() {}\n },\n newUserMessage: {\n listener: function listener() {}\n }\n };\n }\n }]);\n}();\nvar T = /*#__PURE__*/function () {\n function T() {\n _classCallCheck(this, T);\n }\n return _createClass(T, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16(e, t, i) {\n var n,\n u,\n f,\n m,\n r,\n _yield$v$processReque3,\n o,\n a,\n l,\n c,\n d,\n h,\n _args16 = arguments;\n return _regeneratorRuntime().wrap(function _callee16$(_context16) {\n while (1) switch (_context16.prev = _context16.next) {\n case 0:\n n = _args16.length > 3 && _args16[3] !== undefined ? _args16[3] : !0;\n r = {\n body: t,\n headers: (u = e.connectSettings) == null ? void 0 : u.headers\n };\n _context16.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque3 = _context16.sent;\n o = _yield$v$processReque3.body;\n a = _yield$v$processReque3.headers;\n l = _yield$v$processReque3.error;\n c = e.completionsHandlers.onFinish;\n if (!l) {\n _context16.next = 11;\n break;\n }\n return _context16.abrupt(\"return\", v.onInterceptorError(i, l, c));\n case 11:\n if (!((f = e.connectSettings) != null && f.handler)) {\n _context16.next = 13;\n break;\n }\n return _context16.abrupt(\"return\", we.request(e, o, i));\n case 13:\n if (!(((m = e.connectSettings) == null ? void 0 : m.url) === ge.URL)) {\n _context16.next = 15;\n break;\n }\n return _context16.abrupt(\"return\", ge.request(e, i));\n case 15:\n d = !0;\n h = v.fetch.bind(this, e, a, n);\n h(o).then(function (p) {\n return d = !!p.ok, p;\n }).then(function (p) {\n return v.processResponseByType(p);\n }).then( /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(p) {\n var j, V, y, E;\n return _regeneratorRuntime().wrap(function _callee15$(_context15) {\n while (1) switch (_context15.prev = _context15.next) {\n case 0:\n if (e.extractResultData) {\n _context15.next = 2;\n break;\n }\n return _context15.abrupt(\"return\");\n case 2:\n _context15.next = 4;\n return (V = (j = e.deepChat).responseInterceptor) == null ? void 0 : V.call(j, p);\n case 4:\n _context15.t0 = _context15.sent;\n if (_context15.t0) {\n _context15.next = 7;\n break;\n }\n _context15.t0 = p;\n case 7:\n y = _context15.t0;\n _context15.next = 10;\n return e.extractResultData(y, h, o);\n case 10:\n E = _context15.sent;\n if (d) {\n _context15.next = 13;\n break;\n }\n throw p;\n case 13:\n if (!(!E || _typeof(E) != \"object\")) {\n _context15.next = 15;\n break;\n }\n throw Error(A.INVALID_RESPONSE(p, \"response\", !!e.deepChat.responseInterceptor, y));\n case 15:\n E.makingAnotherRequest || (C.isSimulatable(e.stream, E) ? C.simulate(i, e.streamHandlers, E) : (i.addNewMessage(E), c()));\n case 16:\n case \"end\":\n return _context15.stop();\n }\n }, _callee15);\n }));\n return function (_x30) {\n return _ref6.apply(this, arguments);\n };\n }())[\"catch\"](function (p) {\n v.displayError(i, p), c();\n });\n case 18:\n case \"end\":\n return _context16.stop();\n }\n }, _callee16, this);\n }));\n function request(_x27, _x28, _x29) {\n return _request3.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"executePollRequest\",\n value: function executePollRequest(e, t, i, n) {\n var r = e.completionsHandlers.onFinish;\n fetch(t, i).then(function (o) {\n return o.json();\n }).then( /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17(o) {\n var l, c, a;\n return _regeneratorRuntime().wrap(function _callee17$(_context17) {\n while (1) switch (_context17.prev = _context17.next) {\n case 0:\n if (e.extractPollResultData) {\n _context17.next = 2;\n break;\n }\n return _context17.abrupt(\"return\");\n case 2:\n _context17.t0 = e;\n _context17.next = 5;\n return (c = (l = e.deepChat).responseInterceptor) == null ? void 0 : c.call(l, o);\n case 5:\n _context17.t1 = _context17.sent;\n if (_context17.t1) {\n _context17.next = 8;\n break;\n }\n _context17.t1 = o;\n case 8:\n _context17.t2 = _context17.t1;\n _context17.next = 11;\n return _context17.t0.extractPollResultData.call(_context17.t0, _context17.t2);\n case 11:\n a = _context17.sent;\n a.timeoutMS ? setTimeout(function () {\n T.executePollRequest(e, t, i, n);\n }, a.timeoutMS) : C.isSimulatable(e.stream, a) ? C.simulate(n, e.streamHandlers, a) : (n.addNewMessage(a), r());\n case 13:\n case \"end\":\n return _context17.stop();\n }\n }, _callee17);\n }));\n return function (_x31) {\n return _ref7.apply(this, arguments);\n };\n }())[\"catch\"](function (o) {\n v.displayError(n, o), r();\n });\n }\n // prettier-ignore\n }, {\n key: \"poll\",\n value: function () {\n var _poll = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18(e, t, i) {\n var n,\n f,\n m,\n p,\n r,\n _yield$v$processReque4,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n _args18 = arguments;\n return _regeneratorRuntime().wrap(function _callee18$(_context18) {\n while (1) switch (_context18.prev = _context18.next) {\n case 0:\n n = _args18.length > 3 && _args18[3] !== undefined ? _args18[3] : !0;\n r = {\n body: t,\n headers: (f = e.connectSettings) == null ? void 0 : f.headers\n };\n _context18.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque4 = _context18.sent;\n o = _yield$v$processReque4.body;\n a = _yield$v$processReque4.headers;\n l = _yield$v$processReque4.error;\n if (!l) {\n _context18.next = 10;\n break;\n }\n return _context18.abrupt(\"return\", v.onInterceptorError(i, l));\n case 10:\n c = ((m = e.connectSettings) == null ? void 0 : m.url) || e.url || \"\", d = ((p = e.connectSettings) == null ? void 0 : p.method) || \"POST\", h = n ? JSON.stringify(o) : o, u = {\n method: d,\n body: h,\n headers: a\n };\n e.connectSettings.credentials && (u.credentials = e.connectSettings.credentials), T.executePollRequest(e, c, u, i);\n case 12:\n case \"end\":\n return _context18.stop();\n }\n }, _callee18);\n }));\n function poll(_x32, _x33, _x34) {\n return _poll.apply(this, arguments);\n }\n return poll;\n }() // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i, n, r, o, a, l, c) {\n if (e === \"\") return o(A.INVALID_KEY);\n a(), fetch(t, {\n method: n,\n headers: i,\n body: c || null\n }).then(function (d) {\n return v.processResponseByType(d);\n }).then(function (d) {\n l(d, e, r, o);\n })[\"catch\"](function (d) {\n o(A.CONNECTION_FAILED), console.error(d);\n });\n }\n }]);\n}();\nvar ut = /*#__PURE__*/function () {\n function ut() {\n _classCallCheck(this, ut);\n }\n return _createClass(ut, null, [{\n key: \"getCharacterLimitMessages\",\n value: function getCharacterLimitMessages(e, t) {\n var r;\n if (t === -1) return e;\n var i = 0,\n n = e.length - 1;\n for (n; n >= 0; n -= 1) {\n var o = (r = e[n]) == null ? void 0 : r.text;\n if (o !== void 0 && (i += o.length, i > t)) {\n e[n].text = o.substring(0, o.length - (i - t));\n break;\n }\n }\n return e.slice(Math.max(n, 0));\n }\n }, {\n key: \"getMaxMessages\",\n value: function getMaxMessages(e, t) {\n return e.slice(Math.max(e.length - t, 0));\n }\n // prettier-ignore\n // if maxMessages is not defined we send all messages\n // if maxMessages above 0 we send that number\n // if maxMessages 0 or below we send only what is in the request\n }, {\n key: \"processMessages\",\n value: function processMessages(e, t, i) {\n return t !== void 0 ? t > 0 && (e = ut.getMaxMessages(e, t)) : e = [e[e.length - 1]], e = JSON.parse(JSON.stringify(e)), i === void 0 ? e : ut.getCharacterLimitMessages(e, i);\n }\n }]);\n}();\nvar I = /*#__PURE__*/function () {\n function I() {\n _classCallCheck(this, I);\n }\n return _createClass(I, null, [{\n key: \"parseConfig\",\n value:\n // prettier-ignore\n function parseConfig(e, t, i, n) {\n var o;\n var r = {\n files: t\n };\n if (_typeof(n) == \"object\") {\n ae.processFileConfigConnect(n);\n var a = n.files,\n l = n.connect,\n c = n.button;\n a && (a.infoModal && (r.files.infoModal = a.infoModal, (o = a.infoModal) != null && o.textMarkDown && (r.infoModalTextMarkUp = i.render(a.infoModal.textMarkDown))), a.acceptedFormats && (r.files.acceptedFormats = a.acceptedFormats), a.maxNumberOfFiles && (r.files.maxNumberOfFiles = a.maxNumberOfFiles)), r.button = c, l && (l.headers || l.method || l.url || l.credentials || e.headers || e.method || e.url || e.credentials) && (r.connect = {\n url: (l == null ? void 0 : l.url) || e.url,\n method: (l == null ? void 0 : l.method) || e.method,\n headers: (l == null ? void 0 : l.headers) || e.headers,\n credentials: (l == null ? void 0 : l.credentials) || e.credentials\n });\n }\n return r;\n }\n }, {\n key: \"processMixedFiles\",\n value: function processMixedFiles(e, t, i) {\n if (i) {\n var n = {\n acceptedFormats: \"\"\n };\n e.fileTypes.mixedFiles = I.parseConfig(e.connectSettings, n, t, i);\n }\n }\n // needs to be set after audio to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processMicrophone\",\n value: function processMicrophone(e, t, i, n) {\n var _l$files, _u$maxNumberOfFiles;\n var a, l, c, d, h, u;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, ((a = e.fileTypes.audio) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.recordAudio = I.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && i.files && ((_l$files = (l = e.recordAudio).files) !== null && _l$files !== void 0 ? _l$files : l.files = {}, e.recordAudio.files.format = (c = i.files) == null ? void 0 : c.format, e.recordAudio.files.maxDurationSeconds = (d = i.files) == null ? void 0 : d.maxDurationSeconds, (h = e.fileTypes.audio) != null && h.files && ((_u$maxNumberOfFiles = (u = e.fileTypes.audio.files).maxNumberOfFiles) !== null && _u$maxNumberOfFiles !== void 0 ? _u$maxNumberOfFiles : u.maxNumberOfFiles = i.files.maxNumberOfFiles))) : n || (e.fileTypes.audio = I.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processAudioConfig\",\n value: function processAudioConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.audio = I.parseConfig(e.connectSettings, o, t, i);\n }\n // prettier-ignore\n }, {\n key: \"processGifConfig\",\n value: function processGifConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/gif\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.gifs = I.parseConfig(e.connectSettings, o, t, i);\n }\n // needs to be set after images to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processCamera\",\n value: function processCamera(e, t, i, n) {\n var _l$files2;\n var a, l, c, d;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, ((a = e.fileTypes.images) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.camera = I.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && (e.camera.modalContainerStyle = i.modalContainerStyle, i.files && ((_l$files2 = (l = e.camera).files) !== null && _l$files2 !== void 0 ? _l$files2 : l.files = {}, e.camera.files.format = (c = i.files) == null ? void 0 : c.format, e.camera.files.dimensions = (d = i.files) == null ? void 0 : d.dimensions))) : n || (e.fileTypes.images = I.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processImagesConfig\",\n value: function processImagesConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.images = I.parseConfig(e.connectSettings, o, t, i);\n }\n // default for direct service\n }, {\n key: \"populateDefaultFileIO\",\n value: function populateDefaultFileIO(e, t) {\n var _e$files, _i$acceptedFormats, _n$maxNumberOfFiles;\n var i, n;\n e && ((_e$files = e.files) !== null && _e$files !== void 0 ? _e$files : e.files = {}, (_i$acceptedFormats = (i = e.files).acceptedFormats) !== null && _i$acceptedFormats !== void 0 ? _i$acceptedFormats : i.acceptedFormats = t, (_n$maxNumberOfFiles = (n = e.files).maxNumberOfFiles) !== null && _n$maxNumberOfFiles !== void 0 ? _n$maxNumberOfFiles : n.maxNumberOfFiles = 1);\n }\n }, {\n key: \"set\",\n value: function set(e, t, i) {\n I.populateDefaultFileIO(i == null ? void 0 : i.audio, \".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a\"), I.populateDefaultFileIO(i == null ? void 0 : i.images, \".png,.jpg\");\n var n = Rt.createNew();\n I.processImagesConfig(t, n, e.images, i == null ? void 0 : i.images), I.processCamera(t, n, e.camera, e.images), I.processGifConfig(t, n, e.gifs, i == null ? void 0 : i.gifs), I.processAudioConfig(t, n, e.audio, i == null ? void 0 : i.audio), I.processMicrophone(t, n, e.microphone, e.audio), I.processMixedFiles(t, n, e.mixedFiles);\n }\n }]);\n}();\nvar Ke = /*#__PURE__*/function () {\n function Ke(e, t, i) {\n var _a$url;\n _classCallCheck(this, Ke);\n var n, r, o, a, l;\n this.rawBody = {}, this.validateKeyProperty = !1, this.canSendMessage = Ke.canSendMessage, this.connectSettings = {}, this.fileTypes = {}, this.completionsHandlers = {}, this.streamHandlers = {}, this.deepChat = e, this.demo = i, Object.assign(this.rawBody, (n = e.connect) == null ? void 0 : n.additionalBodyProps), this.totalMessagesMaxCharLength = (r = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : r.totalMessagesMaxCharLength, this.maxMessages = (o = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : o.maxMessages, I.set(e, this, t), e.connect && (this.connectSettings = e.connect), this.demo && ((_a$url = (a = this.connectSettings).url) !== null && _a$url !== void 0 ? _a$url : a.url = ge.URL), this.connectSettings.websocket && B.setup(this), this.stream = ((l = this.deepChat.connect) == null ? void 0 : l.stream) || ae.checkForStream(this.deepChat);\n }\n return _createClass(Ke, [{\n key: \"verifyKey\",\n value: function verifyKey(e, t) {}\n }, {\n key: \"getServiceIOByType\",\n value: function getServiceIOByType(e) {\n if (e.type.startsWith(\"audio\") && this.fileTypes.audio) return this.fileTypes.audio;\n if (e.type.startsWith(\"image\")) {\n if (this.fileTypes.gifs && e.type.endsWith(\"/gif\")) return this.fileTypes.gifs;\n if (this.fileTypes.images) return this.fileTypes.images;\n if (this.camera) return this.camera;\n }\n return this.fileTypes.mixedFiles;\n }\n }, {\n key: \"request\",\n value: function () {\n var _request4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(e, t) {\n var i,\n _args19 = arguments;\n return _regeneratorRuntime().wrap(function _callee19$(_context19) {\n while (1) switch (_context19.prev = _context19.next) {\n case 0:\n i = _args19.length > 2 && _args19[2] !== undefined ? _args19[2] : !0;\n return _context19.abrupt(\"return\", this.stream && !C.isSimulation(this.stream) ? C.request(this, e, t, i) : T.request(this, e, t, i));\n case 2:\n case \"end\":\n return _context19.stop();\n }\n }, _callee19, this);\n }));\n function request(_x35, _x36) {\n return _request4.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"callAPIWithText\",\n value: function () {\n var _callAPIWithText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(e, t) {\n var _o$headers, _a$ContentType;\n var r, o, a, l, i, n;\n return _regeneratorRuntime().wrap(function _callee20$(_context20) {\n while (1) switch (_context20.prev = _context20.next) {\n case 0:\n i = _objectSpread({\n messages: t\n }, this.rawBody);\n n = !1;\n (r = this.connectSettings.headers) != null && r[\"Content-Type\"] || ((_o$headers = (o = this.connectSettings).headers) !== null && _o$headers !== void 0 ? _o$headers : o.headers = {}, (_a$ContentType = (a = this.connectSettings.headers)[\"Content-Type\"]) !== null && _a$ContentType !== void 0 ? _a$ContentType : a[\"Content-Type\"] = \"application/json\", n = !0);\n _context20.next = 5;\n return this.request(i, e);\n case 5:\n n && ((l = this.connectSettings.headers) == null || delete l[\"Content-Type\"]);\n case 6:\n case \"end\":\n return _context20.stop();\n }\n }, _callee20, this);\n }));\n function callAPIWithText(_x37, _x38) {\n return _callAPIWithText.apply(this, arguments);\n }\n return callAPIWithText;\n }()\n }, {\n key: \"callApiWithFiles\",\n value: function () {\n var _callApiWithFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21(e, t, i) {\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee21$(_context21) {\n while (1) switch (_context21.prev = _context21.next) {\n case 0:\n n = Ke.createCustomFormDataBody(this.rawBody, t, i), r = this.connectSettings, o = this.getServiceIOByType(i[0]);\n this.connectSettings = (o == null ? void 0 : o.connect) || this.connectSettings;\n _context21.next = 4;\n return this.request(n, e, !1);\n case 4:\n this.connectSettings = r;\n case 5:\n case \"end\":\n return _context21.stop();\n }\n }, _callee21, this);\n }));\n function callApiWithFiles(_x39, _x40, _x41) {\n return _callApiWithFiles.apply(this, arguments);\n }\n return callApiWithFiles;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee22$(_context22) {\n while (1) switch (_context22.prev = _context22.next) {\n case 0:\n i ? this.callApiWithFiles(e, t, i) : this.callAPIWithText(e, t);\n case 1:\n case \"end\":\n return _context22.stop();\n }\n }, _callee22, this);\n }));\n function callServiceAPI(_x42, _x43, _x44) {\n return _callServiceAPI.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"callAPI\",\n value: function () {\n var _callAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee23$(_context23) {\n while (1) switch (_context23.prev = _context23.next) {\n case 0:\n if (this.connectSettings) {\n _context23.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = ut.processMessages(t.messages, this.maxMessages, this.totalMessagesMaxCharLength);\n if (this.connectSettings.websocket) {\n n = _objectSpread({\n messages: i\n }, this.rawBody);\n B.sendWebsocket(this, n, t, !1);\n } else this.callServiceAPI(t, i, e.files);\n case 4:\n case \"end\":\n return _context23.stop();\n }\n }, _callee23, this);\n }));\n function callAPI(_x45, _x46) {\n return _callAPI.apply(this, arguments);\n }\n return callAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(e) {\n return _regeneratorRuntime().wrap(function _callee24$(_context24) {\n while (1) switch (_context24.prev = _context24.next) {\n case 0:\n if (!e.error) {\n _context24.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!e.result) {\n _context24.next = 4;\n break;\n }\n return _context24.abrupt(\"return\", ae.handleResponseProperty(e));\n case 4:\n if (!v.validateResponseFormat(e)) {\n _context24.next = 6;\n break;\n }\n return _context24.abrupt(\"return\", e);\n case 6:\n case \"end\":\n return _context24.stop();\n }\n }, _callee24);\n }));\n function extractResultData(_x47) {\n return _extractResultData.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !1;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !1;\n }\n }], [{\n key: \"canSendMessage\",\n value: function canSendMessage(e, t, i) {\n return i ? !0 : !!(e && e.trim() !== \"\") || !!(t && t.length > 0);\n }\n }, {\n key: \"createCustomFormDataBody\",\n value: function createCustomFormDataBody(e, t, i) {\n var n = new FormData();\n i.forEach(function (a) {\n return n.append(\"files\", a);\n }), Object.keys(e).forEach(function (a) {\n return n.append(a, String(e[a]));\n });\n var r = 0;\n t.slice(0, t.length - 1).forEach(function (a) {\n n.append(\"message\".concat(r += 1), JSON.stringify(a));\n });\n var o = t[t.length - 1];\n return o.text && (delete o.files, n.append(\"message\".concat(r += 1), JSON.stringify(o))), n;\n }\n }]);\n}();\nvar z = /*#__PURE__*/function (_Ke) {\n // prettier-ignore\n function z(e, t, i, n, r) {\n var _this8;\n _classCallCheck(this, z);\n var o;\n _this8 = _callSuper(this, z, [e, r]), _this8.insertKeyPlaceholderText = \"API Key\", _this8.keyHelpUrl = \"\", Object.assign(_this8.rawBody, (o = e.connect) == null ? void 0 : o.additionalBodyProps), _this8.keyVerificationDetails = t, _this8.buildHeadersFunc = i, n && _this8.setApiKeyProperties(n), _this8.connectSettings = _this8.buildConnectSettings(_this8.key || \"\", e.connect);\n return _this8;\n }\n _inherits(z, _Ke);\n return _createClass(z, [{\n key: \"setApiKeyProperties\",\n value: function setApiKeyProperties(e) {\n this.key = e.key, e.validateKeyProperty && (this.validateKeyProperty = e.validateKeyProperty);\n }\n }, {\n key: \"buildConnectSettings\",\n value: function buildConnectSettings(e, t) {\n var _i$headers;\n var i = t !== null && t !== void 0 ? t : {};\n return (_i$headers = i.headers) !== null && _i$headers !== void 0 ? _i$headers : i.headers = {}, Object.assign(i.headers, this.buildHeadersFunc(e)), i;\n }\n }, {\n key: \"keyAuthenticated\",\n value: function keyAuthenticated(e, t) {\n this.connectSettings = this.buildConnectSettings(t, this.connectSettings), this.key = t, e();\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t) {\n var _this$keyVerification = this.keyVerificationDetails,\n i = _this$keyVerification.url,\n n = _this$keyVerification.method,\n r = _this$keyVerification.handleVerificationResult,\n o = _this$keyVerification.createHeaders,\n a = _this$keyVerification.body,\n l = (o == null ? void 0 : o(e)) || this.buildHeadersFunc(e);\n T.verifyKey(e, i, l, n, this.keyAuthenticated.bind(this, t.onSuccess), t.onFail, t.onLoad, r, a);\n }\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !0;\n }\n }]);\n}(Ke);\nvar ti = /*#__PURE__*/function () {\n function ti() {\n _classCallCheck(this, ti);\n }\n return _createClass(ti, null, [{\n key: \"waitForPropertiesToBeUpdatedBeforeRender\",\n value: function waitForPropertiesToBeUpdatedBeforeRender(e) {\n e._propUpdated_ = !1, setTimeout(function () {\n e._propUpdated_ ? ti.waitForPropertiesToBeUpdatedBeforeRender(e) : (e._waitingToRender_ = !1, e.onRender());\n });\n }\n }, {\n key: \"attemptRender\",\n value: function attemptRender(e) {\n e._propUpdated_ = !0, e._waitingToRender_ || (e._waitingToRender_ = !0, ti.waitForPropertiesToBeUpdatedBeforeRender(e));\n }\n }]);\n}();\nvar xe = /*#__PURE__*/function (_HTMLElement) {\n // If this is not working, try using propertyName directly\n function xe() {\n var _this9;\n _classCallCheck(this, xe);\n _this9 = _callSuper(this, xe), _this9._waitingToRender_ = !1, _this9._propUpdated_ = !1, Object.keys(xe._attributeToProperty_).forEach(function (e) {\n var t = xe._attributeToProperty_[e];\n _this9.constructPropertyAccessors(t), _this9.hasOwnProperty(e) || _this9.constructPropertyAccessors(t, e);\n });\n return _this9;\n }\n _inherits(xe, _HTMLElement);\n return _createClass(xe, [{\n key: \"constructPropertyAccessors\",\n value:\n // need to be called here as accessors need to be set for the class instance\n function constructPropertyAccessors(e, t) {\n var i;\n Object.defineProperty(this, t || e, {\n get: function get() {\n return i;\n },\n set: function set(o) {\n i = o, t ? this[e] = o : ti.attemptRender(this);\n }\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(e, t, i) {\n if (t === i) return;\n var n = xe._attributes_[e](i),\n r = xe._attributeToProperty_[e];\n this[r] = n;\n }\n }, {\n key: \"onRender\",\n value: function onRender() {}\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return Object.keys(xe._attributes_) || [];\n }\n }]);\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\nxe._attributes_ = {}, xe._attributeToProperty_ = {};\nvar Zi = xe;\nvar uo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path d=\\\"\\n\\t\\t\\tM669.727,273.516c-22.891-2.476-46.15-3.895-69.727-4.248c-103.025,0.457-209.823,25.517-310.913,73.536\\n\\t\\t\\tc-75.058,37.122-148.173,89.529-211.67,154.174C46.232,529.978,6.431,577.76,0,628.74c0.76,44.162,48.153,98.67,77.417,131.764\\n\\t\\t\\tc59.543,62.106,130.754,113.013,211.67,154.174c2.75,1.335,5.51,2.654,8.276,3.955l-75.072,131.102l102.005,60.286l551.416-960.033\\n\\t\\t\\tl-98.186-60.008L669.727,273.516z M902.563,338.995l-74.927,129.857c34.47,44.782,54.932,100.006,54.932,159.888\\n\\t\\t\\tc0,149.257-126.522,270.264-282.642,270.264c-6.749,0-13.29-0.728-19.922-1.172l-49.585,85.84c22.868,2.449,45.99,4.233,69.58,4.541\\n\\t\\t\\tc103.123-0.463,209.861-25.812,310.84-73.535c75.058-37.122,148.246-89.529,211.743-154.174\\n\\t\\t\\tc31.186-32.999,70.985-80.782,77.417-131.764c-0.76-44.161-48.153-98.669-77.417-131.763\\n\\t\\t\\tc-59.543-62.106-130.827-113.013-211.743-154.175C908.108,341.478,905.312,340.287,902.563,338.995L902.563,338.995z\\n\\t\\t\\tM599.927,358.478c6.846,0,13.638,0.274,20.361,0.732l-58.081,100.561c-81.514,16.526-142.676,85.88-142.676,168.897\\n\\t\\t\\tc0,20.854,3.841,40.819,10.913,59.325c0.008,0.021-0.008,0.053,0,0.074l-58.228,100.854\\n\\t\\t\\tc-34.551-44.823-54.932-100.229-54.932-160.182C317.285,479.484,443.808,358.477,599.927,358.478L599.927,358.478z M768.896,570.513\\n\\t\\t\\tL638.013,797.271c81.076-16.837,141.797-85.875,141.797-168.603C779.81,608.194,775.724,588.729,768.896,570.513L768.896,570.513z\\\"\\n\\t\\t\\t/>\\n</svg>\\n\",\n fo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path id=\\\"path6686\\\" inkscape:connector-curvature=\\\"0\\\" d=\\\"M779.843,599.925c0,95.331-80.664,172.612-180.169,172.612\\n\\t\\t\\tc-99.504,0-180.168-77.281-180.168-172.612c0-95.332,80.664-172.612,180.168-172.612\\n\\t\\t\\tC699.179,427.312,779.843,504.594,779.843,599.925z M600,240.521c-103.025,0.457-209.814,25.538-310.904,73.557\\n\\t\\t\\tc-75.058,37.122-148.206,89.496-211.702,154.141C46.208,501.218,6.431,549,0,599.981c0.76,44.161,48.13,98.669,77.394,131.763\\n\\t\\t\\tc59.543,62.106,130.786,113.018,211.702,154.179c94.271,45.751,198.616,72.092,310.904,73.557\\n\\t\\t\\tc103.123-0.464,209.888-25.834,310.866-73.557c75.058-37.122,148.243-89.534,211.74-154.179\\n\\t\\t\\tc31.185-32.999,70.962-80.782,77.394-131.763c-0.76-44.161-48.13-98.671-77.394-131.764\\n\\t\\t\\tc-59.543-62.106-130.824-112.979-211.74-154.141C816.644,268.36,712.042,242.2,600,240.521z M599.924,329.769\\n\\t\\t\\tc156.119,0,282.675,120.994,282.675,270.251c0,149.256-126.556,270.25-282.675,270.25S317.249,749.275,317.249,600.02\\n\\t\\t\\tC317.249,450.763,443.805,329.769,599.924,329.769L599.924,329.769z\\\"/>\\n</svg>\\n\";\nvar te = /*#__PURE__*/function () {\n function te() {\n _classCallCheck(this, te);\n }\n return _createClass(te, null, [{\n key: \"createSVGElement\",\n value: function createSVGElement(e) {\n return new DOMParser().parseFromString(e, \"image/svg+xml\").documentElement;\n }\n }]);\n}();\nvar Le = /*#__PURE__*/function () {\n function Le() {\n _classCallCheck(this, Le);\n }\n return _createClass(Le, null, [{\n key: \"changeVisibility\",\n value:\n // prettier-ignore\n function changeVisibility(e, t, i, n) {\n n.target.id === Le.VISIBLE_ICON_ID ? (t.style.display = \"none\", i.style.display = \"block\", e.type = \"password\") : (t.style.display = \"block\", i.style.display = \"none\", e.type = \"text\");\n }\n }, {\n key: \"createIconElement\",\n value: function createIconElement(e, t) {\n var i = te.createSVGElement(e);\n return i.id = t, i.classList.add(\"visibility-icon\"), i;\n }\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e) {\n var t = document.createElement(\"div\");\n t.id = \"visibility-icon-container\";\n var i = Le.createIconElement(fo, Le.VISIBLE_ICON_ID);\n i.style.display = \"none\", t.appendChild(i);\n var n = Le.createIconElement(uo, \"not-visible-icon\");\n return t.appendChild(n), t.onclick = Le.changeVisibility.bind(this, e, i, n), t;\n }\n }]);\n}();\nLe.VISIBLE_ICON_ID = \"visible-icon\";\nvar Yi = Le;\nvar U = /*#__PURE__*/function () {\n function U() {\n _classCallCheck(this, U);\n }\n return _createClass(U, null, [{\n key: \"createCautionText\",\n value: function createCautionText() {\n var e = document.createElement(\"a\");\n return e.classList.add(\"insert-key-input-help-text\"), e.innerText = \"Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!\", e;\n }\n }, {\n key: \"createHelpLink\",\n value: function createHelpLink(e) {\n var t = document.createElement(\"a\");\n return t.classList.add(\"insert-key-input-help-text\"), t.href = e, t.innerText = \"Find more info here\", t.target = \"_blank\", t;\n }\n }, {\n key: \"createFailText\",\n value: function createFailText() {\n var e = document.createElement(\"div\");\n return e.id = \"insert-key-input-invalid-text\", e.style.display = \"none\", e;\n }\n }, {\n key: \"createHelpTextContainer\",\n value: function createHelpTextContainer(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-help-text-container\";\n var n = document.createElement(\"div\");\n n.id = \"insert-key-help-text-contents\";\n var r = U.createFailText();\n if (n.appendChild(r), e) {\n var o = U.createHelpLink(e);\n n.appendChild(o);\n }\n if (t === !0) {\n var _o2 = U.createCautionText();\n n.appendChild(_o2);\n }\n return i.appendChild(n), {\n helpTextContainerElement: i,\n failTextElement: r\n };\n }\n }, {\n key: \"onFail\",\n value: function onFail(e, t, i, n) {\n e.classList.replace(\"insert-key-input-valid\", \"insert-key-input-invalid\"), i.innerText = n, i.style.display = \"block\", t.innerText = \"Start\", e.classList.remove(\"loading\");\n }\n }, {\n key: \"onLoad\",\n value: function onLoad(e, t) {\n e.classList.add(\"loading\"), t.innerHTML = '<div id=\"loading-ring\"></div>';\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i) {\n var n = e.value.trim();\n i.verifyKey(n, t);\n }\n // prettier-ignore\n }, {\n key: \"addVerificationEvents\",\n value: function addVerificationEvents(e, t, i, n, r) {\n var o = {\n onSuccess: n,\n onFail: U.onFail.bind(this, e, t, i),\n onLoad: U.onLoad.bind(this, e, t)\n },\n a = U.verifyKey.bind(this, e, o, r);\n t.onclick = a, e.onkeydown = function (l) {\n !e.classList.contains(\"loading\") && l.key === P.ENTER && a();\n };\n }\n }, {\n key: \"createStartButton\",\n value: function createStartButton() {\n var e = document.createElement(\"div\");\n return e.id = \"start-button\", e.innerText = \"Start\", e;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(e) {\n e.target.classList.replace(\"insert-key-input-invalid\", \"insert-key-input-valid\");\n }\n }, {\n key: \"createInput\",\n value: function createInput(e) {\n var t = document.createElement(\"div\");\n t.id = \"insert-key-input-container\";\n var i = document.createElement(\"input\");\n return i.id = \"insert-key-input\", i.placeholder = e || \"API Key\", i.type = \"password\", i.classList.add(\"insert-key-input-valid\"), i.onfocus = U.onInputFocus, t.appendChild(i), t;\n }\n // prettier-ignore\n }, {\n key: \"createContents\",\n value: function createContents(e, t) {\n var d;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-contents\";\n var n = U.createInput(t.insertKeyPlaceholderText),\n r = n.children[0],\n o = Yi.create(r);\n n.appendChild(o), i.appendChild(n);\n var a = U.createStartButton(),\n _U$createHelpTextCont = U.createHelpTextContainer(t.keyHelpUrl, (d = t.deepChat._insertKeyViewStyles) == null ? void 0 : d.displayCautionText),\n l = _U$createHelpTextCont.helpTextContainerElement,\n c = _U$createHelpTextCont.failTextElement;\n return i.appendChild(a), i.appendChild(l), U.addVerificationEvents(r, a, c, e, t), i;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"insert-key-view\";\n var n = U.createContents(e, t);\n return i.appendChild(n), i;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = U.createElements(t, i);\n e.replaceChildren(n);\n }\n }]);\n}();\nvar Y = /*#__PURE__*/function () {\n function Y() {\n _classCallCheck(this, Y);\n }\n return _createClass(Y, null, [{\n key: \"enableButtons\",\n value: function enableButtons(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n window.webLLM ? (e && (e.disabled = !1), t && (t.disabled = !1)) : i < It.MODULE_SEARCH_LIMIT_S * 4 && setTimeout(function () {\n return Y.enableButtons(e, t, i + 1);\n }, 250);\n }\n // prettier-ignore\n }, {\n key: \"setUpInitial\",\n value: function setUpInitial(e, t, i, n) {\n var r = (t == null ? void 0 : t.downloadClass) || Y.DOWNLOAD_BUTTON_CLASS,\n o = (t == null ? void 0 : t.uploadClass) || Y.UPLOAD_BUTTON_CLASS,\n a = (t == null ? void 0 : t.fileInputClass) || Y.FILE_INPUT_CLASS;\n return setTimeout(function () {\n var l = i == null ? void 0 : i.getElementsByClassName(r)[0],\n c = i == null ? void 0 : i.getElementsByClassName(a)[0],\n d = i == null ? void 0 : i.getElementsByClassName(o)[0];\n l && (l.onclick = function () {\n return e();\n }), c && (c.onchange = function () {\n c.files && c.files.length > 0 && e(c.files);\n }), d && (d.onclick = function () {\n return c.click();\n }), (l || d) && Y.enableButtons(l, d);\n }), (t == null ? void 0 : t.initialHtml) || \"<div>\\n Download or upload a web model that will run entirely on your browser: <br/> \\n <button disabled class=\\\"\".concat(r, \" deep-chat-button deep-chat-web-model-button\\\">Download</button>\\n \").concat(n ? \"\" : \"<input type=\\\"file\\\" class=\\\"\".concat(a, \"\\\" hidden multiple />\\n <button disabled class=\\\"\").concat(o, \" deep-chat-button deep-chat-web-model-button\\\">Upload</button>\"), \"\\n </div>\");\n }\n }, {\n key: \"exportFile\",\n value: function exportFile(e) {\n var t = document.createElement(\"a\"),\n i = 4;\n var _loop2 = function _loop2(n) {\n setTimeout(function () {\n var r = n * i;\n for (var o = r; o < Math.min(r + i, e.length); o += 1) {\n var a = URL.createObjectURL(e[o]);\n t.href = a, t.download = e[o].name, document.body.appendChild(t), t.click(), URL.revokeObjectURL(a);\n }\n }, 500 * n);\n };\n for (var n = 0; n < e.length / i; n += 1) {\n _loop2(n);\n }\n }\n // prettier-ignore\n }, {\n key: \"setUpAfterLoad\",\n value: function setUpAfterLoad(e, t, i, n) {\n var r = (t == null ? void 0 : t.exportFilesClass) || Y.EXPORT_BUTTON_CLASS;\n return setTimeout(function () {\n var o = i == null ? void 0 : i.getElementsByClassName(r)[0];\n o && (o.onclick = function () {\n return Y.exportFile(e);\n });\n }), (t == null ? void 0 : t.afterLoadHtml) || \"<div>\\n Model loaded successfully and has been cached for future requests.\\n \".concat(n ? \"\" : \"<br/> <button style=\\\"margin-top: 5px\\\" class=\\\"\".concat(r, \" deep-chat-button\\\">Export</button>\"), \"\\n </div>\");\n }\n }]);\n}();\nY.DOWNLOAD_BUTTON_CLASS = \"deep-chat-download-button\", Y.UPLOAD_BUTTON_CLASS = \"deep-chat-upload-button\", Y.FILE_INPUT_CLASS = \"deep-chat-file-input\", Y.EXPORT_BUTTON_CLASS = \"deep-chat-export-button\";\nvar ii = Y;\nvar Nn = {\n model_list: [\n // Llama-2\n {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 9109.03,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6749.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 4618.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-13b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 11814.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-70b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 43729.05,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // RedPajama\n {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 2972.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 3928.09,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2041.09,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2558.09,\n low_resource_required: !0\n },\n // Mistral variants\n {\n model_url: \"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/\",\n local_id: \"WizardMath-7B-V1.1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/\",\n local_id: \"Mistral-7B-Instruct-v0.2-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"OpenHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"NeuralHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // TinyLlama\n {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f16\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm\",\n vram_required_MB: 5063.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f32\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm\",\n vram_required_MB: 5394.53,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 899.11,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 992.11,\n low_resource_required: !0\n }],\n use_web_worker: !0\n },\n w = /*#__PURE__*/function (_Ke2) {\n function w(e) {\n var _this10;\n _classCallCheck(this, w);\n var t, i;\n _this10 = _callSuper(this, w, [e]), _this10._isModelLoaded = !1, _this10._isModelLoading = !1, _this10._loadOnFirstMessage = !1, _this10._webModel = {}, _this10.permittedErrorPrefixes = [w.MULTIPLE_MODELS_ERROR, w.WEB_LLM_NOT_FOUND_ERROR, w.GENERIC_ERROR], _this10._conversationHistory = [], _typeof(e.webModel) == \"object\" && (_this10._webModel = e.webModel), (t = _this10._webModel.load) != null && t.clearCache && w.clearAllCache(), _this10.findModelInWindow(e), _this10.canSendMessage = _this10.canSubmit.bind(_assertThisInitialized(_this10)), _this10._chatEl = (i = e.shadowRoot) == null ? void 0 : i.children[0], e.history && w.setUpHistory(_this10._conversationHistory, e.history);\n return _this10;\n }\n // need ref of messages object as web model exhibits unique behaviour to manipulate chat\n _inherits(w, _Ke2);\n return _createClass(w, [{\n key: \"setUpMessages\",\n value: function setUpMessages(e) {\n var _this11 = this;\n this._messages = e, this._removeIntro = function () {\n e.removeIntroductoryMessage(), _this11._removeIntro = void 0;\n };\n }\n }, {\n key: \"findModelInWindow\",\n value: function findModelInWindow(e) {\n var _this12 = this;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i;\n window.webLLM ? this.configureInit(this.shouldAddIntroMessage(e.introMessage)) : t > w.MODULE_SEARCH_LIMIT_S ? ((i = this._messages) == null || i.addNewErrorMessage(\"service\", w.WEB_LLM_NOT_FOUND_ERROR), console.error(\"The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:\"), console.error(\"https://deepchat.dev/examples/externalModules\")) : setTimeout(function () {\n return _this12.findModelInWindow(e, t + 1);\n }, 1e3);\n }\n }, {\n key: \"shouldAddIntroMessage\",\n value: function shouldAddIntroMessage(e) {\n var t;\n return !e && this._webModel && ((t = this._webModel.introMessage) == null ? void 0 : t.displayed) !== !1;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n var _this13 = this;\n var t;\n ((t = this._webModel.introMessage) == null ? void 0 : t.autoScroll) !== !1 && setTimeout(function () {\n var i, n;\n (i = _this13._messages) != null && i.elementRef && q.scrollToTop((n = _this13._messages) == null ? void 0 : n.elementRef);\n }, e);\n }\n // prettier-ignore\n }, {\n key: \"getIntroMessage\",\n value: function getIntroMessage(e) {\n if (!this.shouldAddIntroMessage(e) || !this._chatEl) return;\n var t = ii.setUpInitial(this.init.bind(this), this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n return this.scrollToTop(1), {\n role: b.AI_ROLE,\n html: t,\n sendUpdate: !1\n };\n }\n }, {\n key: \"configureInit\",\n value: function () {\n var _configureInit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee25$(_context25) {\n while (1) switch (_context25.prev = _context25.next) {\n case 0:\n t = this._webModel.load;\n if (!t) {\n _context25.next = 8;\n break;\n }\n if (!t.onInit) {\n _context25.next = 5;\n break;\n }\n this.init();\n return _context25.abrupt(\"return\");\n case 5:\n if (!t.onMessage) {\n _context25.next = 8;\n break;\n }\n this._loadOnFirstMessage = !0;\n return _context25.abrupt(\"return\");\n case 8:\n e || this.init();\n case 9:\n case \"end\":\n return _context25.stop();\n }\n }, _callee25, this);\n }));\n function configureInit(_x48) {\n return _configureInit.apply(this, arguments);\n }\n return configureInit;\n }()\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee26$(_context26) {\n while (1) switch (_context26.prev = _context26.next) {\n case 0:\n (i = this._messages) == null || i.removeError();\n t = this.attemptToCreateChat();\n _context26.t0 = t;\n if (!_context26.t0) {\n _context26.next = 6;\n break;\n }\n _context26.next = 6;\n return this.loadModel(t, e);\n case 6:\n case \"end\":\n return _context26.stop();\n }\n }, _callee26, this);\n }));\n function init(_x49) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n }, {\n key: \"attemptToCreateChat\",\n value: function attemptToCreateChat() {\n var t;\n if (w.chat) {\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", w.MULTIPLE_MODELS_ERROR), console.error(w.MULTIPLE_MODELS_ERROR);\n return;\n }\n if (this._isModelLoaded || this._isModelLoading) return;\n var e = this._webModel.worker;\n return Nn.use_web_worker && e ? new window.webLLM.ChatWorkerClient(e) : new window.webLLM.ChatModule();\n }\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n var i;\n var e = w.DEFAULT_MODEL;\n this._webModel.model && (e = this._webModel.model);\n var t = JSON.parse(JSON.stringify(Nn));\n if (this._webModel.urls) {\n var n = t.model_list.find(function (r) {\n return r.local_id = e;\n });\n n && (this._webModel.urls.model && (n.model_url = this._webModel.urls.model), this._webModel.urls.wasm && (n.model_lib_url = this._webModel.urls.wasm));\n }\n return (i = this._webModel.load) != null && i.skipCache && (t.use_cache = !1), {\n model: e,\n appConfig: t\n };\n }\n // prettier-ignore\n }, {\n key: \"loadModel\",\n value: function () {\n var _loadModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(e, t) {\n var _this14 = this;\n var o, a, l, c, d, h, u, i, n, r, _this$getConfig, f, m, p, _f;\n return _regeneratorRuntime().wrap(function _callee27$(_context27) {\n while (1) switch (_context27.prev = _context27.next) {\n case 0:\n this.scrollToTop(), w.chat = e, this._isModelLoading = !0;\n i = ((o = this._webModel.introMessage) == null ? void 0 : o.displayed) === !1;\n n = function n(f) {\n var m;\n (m = _this14._messages) == null || m.addNewMessage({\n html: \"<div>\".concat(f.text, \"</div>\"),\n overwrite: !0,\n sendUpdate: !1\n }), i && (setTimeout(function () {\n var p;\n return q.scrollToBottom((p = _this14._messages) == null ? void 0 : p.elementRef);\n }), i = !1);\n };\n w.chat.setInitProgressCallback(n);\n _context27.prev = 4;\n _this$getConfig = this.getConfig(), f = _this$getConfig.model, m = _this$getConfig.appConfig, p = {};\n this._webModel.instruction && (p.conv_config = {\n system: this._webModel.instruction\n });\n this._conversationHistory.length > 0 && (p.conversation_history = this._conversationHistory);\n _context27.next = 10;\n return w.chat.reload(f, p, m, t);\n case 10:\n r = _context27.sent;\n _context27.next = 16;\n break;\n case 13:\n _context27.prev = 13;\n _context27.t0 = _context27[\"catch\"](4);\n return _context27.abrupt(\"return\", this.unloadChat(_context27.t0));\n case 16:\n if ((l = (a = this.deepChat)._validationHandler) == null || l.call(a), (c = this._webModel.introMessage) != null && c.removeAfterLoad) this._webModel.introMessage.displayed === !1 ? (h = this._messages) == null || h.removeLastMessage() : (u = this._removeIntro) == null || u.call(this);else {\n _f = ii.setUpAfterLoad(r, this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n (d = this._messages) == null || d.addNewMessage({\n html: _f,\n overwrite: !0,\n sendUpdate: !1\n });\n }\n this._isModelLoaded = !0, this._isModelLoading = !1;\n case 18:\n case \"end\":\n return _context27.stop();\n }\n }, _callee27, this, [[4, 13]]);\n }));\n function loadModel(_x50, _x51) {\n return _loadModel.apply(this, arguments);\n }\n return loadModel;\n }()\n }, {\n key: \"unloadChat\",\n value: function () {\n var _unloadChat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee28$(_context28) {\n while (1) switch (_context28.prev = _context28.next) {\n case 0:\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", w.GENERIC_ERROR);\n console.error(e);\n this._isModelLoaded = !1;\n this._isModelLoading = !1;\n _context28.t0 = w.chat;\n if (!_context28.t0) {\n _context28.next = 9;\n break;\n }\n _context28.next = 8;\n return w.chat.unload();\n case 8:\n w.chat = void 0;\n case 9:\n case \"end\":\n return _context28.stop();\n }\n }, _callee28, this);\n }));\n function unloadChat(_x52) {\n return _unloadChat.apply(this, arguments);\n }\n return unloadChat;\n }()\n }, {\n key: \"immediateResp\",\n value: function () {\n var _immediateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee29$(_context29) {\n while (1) switch (_context29.prev = _context29.next) {\n case 0:\n _context29.next = 2;\n return i.generate(t, void 0, 0);\n case 2:\n _context29.t0 = _context29.sent;\n n = {\n text: _context29.t0\n };\n _context29.next = 6;\n return w.processResponse(this.deepChat, e, n);\n case 6:\n r = _context29.sent;\n r && e.addNewMessage(r), this.completionsHandlers.onFinish();\n case 8:\n case \"end\":\n return _context29.stop();\n }\n }, _callee29, this);\n }));\n function immediateResp(_x53, _x54, _x55) {\n return _immediateResp.apply(this, arguments);\n }\n return immediateResp;\n }()\n }, {\n key: \"streamResp\",\n value: function () {\n var _streamResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee31(e, t, i) {\n var _this15 = this;\n var n;\n return _regeneratorRuntime().wrap(function _callee31$(_context31) {\n while (1) switch (_context31.prev = _context31.next) {\n case 0:\n this.streamHandlers.abortStream.abort = function () {\n i.interruptGenerate();\n }, this.streamHandlers.onOpen();\n n = new me(e);\n _context31.next = 4;\n return i.generate(t, /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee30(r, o) {\n var a;\n return _regeneratorRuntime().wrap(function _callee30$(_context30) {\n while (1) switch (_context30.prev = _context30.next) {\n case 0:\n _context30.next = 2;\n return w.processResponse(_this15.deepChat, e, {\n text: o\n });\n case 2:\n a = _context30.sent;\n a && n.upsertStreamedMessage({\n text: a.text,\n overwrite: !0\n });\n case 4:\n case \"end\":\n return _context30.stop();\n }\n }, _callee30);\n }));\n return function (_x59, _x60) {\n return _ref8.apply(this, arguments);\n };\n }());\n case 4:\n n.finaliseStreamedMessage();\n this.streamHandlers.onClose();\n case 6:\n case \"end\":\n return _context31.stop();\n }\n }, _callee31, this);\n }));\n function streamResp(_x56, _x57, _x58) {\n return _streamResp.apply(this, arguments);\n }\n return streamResp;\n }()\n }, {\n key: \"generateRespByType\",\n value: function () {\n var _generateRespByType = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee32(e, t, i, n) {\n var r;\n return _regeneratorRuntime().wrap(function _callee32$(_context32) {\n while (1) switch (_context32.prev = _context32.next) {\n case 0:\n _context32.prev = 0;\n if (!i) {\n _context32.next = 6;\n break;\n }\n _context32.next = 4;\n return this.streamResp(e, t, n);\n case 4:\n _context32.next = 8;\n break;\n case 6:\n _context32.next = 8;\n return this.immediateResp(e, t, n);\n case 8:\n _context32.next = 13;\n break;\n case 10:\n _context32.prev = 10;\n _context32.t0 = _context32[\"catch\"](0);\n (r = this._messages) == null || r.addNewErrorMessage(\"service\"), console.log(_context32.t0);\n case 13:\n case \"end\":\n return _context32.stop();\n }\n }, _callee32, this, [[0, 10]]);\n }));\n function generateRespByType(_x61, _x62, _x63, _x64) {\n return _generateRespByType.apply(this, arguments);\n }\n return generateRespByType;\n }()\n }, {\n key: \"generateResp\",\n value: function () {\n var _generateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee33(e, t, i) {\n var n, _yield$v$processReque5, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee33$(_context33) {\n while (1) switch (_context33.prev = _context33.next) {\n case 0:\n n = t[t.length - 1].text;\n _context33.next = 3;\n return v.processRequestInterceptor(this.deepChat, {\n body: {\n text: n\n }\n });\n case 3:\n _yield$v$processReque5 = _context33.sent;\n r = _yield$v$processReque5.body;\n o = _yield$v$processReque5.error;\n a = !!this.stream;\n try {\n if (o) v.displayError(e, new Error(o)), (a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish)();else if (!r || !r.text) {\n l = A.INVALID_MODEL_REQUEST({\n body: r\n }, !1);\n console.error(l);\n c = a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish;\n v.onInterceptorError(e, l, c);\n } else this.generateRespByType(e, r.text, !!this.stream, i);\n } catch (l) {\n this.unloadChat(l);\n }\n case 8:\n case \"end\":\n return _context33.stop();\n }\n }, _callee33, this);\n }));\n function generateResp(_x65, _x66, _x67) {\n return _generateResp.apply(this, arguments);\n }\n return generateResp;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee34(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee34$(_context34) {\n while (1) switch (_context34.prev = _context34.next) {\n case 0:\n if (this._isModelLoaded) {\n _context34.next = 7;\n break;\n }\n if (!this._loadOnFirstMessage) {\n _context34.next = 6;\n break;\n }\n _context34.next = 4;\n return this.init();\n case 4:\n _context34.next = 7;\n break;\n case 6:\n return _context34.abrupt(\"return\");\n case 7:\n !w.chat || this._isModelLoading || ((i = this._webModel.introMessage) != null && i.removeAfterMessage && ((n = this._removeIntro) == null || n.call(this)), e.addLoadingMessage(), this.generateResp(e, t, w.chat));\n case 8:\n case \"end\":\n return _context34.stop();\n }\n }, _callee34, this);\n }));\n function callServiceAPI(_x68, _x69) {\n return _callServiceAPI2.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"canSubmit\",\n value: function canSubmit(e) {\n return !(e != null && e.trim()) || this._isModelLoading ? !1 : this._loadOnFirstMessage ? !0 : !!this._isModelLoaded;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !0;\n }\n }], [{\n key: \"setUpHistory\",\n value: function setUpHistory(e, t) {\n t.forEach(function (i, n) {\n if (i.role === b.USER_ROLE && i.text) {\n var r = t[n + 1];\n r != null && r.text && r.role !== b.USER_ROLE && e.push([i.text, r.text]);\n }\n });\n }\n }, {\n key: \"processResponse\",\n value: function () {\n var _processResponse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee35(e, t, i) {\n var r, n, o;\n return _regeneratorRuntime().wrap(function _callee35$(_context35) {\n while (1) switch (_context35.prev = _context35.next) {\n case 0:\n _context35.next = 2;\n return (r = e.responseInterceptor) == null ? void 0 : r.call(e, i);\n case 2:\n _context35.t0 = _context35.sent;\n if (_context35.t0) {\n _context35.next = 5;\n break;\n }\n _context35.t0 = i;\n case 5:\n n = _context35.t0;\n if (!n.error) {\n _context35.next = 11;\n break;\n }\n v.displayError(t, new Error(n.error));\n return _context35.abrupt(\"return\");\n case 11:\n if (!(!n || !n.text)) {\n _context35.next = 15;\n break;\n }\n o = A.INVALID_MODEL_RESPONSE(i, !!e.responseInterceptor, n);\n v.displayError(t, new Error(o));\n return _context35.abrupt(\"return\");\n case 15:\n return _context35.abrupt(\"return\", n);\n case 16:\n case \"end\":\n return _context35.stop();\n }\n }, _callee35);\n }));\n function processResponse(_x70, _x71, _x72) {\n return _processResponse.apply(this, arguments);\n }\n return processResponse;\n }()\n }, {\n key: \"clearAllCache\",\n value: function clearAllCache() {\n w.clearCache(\"webllm/model\"), w.clearCache(\"webllm/wasm\");\n }\n }, {\n key: \"clearCache\",\n value: function clearCache(e) {\n caches.open(e).then(function (t) {\n t.keys().then(function (i) {\n i.forEach(function (n) {\n t[\"delete\"](n);\n });\n });\n });\n }\n }]);\n }(Ke);\nw.GENERIC_ERROR = \"Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.\", w.MULTIPLE_MODELS_ERROR = \"Cannot run multiple web models\", w.WEB_LLM_NOT_FOUND_ERROR = \"WebLLM module not found\", w.DEFAULT_MODEL = \"Llama-2-7b-chat-hf-q4f32_1\", w.MODULE_SEARCH_LIMIT_S = 5;\nvar It = w;\nvar ni = /*#__PURE__*/function () {\n function ni() {\n _classCallCheck(this, ni);\n }\n return _createClass(ni, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n // bigcode/santacoder expects this so adding just-in-case\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n Array.isArray(r.error) && r.error[0] === \"Error in `parameters`: field required\" ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api-inference.huggingface.co/models/gpt2\",\n method: \"POST\",\n handleVerificationResult: ni.handleVerificationResult\n };\n }\n }]);\n}();\nvar Tt = /*#__PURE__*/function (_z) {\n // prettier-ignore\n function Tt(e, t, i, n, r, o) {\n var _this16;\n _classCallCheck(this, Tt);\n _this16 = _callSuper(this, Tt, [e, ni.buildKeyVerificationDetails(), ni.buildHeaders, r, o]), _this16.insertKeyPlaceholderText = \"Hugging Face Token\", _this16.keyHelpUrl = \"https://huggingface.co/settings/tokens\", _this16.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this16.permittedErrorPrefixes = [\"Authorization header\"], _this16.url = \"\".concat(Tt.URL_PREFIX).concat(i), _this16.textInputPlaceholderText = t, _typeof(n) == \"object\" && (n.model && (_this16.url = \"\".concat(Tt.URL_PREFIX).concat(n.model)), n.options && (_this16.rawBody.options = n.options), n.parameters && (_this16.rawBody.parameters = n.parameters));\n return _this16;\n }\n // prettier-ignore\n _inherits(Tt, _z);\n return _createClass(Tt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n var _n$options;\n var n = JSON.parse(JSON.stringify(e)),\n r = t[t.length - 1].text;\n if (r) return (_n$options = n.options) !== null && _n$options !== void 0 ? _n$options : n.options = {}, n.options.wait_for_model = !0, _objectSpread({\n inputs: r\n }, n);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee36$(_context36) {\n while (1) switch (_context36.prev = _context36.next) {\n case 0:\n if (this.connectSettings) {\n _context36.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = this.preprocessBody(this.rawBody, t, i);\n T.request(this, n, e);\n case 4:\n case \"end\":\n return _context36.stop();\n }\n }, _callee36, this);\n }));\n function callServiceAPI(_x73, _x74, _x75) {\n return _callServiceAPI3.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }]);\n}(z);\nTt.URL_PREFIX = \"https://api-inference.huggingface.co/models/\";\nvar ke = Tt;\nvar Ft = /*#__PURE__*/function (_ke) {\n // prettier-ignore\n function Ft(e, t, i, n, r, o) {\n var _this17;\n _classCallCheck(this, Ft);\n _this17 = _callSuper(this, Ft, [e, t, i, n, r, o]), _this17.isTextInputDisabled = !0, _this17.canSendMessage = Ft.canSendFile;\n return _this17;\n }\n _inherits(Ft, _ke);\n return _createClass(Ft, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n return i[0];\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee37(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee37$(_context37) {\n while (1) switch (_context37.prev = _context37.next) {\n case 0:\n if (this.connectSettings) {\n _context37.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context37.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n T.poll(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context37.stop();\n }\n }, _callee37, this);\n }));\n function callServiceAPI(_x76, _x77, _x78) {\n return _callServiceAPI4.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }], [{\n key: \"canSendFile\",\n value: function canSendFile(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(ke);\nvar po = /*#__PURE__*/function (_Ft) {\n // prettier-ignore\n function po(e) {\n _classCallCheck(this, po);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, po, [e, \"Attach an audio file\", \"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\", t, i, {\n audio: {}\n }]);\n }\n _inherits(po, _Ft);\n return _createClass(po, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee38(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee38$(_context38) {\n while (1) switch (_context38.prev = _context38.next) {\n case 0:\n if (!e.estimated_time) {\n _context38.next = 2;\n break;\n }\n return _context38.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context38.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context38.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context38.stop();\n }\n }, _callee38);\n }));\n function extractPollResultData(_x79) {\n return _extractPollResultData.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar mo = /*#__PURE__*/function (_Ft2) {\n function mo(e) {\n _classCallCheck(this, mo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.imageClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, mo, [e, \"Attach an image file\", \"google/vit-base-patch16-224\", t, i, {\n images: {}\n }]);\n }\n _inherits(mo, _Ft2);\n return _createClass(mo, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee39(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee39$(_context39) {\n while (1) switch (_context39.prev = _context39.next) {\n case 0:\n if (!e.estimated_time) {\n _context39.next = 2;\n break;\n }\n return _context39.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context39.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context39.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context39.stop();\n }\n }, _callee39);\n }));\n function extractPollResultData(_x80) {\n return _extractPollResultData2.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar Bt = \"data:image/png;base64,\";\nvar be = /*#__PURE__*/function () {\n function be() {\n _classCallCheck(this, be);\n }\n return _createClass(be, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n e.message ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.stability.ai/v1/engines/list\",\n method: \"GET\",\n handleVerificationResult: be.handleVerificationResult\n };\n }\n }]);\n}();\nvar Si = /*#__PURE__*/function (_z2) {\n // prettier-ignore\n function Si(e, t, i, n, r) {\n var _this18;\n _classCallCheck(this, Si);\n _this18 = _callSuper(this, Si, [e, t, i, n, r]), _this18.insertKeyPlaceholderText = \"Stability AI API Key\", _this18.keyHelpUrl = \"https://platform.stability.ai/docs/getting-started/authentication\", _this18.permittedErrorPrefixes = [\"Incorrect\", \"invalid_\"];\n return _this18;\n }\n _inherits(Si, _z2);\n return _createClass(Si);\n}(z);\nvar si = /*#__PURE__*/function (_Si) {\n function si(e) {\n var _this19;\n _classCallCheck(this, si);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this19 = _callSuper(this, si, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this19.url = \"https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale\", _this19.textInputPlaceholderText = \"Describe image changes\", _this19.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Upscale</b></div>\\n <p>Upload an image to generate a new one with higher resolution.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageUpscale;\n _typeof(r) == \"object\" && (r.engine_id && (_this19.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/upscale\")), si.cleanConfig(r), Object.assign(_this19.rawBody, r)), _this19.canSendMessage = si.canSendFileMessage;\n return _this19;\n }\n _inherits(si, _Si);\n return _createClass(si, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"image\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee40(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee40$(_context40) {\n while (1) switch (_context40.prev = _context40.next) {\n case 0:\n if (this.connectSettings) {\n _context40.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context40.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = this.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, n, e), !1);\n case 6:\n case \"end\":\n return _context40.stop();\n }\n }, _callee40, this);\n }));\n function callServiceAPI(_x81, _x82, _x83) {\n return _callServiceAPI5.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee41(e) {\n return _regeneratorRuntime().wrap(function _callee41$(_context41) {\n while (1) switch (_context41.prev = _context41.next) {\n case 0:\n if (!e.message) {\n _context41.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context41.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context41.stop();\n }\n }, _callee41);\n }));\n function extractResultData(_x84) {\n return _extractResultData2.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id;\n }\n }, {\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(Si);\nvar ri = /*#__PURE__*/function (_Si2) {\n function ri(e) {\n var _this20;\n _classCallCheck(this, ri);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this20 = _callSuper(this, ri, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this20.url = \"https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking\", _this20._maskSource = \"MASK_IMAGE_WHITE\", _this20.textInputPlaceholderText = \"Describe image changes\", _this20.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Masking</b></div>\\n <p>Upload an image, its mask image to create a new one based on the changes you have described for the mask area.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageMasking;\n _typeof(r) == \"object\" && (r.engine_id && (_this20.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/masking\")), r.weight !== void 0 && r.weight !== null && (_this20._imageWeight = r.weight), r.mask_source !== void 0 && r.mask_source !== null && (_this20._maskSource = r.mask_source), ri.cleanConfig(r), Object.assign(_this20.rawBody, r)), _this20.canSendMessage = ri.canSendFileTextMessage;\n return _this20;\n }\n _inherits(ri, _Si2);\n return _createClass(ri, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i, n) {\n var r = new FormData();\n return r.append(\"init_image\", t), r.append(\"mask_source\", String(this._maskSource)), r.append(\"mask_image\", i), n && n !== \"\" && r.append(\"text_prompts[0][text]\", n), this._imageWeight !== void 0 && this._imageWeight !== null && r.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (o) {\n r.append(o, String(e[o]));\n }), r.get(\"weight\") === void 0 && r.append(\"weight\", String(1)), r;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee42(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee42$(_context42) {\n while (1) switch (_context42.prev = _context42.next) {\n case 0:\n if (this.connectSettings) {\n _context42.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(!i || !i[0] || !i[1])) {\n _context42.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], i[1], n);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context42.stop();\n }\n }, _callee42, this);\n }));\n function callServiceAPI(_x85, _x86, _x87) {\n return _callServiceAPI6.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee43(e) {\n return _regeneratorRuntime().wrap(function _callee43$(_context43) {\n while (1) switch (_context43.prev = _context43.next) {\n case 0:\n if (!e.message) {\n _context43.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context43.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context43.stop();\n }\n }, _callee43);\n }));\n function extractResultData(_x88) {\n return _extractResultData3.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar go = /*#__PURE__*/function (_Ft3) {\n function go(e) {\n _classCallCheck(this, go);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioSpeechRecognition,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, go, [e, \"Attach an audio file\", \"facebook/wav2vec2-large-960h-lv60-self\", t, i, {\n audio: {}\n }]);\n }\n _inherits(go, _Ft3);\n return _createClass(go, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee44(e) {\n return _regeneratorRuntime().wrap(function _callee44$(_context44) {\n while (1) switch (_context44.prev = _context44.next) {\n case 0:\n if (!e.estimated_time) {\n _context44.next = 2;\n break;\n }\n return _context44.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context44.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context44.abrupt(\"return\", {\n text: e.text || \"\"\n });\n case 5:\n case \"end\":\n return _context44.stop();\n }\n }, _callee44);\n }));\n function extractPollResultData(_x89) {\n return _extractPollResultData3.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar bo = /*#__PURE__*/function (_ke2) {\n function bo(e) {\n _classCallCheck(this, bo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, bo, [e, \"Once upon a time\", \"gpt2\", t, i]);\n }\n _inherits(bo, _ke2);\n return _createClass(bo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee45(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee45$(_context45) {\n while (1) switch (_context45.prev = _context45.next) {\n case 0:\n if (!e.error) {\n _context45.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context45.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.generated_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context45.stop();\n }\n }, _callee45);\n }));\n function extractResultData(_x90) {\n return _extractResultData4.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar vo = /*#__PURE__*/function (_ke3) {\n function vo(e) {\n var _this21;\n _classCallCheck(this, vo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.questionAnswer,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this21 = _callSuper(this, vo, [e, \"Ask a question\", \"bert-large-uncased-whole-word-masking-finetuned-squad\", t, i]), _this21.permittedErrorPrefixes = [\"Authorization header\", \"Error in\"], _this21.context = t.context;\n return _this21;\n }\n _inherits(vo, _ke3);\n return _createClass(vo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n inputs: {\n question: i,\n context: this.context,\n options: {\n wait_for_model: !0\n }\n }\n };\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee46(e) {\n return _regeneratorRuntime().wrap(function _callee46$(_context46) {\n while (1) switch (_context46.prev = _context46.next) {\n case 0:\n if (!e.error) {\n _context46.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context46.abrupt(\"return\", {\n text: e.answer || \"\"\n });\n case 3:\n case \"end\":\n return _context46.stop();\n }\n }, _callee46);\n }));\n function extractResultData(_x91) {\n return _extractResultData5.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar yo = /*#__PURE__*/function (_ke4) {\n function yo(e) {\n _classCallCheck(this, yo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, yo, [e, \"Insert text to summarize\", \"facebook/bart-large-cnn\", t, i]);\n }\n _inherits(yo, _ke4);\n return _createClass(yo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee47(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee47$(_context47) {\n while (1) switch (_context47.prev = _context47.next) {\n case 0:\n if (!e.error) {\n _context47.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context47.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.summary_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context47.stop();\n }\n }, _callee47);\n }));\n function extractResultData(_x92) {\n return _extractResultData6.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar Eo = /*#__PURE__*/function (_ke5) {\n function Eo(e) {\n var _this22$maxMessages;\n var _this22;\n _classCallCheck(this, Eo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.conversation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this22 = _callSuper(this, Eo, [e, \"Ask me anything!\", \"facebook/blenderbot-400M-distill\", t, i]), (_this22$maxMessages = _this22.maxMessages) !== null && _this22$maxMessages !== void 0 ? _this22$maxMessages : _this22.maxMessages = -1;\n return _this22;\n }\n // prettier-ignore\n _inherits(Eo, _ke5);\n return _createClass(Eo, [{\n key: \"processMessages\",\n value: function processMessages(e) {\n var t = e.filter(function (a) {\n return a.text;\n }),\n i = t[t.length - 1].text,\n n = t.slice(0, t.length - 1);\n if (!i) return;\n var r = n.filter(function (a) {\n return a.role === \"user\";\n }).map(function (a) {\n return a.text;\n }),\n o = n.filter(function (a) {\n return a.role === \"ai\";\n }).map(function (a) {\n return a.text;\n });\n return {\n past_user_inputs: r,\n generated_responses: o,\n mostRecentMessageText: i\n };\n }\n // prettier-ignore\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var _i$options;\n var i = JSON.parse(JSON.stringify(e)),\n n = this.processMessages(t);\n if (n) return (_i$options = i.options) !== null && _i$options !== void 0 ? _i$options : i.options = {}, i.options.wait_for_model = !0, _objectSpread({\n inputs: {\n past_user_inputs: n.past_user_inputs,\n generated_responses: n.generated_responses,\n text: n.mostRecentMessageText\n }\n }, i);\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee48(e) {\n return _regeneratorRuntime().wrap(function _callee48$(_context48) {\n while (1) switch (_context48.prev = _context48.next) {\n case 0:\n if (!e.error) {\n _context48.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context48.abrupt(\"return\", {\n text: e.generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context48.stop();\n }\n }, _callee48);\n }));\n function extractResultData(_x93) {\n return _extractResultData7.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar oi = /*#__PURE__*/function (_Si3) {\n function oi(e) {\n var _this23;\n _classCallCheck(this, oi);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this23 = _callSuper(this, oi, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this23.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image\", _this23.textInputPlaceholderText = \"Describe image changes\", _this23.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Image to Image</b></div>\\n <p>Upload an image to create a new one with the changes you have described.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t.stabilityAI) == null ? void 0 : o.imageToImage;\n _typeof(r) == \"object\" && (r.engine_id && (_this23.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/text-to-image\")), r.weight !== void 0 && r.weight !== null && (_this23._imageWeight = r.weight), oi.cleanConfig(r), Object.assign(_this23.rawBody, r)), _this23.canSendMessage = oi.canSendFileTextMessage;\n return _this23;\n }\n _inherits(oi, _Si3);\n return _createClass(oi, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"init_image\", t), i && i !== \"\" && n.append(\"text_prompts[0][text]\", i), this._imageWeight !== void 0 && this._imageWeight !== null && n.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n.get(\"weight\") === void 0 && n.append(\"weight\", String(1)), n;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee49(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee49$(_context49) {\n while (1) switch (_context49.prev = _context49.next) {\n case 0:\n if (this.connectSettings) {\n _context49.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context49.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], n);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context49.stop();\n }\n }, _callee49, this);\n }));\n function callServiceAPI(_x94, _x95, _x96) {\n return _callServiceAPI7.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee50(e) {\n return _regeneratorRuntime().wrap(function _callee50$(_context50) {\n while (1) switch (_context50.prev = _context50.next) {\n case 0:\n if (!e.message) {\n _context50.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context50.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context50.stop();\n }\n }, _callee50);\n }));\n function extractResultData(_x97) {\n return _extractResultData8.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar xo = /*#__PURE__*/function (_ke6) {\n function xo(e) {\n _classCallCheck(this, xo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, xo, [e, \"Insert text to translate\", \"Helsinki-NLP/opus-tatoeba-en-ja\", t, i]);\n }\n _inherits(xo, _ke6);\n return _createClass(xo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee51(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee51$(_context51) {\n while (1) switch (_context51.prev = _context51.next) {\n case 0:\n if (!e.error) {\n _context51.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context51.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.translation_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context51.stop();\n }\n }, _callee51);\n }));\n function extractResultData(_x98) {\n return _extractResultData9.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar ai = /*#__PURE__*/function (_Si4) {\n function ai(e) {\n var _this24;\n _classCallCheck(this, ai);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI;\n _this24 = _callSuper(this, ai, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i]), _this24.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image\", _this24.textInputPlaceholderText = \"Describe an image\", _this24.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Text to Image</b></div>\\n <p>Insert text to generate an image.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var n = (r = t.stabilityAI) == null ? void 0 : r.textToImage;\n _typeof(n) == \"object\" && (n.engine_id && (_this24.url = \"https://api.stability.ai/v1/generation/\".concat(n.engine_id, \"/text-to-image\")), n.weight !== void 0 && n.weight !== null && (_this24._imageWeight = n.weight), ai.cleanConfig(n), Object.assign(_this24.rawBody, n)), _this24.canSendMessage = ai.canSendTextMessage;\n return _this24;\n }\n _inherits(ai, _Si4);\n return _createClass(ai, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = {\n text: t\n };\n return this._imageWeight && (n.weight = this._imageWeight), i.text_prompts = [n], i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee52(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee52$(_context52) {\n while (1) switch (_context52.prev = _context52.next) {\n case 0:\n if (this.connectSettings) {\n _context52.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context52.stop();\n }\n }, _callee52, this);\n }));\n function callServiceAPI(_x99, _x100) {\n return _callServiceAPI8.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee53(e) {\n return _regeneratorRuntime().wrap(function _callee53$(_context53) {\n while (1) switch (_context53.prev = _context53.next) {\n case 0:\n if (!e.message) {\n _context53.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context53.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context53.stop();\n }\n }, _callee53);\n }));\n function extractResultData(_x101) {\n return _extractResultData10.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendTextMessage\",\n value: function canSendTextMessage(e) {\n return !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar _o = /*#__PURE__*/function (_ke7) {\n function _o(e) {\n var _this25;\n _classCallCheck(this, _o);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.fillMask,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this25 = _callSuper(this, _o, [e, \"The goal of life is [MASK].\", \"bert-base-uncased\", t, i]), _this25.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].</p>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this25.permittedErrorPrefixes = [\"Authorization header\", \"No mask_token\"];\n return _this25;\n }\n _inherits(_o, _ke7);\n return _createClass(_o, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee54(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee54$(_context54) {\n while (1) switch (_context54.prev = _context54.next) {\n case 0:\n if (!e.error) {\n _context54.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context54.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.sequence) || \"\"\n });\n case 3:\n case \"end\":\n return _context54.stop();\n }\n }, _callee54);\n }));\n function extractResultData(_x102) {\n return _extractResultData11.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar li = /*#__PURE__*/function () {\n function li() {\n _classCallCheck(this, li);\n }\n return _createClass(li, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.cohere.ai/v1/generate\",\n method: \"POST\",\n handleVerificationResult: li.handleVerificationResult,\n body: JSON.stringify({\n prompt: \"\"\n })\n };\n }\n }]);\n}();\nvar fn = /*#__PURE__*/function (_z3) {\n function fn(e, t, i, n, r) {\n var _this26;\n _classCallCheck(this, fn);\n _this26 = _callSuper(this, fn, [e, li.buildKeyVerificationDetails(), li.buildHeaders, r]), _this26.insertKeyPlaceholderText = \"Cohere API Key\", _this26.keyHelpUrl = \"https://dashboard.cohere.ai/api-keys\", _this26.permittedErrorPrefixes = [\"invalid\"], _this26.url = t, _this26.textInputPlaceholderText = i, n && _typeof(n) == \"object\" && Object.assign(_this26.rawBody, n);\n return _this26;\n }\n _inherits(fn, _z3);\n return _createClass(fn);\n}(z);\nvar So = /*#__PURE__*/function (_fn) {\n function So(e) {\n _classCallCheck(this, So);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, So, [e, \"https://api.cohere.ai/v1/generate\", \"Once upon a time\", t, i]);\n }\n _inherits(So, _fn);\n return _createClass(So, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n prompt: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee55(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee55$(_context55) {\n while (1) switch (_context55.prev = _context55.next) {\n case 0:\n if (this.connectSettings) {\n _context55.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context55.stop();\n }\n }, _callee55, this);\n }));\n function callServiceAPI(_x103, _x104) {\n return _callServiceAPI9.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee56(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee56$(_context56) {\n while (1) switch (_context56.prev = _context56.next) {\n case 0:\n if (!e.message) {\n _context56.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context56.abrupt(\"return\", {\n text: ((t = e.generations) == null ? void 0 : t[0].text) || \"\"\n });\n case 3:\n case \"end\":\n return _context56.stop();\n }\n }, _callee56);\n }));\n function extractResultData(_x105) {\n return _extractResultData12.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar wo = /*#__PURE__*/function (_fn2) {\n function wo(e) {\n _classCallCheck(this, wo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, wo, [e, \"https://api.cohere.ai/v1/summarize\", \"Insert text to summarize\", t, i]);\n }\n _inherits(wo, _fn2);\n return _createClass(wo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n text: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee57(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee57$(_context57) {\n while (1) switch (_context57.prev = _context57.next) {\n case 0:\n if (this.connectSettings) {\n _context57.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context57.stop();\n }\n }, _callee57, this);\n }));\n function callServiceAPI(_x106, _x107) {\n return _callServiceAPI10.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee58(e) {\n return _regeneratorRuntime().wrap(function _callee58$(_context58) {\n while (1) switch (_context58.prev = _context58.next) {\n case 0:\n if (!e.message) {\n _context58.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context58.abrupt(\"return\", {\n text: e.summary || \"\"\n });\n case 3:\n case \"end\":\n return _context58.stop();\n }\n }, _callee58);\n }));\n function extractResultData(_x108) {\n return _extractResultData13.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar O = /*#__PURE__*/function () {\n function O() {\n _classCallCheck(this, O);\n }\n return _createClass(O, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.openai.com/v1/models\",\n method: \"GET\",\n handleVerificationResult: O.handleVerificationResult\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"directFetch\",\n value: function () {\n var _directFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee59(e, t, i) {\n var n,\n r,\n _args59 = arguments;\n return _regeneratorRuntime().wrap(function _callee59$(_context59) {\n while (1) switch (_context59.prev = _context59.next) {\n case 0:\n n = _args59.length > 3 && _args59[3] !== undefined ? _args59[3] : !0;\n e.connectSettings.method = i;\n _context59.next = 4;\n return v.fetch(e, e.connectSettings.headers, n, t).then(function (o) {\n return v.processResponseByType(o);\n });\n case 4:\n r = _context59.sent;\n if (!r.error) {\n _context59.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context59.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context59.stop();\n }\n }, _callee59);\n }));\n function directFetch(_x109, _x110, _x111) {\n return _directFetch.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n}();\nvar rt = /*#__PURE__*/function (_z4) {\n function rt(e) {\n var _o$model, _a$voice;\n var _this27;\n _classCallCheck(this, rt);\n var r, o, a;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this27 = _callSuper(this, rt, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this27.insertKeyPlaceholderText = \"OpenAI API Key\", _this27.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this27.url = \"https://api.openai.com/v1/audio/speech\", _this27.permittedErrorPrefixes = [\"Invalid\"], _this27.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Text To Speech</b></div>\\n <p>Generate an audio file based on your text input.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/text-to-speech\\\">here</a> for more information.</p>\";\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.textToSpeech;\n _typeof(n) == \"object\" && Object.assign(_this27.rawBody, n), (_o$model = (o = _this27.rawBody).model) !== null && _o$model !== void 0 ? _o$model : o.model = rt.DEFAULT_MODEL, (_a$voice = (a = _this27.rawBody).voice) !== null && _a$voice !== void 0 ? _a$voice : a.voice = rt.DEFAULT_VOIDE, _this27.textInputPlaceholderText = \"Insert text to generate audio\", _this27.rawBody.response_format = \"mp3\";\n return _this27;\n }\n _inherits(rt, _z4);\n return _createClass(rt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.input = n), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee60(e, t) {\n var n, i;\n return _regeneratorRuntime().wrap(function _callee60$(_context60) {\n while (1) switch (_context60.prev = _context60.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context60.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n this.url = this.connectSettings.url || this.url;\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 5:\n case \"end\":\n return _context60.stop();\n }\n }, _callee60, this);\n }));\n function callServiceAPI(_x112, _x113) {\n return _callServiceAPI11.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee61(e) {\n return _regeneratorRuntime().wrap(function _callee61$(_context61) {\n while (1) switch (_context61.prev = _context61.next) {\n case 0:\n if (!(e instanceof Blob)) {\n _context61.next = 2;\n break;\n }\n return _context61.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 2:\n if (!e.error) {\n _context61.next = 4;\n break;\n }\n throw e.error.message;\n case 4:\n return _context61.abrupt(\"return\", {\n error: \"error\"\n });\n case 5:\n case \"end\":\n return _context61.stop();\n }\n }, _callee61);\n }));\n function extractResultData(_x114) {\n return _extractResultData14.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nrt.DEFAULT_MODEL = \"tts-1\", rt.DEFAULT_VOIDE = \"alloy\";\nvar Qi = rt;\nvar de = /*#__PURE__*/function (_z5) {\n function de(e) {\n var _o$model2;\n var _this28;\n _classCallCheck(this, de);\n var r, o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this28 = _callSuper(this, de, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i, {\n audio: {}\n }]), _this28.insertKeyPlaceholderText = \"OpenAI API Key\", _this28.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this28.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Speech To Text</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text. You can optionally provide text to guide the audio\\n processing.\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/speech-to-text\\\">here</a> for more info.</p>\", _this28.url = \"\", _this28.permittedErrorPrefixes = [\"Invalid\"], _this28.textInputPlaceholderText = \"Upload an audio file\", _this28._service_url = de.AUDIO_TRANSCRIPTIONS_URL;\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.audio;\n _typeof(n) == \"object\" && (_this28.processConfig(n), de.cleanConfig(n), Object.assign(_this28.rawBody, n)), (_o$model2 = (o = _this28.rawBody).model) !== null && _o$model2 !== void 0 ? _o$model2 : o.model = de.DEFAULT_MODEL, _this28.rawBody.response_format = \"json\", _this28.canSendMessage = de.canSendFileMessage;\n return _this28;\n }\n _inherits(de, _z5);\n return _createClass(de, [{\n key: \"processConfig\",\n value: function processConfig(e) {\n e != null && e.type && e.type === \"translation\" && (this._service_url = de.AUDIO_TRANSLATIONS_URL, delete e.language);\n }\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.prompt = n), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee62(e, t, i) {\n var o, n, r;\n return _regeneratorRuntime().wrap(function _callee62$(_context62) {\n while (1) switch (_context62.prev = _context62.next) {\n case 0:\n if ((o = this.connectSettings) != null && o.headers) {\n _context62.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context62.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n this.url = this.connectSettings.url || this._service_url;\n n = this.preprocessBody(this.rawBody, t), r = de.createFormDataBody(n, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 7:\n case \"end\":\n return _context62.stop();\n }\n }, _callee62, this);\n }));\n function callServiceAPI(_x115, _x116, _x117) {\n return _callServiceAPI12.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee63(e) {\n return _regeneratorRuntime().wrap(function _callee63$(_context63) {\n while (1) switch (_context63.prev = _context63.next) {\n case 0:\n if (!e.error) {\n _context63.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context63.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context63.stop();\n }\n }, _callee63);\n }));\n function extractResultData(_x118) {\n return _extractResultData15.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }, {\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.type;\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"file\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n }]);\n}(z);\nde.AUDIO_TRANSCRIPTIONS_URL = \"https://api.openai.com/v1/audio/transcriptions\", de.AUDIO_TRANSLATIONS_URL = \"https://api.openai.com/v1/audio/translations\", de.DEFAULT_MODEL = \"whisper-1\";\nvar en = de;\nvar oe = /*#__PURE__*/function () {\n function oe() {\n _classCallCheck(this, oe);\n }\n return _createClass(oe, null, [{\n key: \"buildTextToSpeechHeaders\",\n value: function buildTextToSpeechHeaders(e, t) {\n return {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/ssml+xml\",\n \"X-Microsoft-OutputFormat\": e\n };\n }\n }, {\n key: \"buildSpeechToTextHeaders\",\n value: function buildSpeechToTextHeaders(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n Accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleSpeechVerificationResult\",\n value: function handleSpeechVerificationResult(e, t, i, n) {\n e.error ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildSpeechKeyVerificationDetails\",\n value: function buildSpeechKeyVerificationDetails(e) {\n return {\n url: \"https://\".concat(e, \".api.cognitive.microsoft.com/sts/v1.0/issuetoken\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: oe.handleSpeechVerificationResult\n };\n }\n }, {\n key: \"buildSummarizationHeader\",\n value: function buildSummarizationHeader(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleLanguageVerificationResult\",\n value: function handleLanguageVerificationResult(e, t, i, n) {\n var o;\n ((o = e.error) == null ? void 0 : o.code) === \"401\" ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildLanguageKeyVerificationDetails\",\n value: function buildLanguageKeyVerificationDetails(e) {\n return {\n url: \"\".concat(e, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: oe.handleLanguageVerificationResult\n };\n }\n // prettier-ignore\n }, {\n key: \"handleTranslationVerificationResult\",\n value: function handleTranslationVerificationResult(e, t, i, n) {\n e.json().then(function (o) {\n !Array.isArray(o) && o.error.code === 401e3 ? n(A.INVALID_KEY) : i(t);\n });\n }\n }, {\n key: \"buildTranslationKeyVerificationDetails\",\n value: function buildTranslationKeyVerificationDetails(e) {\n return {\n url: \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es\",\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return oe.buildTranslationHeaders(e, t);\n },\n handleVerificationResult: oe.handleTranslationVerificationResult\n };\n }\n }, {\n key: \"buildTranslationHeaders\",\n value: function buildTranslationHeaders(e, t) {\n var i = {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/json\"\n };\n return e && (i[\"Ocp-Apim-Subscription-Region\"] = e), i;\n }\n }]);\n}();\nvar To = /*#__PURE__*/function (_z6) {\n // prettier-ignore\n function To(e, t, i, n, r) {\n var _this29;\n _classCallCheck(this, To);\n _this29 = _callSuper(this, To, [e, oe.buildLanguageKeyVerificationDetails(i), t, n, r]), _this29.insertKeyPlaceholderText = \"Azure Language Subscription Key\", _this29.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this29.permittedErrorPrefixes = [\"Access\"];\n return _this29;\n }\n _inherits(To, _z6);\n return _createClass(To);\n}(z);\nvar Co = /*#__PURE__*/function (_To) {\n function Co(e) {\n var _a$language;\n var _this30;\n _classCallCheck(this, Co);\n var n, r, o, a;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this30 = _callSuper(this, Co, [e, oe.buildSummarizationHeader, t.endpoint, i]), _this30.url = \"\", _this30.textInputPlaceholderText = \"Insert text to summarize\", (_a$language = (a = _this30.rawBody).language) !== null && _a$language !== void 0 ? _a$language : a.language = \"en\", Object.assign(_this30.rawBody, t), _this30.url = \"\".concat(t.endpoint, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\");\n return _this30;\n }\n _inherits(Co, _To);\n return _createClass(Co, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n analysisInput: {\n documents: [{\n id: \"1\",\n language: e.language,\n text: i\n }]\n },\n tasks: [{\n kind: \"ExtractiveSummarization\"\n }]\n };\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee64(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee64$(_context64) {\n while (1) switch (_context64.prev = _context64.next) {\n case 0:\n if (this.connectSettings) {\n _context64.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e), this.messages = e;\n case 4:\n case \"end\":\n return _context64.stop();\n }\n }, _callee64, this);\n }));\n function callServiceAPI(_x119, _x120) {\n return _callServiceAPI13.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee65(e) {\n var t, _i10, n;\n return _regeneratorRuntime().wrap(function _callee65$(_context65) {\n while (1) switch (_context65.prev = _context65.next) {\n case 0:\n if (!e.error) {\n _context65.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n if (this.messages && this.completionsHandlers) {\n _i10 = e.headers.get(\"operation-location\"), n = {\n method: \"GET\",\n headers: (t = this.connectSettings) == null ? void 0 : t.headers\n };\n T.executePollRequest(this, _i10, n, this.messages);\n }\n return _context65.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 4:\n case \"end\":\n return _context65.stop();\n }\n }, _callee65, this);\n }));\n function extractResultData(_x121) {\n return _extractResultData16.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee66(e) {\n var t, _iterator, _step, _i11;\n return _regeneratorRuntime().wrap(function _callee66$(_context66) {\n while (1) switch (_context66.prev = _context66.next) {\n case 0:\n if (!e.error) {\n _context66.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!(e.status === \"running\")) {\n _context66.next = 4;\n break;\n }\n return _context66.abrupt(\"return\", {\n timeoutMS: 2e3\n });\n case 4:\n if (!(e.errors.length > 0)) {\n _context66.next = 6;\n break;\n }\n throw e.errors[0];\n case 6:\n if (!(e.tasks.items[0].results.errors.length > 0)) {\n _context66.next = 8;\n break;\n }\n throw e.tasks.items[0].results.errors[0];\n case 8:\n t = \"\";\n _iterator = _createForOfIteratorHelper(e.tasks.items[0].results.documents[0].sentences);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _i11 = _step.value;\n t += _i11.text;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return _context66.abrupt(\"return\", {\n text: t || \"\"\n });\n case 12:\n case \"end\":\n return _context66.stop();\n }\n }, _callee66);\n }));\n function extractPollResultData(_x122) {\n return _extractPollResultData4.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(To);\nvar Et = /*#__PURE__*/function () {\n function Et() {\n _classCallCheck(this, Et);\n }\n return _createClass(Et, null, [{\n key: \"poll\",\n value: function () {\n var _poll2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee67(e, t) {\n var i, a, l, d;\n return _regeneratorRuntime().wrap(function _callee67$(_context67) {\n while (1) switch (_context67.prev = _context67.next) {\n case 0:\n i = {\n authorization: e,\n \"content-type\": \"application/json\"\n };\n _context67.t0 = \"https://api.assemblyai.com/v2/transcript/\";\n _context67.next = 4;\n return fetch(\"https://api.assemblyai.com/v2/transcript\", {\n method: \"POST\",\n body: JSON.stringify({\n audio_url: t\n }),\n headers: i\n });\n case 4:\n _context67.next = 6;\n return _context67.sent.json();\n case 6:\n _context67.t1 = _context67.sent.id;\n a = _context67.t0.concat.call(_context67.t0, _context67.t1);\n case 8:\n if (l) {\n _context67.next = 24;\n break;\n }\n _context67.next = 11;\n return fetch(a, {\n headers: i\n });\n case 11:\n _context67.next = 13;\n return _context67.sent.json();\n case 13:\n d = _context67.sent;\n if (!(d.status === \"completed\")) {\n _context67.next = 18;\n break;\n }\n l = d;\n _context67.next = 22;\n break;\n case 18:\n if (!(d.status === \"error\")) {\n _context67.next = 20;\n break;\n }\n throw new Error(\"Transcription failed: \".concat(d.error));\n case 20:\n _context67.next = 22;\n return new Promise(function (h) {\n return setTimeout(h, 3e3);\n });\n case 22:\n _context67.next = 8;\n break;\n case 24:\n return _context67.abrupt(\"return\", l);\n case 25:\n case \"end\":\n return _context67.stop();\n }\n }, _callee67);\n }));\n function poll(_x123, _x124) {\n return _poll2.apply(this, arguments);\n }\n return poll;\n }()\n }, {\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: e,\n \"Content-Type\": \"application/octet-stream\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.assemblyai.com/v2/upload\",\n method: \"POST\",\n handleVerificationResult: Et.handleVerificationResult\n };\n }\n }]);\n}();\nvar pn = /*#__PURE__*/function (_z7) {\n function pn(e) {\n var _this31;\n _classCallCheck(this, pn);\n var i;\n var t = (i = e.directConnection) == null ? void 0 : i.assemblyAI;\n _this31 = _callSuper(this, pn, [e, Et.buildKeyVerificationDetails(), Et.buildHeaders, t, {\n audio: {}\n }]), _this31.insertKeyPlaceholderText = \"AssemblyAI API Key\", _this31.keyHelpUrl = \"https://www.assemblyai.com/app/account\", _this31.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>AssemblyAI Audio</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"https://www.assemblyai.com/docs/Guides/transcribing_an_audio_file#get-started\\\">here</a> for more info.\\n </p>\", _this31.url = \"https://api.assemblyai.com/v2/upload\", _this31.isTextInputDisabled = !0, _this31.textInputPlaceholderText = \"Upload an audio file\", _this31.permittedErrorPrefixes = [\"Authentication\", \"Invalid\"], _this31.canSendMessage = pn.canFileSendMessage;\n return _this31;\n }\n _inherits(pn, _z7);\n return _createClass(pn, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee68(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee68$(_context68) {\n while (1) switch (_context68.prev = _context68.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context68.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context68.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n T.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context68.stop();\n }\n }, _callee68, this);\n }));\n function callServiceAPI(_x125, _x126, _x127) {\n return _callServiceAPI14.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee69(e) {\n var n, r, t;\n return _regeneratorRuntime().wrap(function _callee69$(_context69) {\n while (1) switch (_context69.prev = _context69.next) {\n case 0:\n if (!e.error) {\n _context69.next = 2;\n break;\n }\n throw e.error;\n case 2:\n t = (r = (n = this.connectSettings) == null ? void 0 : n.headers) == null ? void 0 : r.Authorization;\n _context69.next = 5;\n return Et.poll(t, e.upload_url);\n case 5:\n _context69.t0 = _context69.sent.text;\n return _context69.abrupt(\"return\", {\n text: _context69.t0\n });\n case 7:\n case \"end\":\n return _context69.stop();\n }\n }, _callee69, this);\n }));\n function extractResultData(_x128) {\n return _extractResultData17.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(z);\nvar cs = /*#__PURE__*/function (_z8) {\n // prettier-ignore\n function cs(e, t, i, n, r) {\n var _this32;\n _classCallCheck(this, cs);\n _this32 = _callSuper(this, cs, [e, oe.buildSpeechKeyVerificationDetails(i), t, n, r]), _this32.insertKeyPlaceholderText = \"Azure Speech Subscription Key\", _this32.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\";\n return _this32;\n }\n _inherits(cs, _z8);\n return _createClass(cs);\n}(z);\nvar yi = /*#__PURE__*/function (_cs) {\n // prettier-ignore\n function yi(e) {\n var _a$lang, _l$name, _c$gender;\n var _this33;\n _classCallCheck(this, yi);\n var n, r, o, a, l, c;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.textToSpeech,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this33 = _callSuper(this, yi, [e, oe.buildTextToSpeechHeaders.bind({}, (t == null ? void 0 : t.outputFormat) || \"audio-16khz-128kbitrate-mono-mp3\"), t.region, i]), _this33.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Text To Speech</b></div>\\n <p>Insert text to synthesize it to audio.\\n <p>\\n Click <a href=\\\"\".concat(yi.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this33.url = \"\", Object.assign(_this33.rawBody, t), (_a$lang = (a = _this33.rawBody).lang) !== null && _a$lang !== void 0 ? _a$lang : a.lang = \"en-US\", (_l$name = (l = _this33.rawBody).name) !== null && _l$name !== void 0 ? _l$name : l.name = \"en-US-JennyNeural\", (_c$gender = (c = _this33.rawBody).gender) !== null && _c$gender !== void 0 ? _c$gender : c.gender = \"Female\", _this33.url = \"https://\".concat(t.region, \".tts.speech.microsoft.com/cognitiveservices/v1\");\n return _this33;\n }\n _inherits(yi, _cs);\n return _createClass(yi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return \"<speak version='1.0' xml:lang='\".concat(e.lang, \"'>\\n <voice xml:lang='\").concat(e.lang, \"' xml:gender='\").concat(e.gender, \"' name='\").concat(e.name, \"'>\\n \").concat(i, \"\\n </voice>\\n </speak>\");\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee70(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee70$(_context70) {\n while (1) switch (_context70.prev = _context70.next) {\n case 0:\n if (this.connectSettings) {\n _context70.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e, !1);\n case 4:\n case \"end\":\n return _context70.stop();\n }\n }, _callee70, this);\n }));\n function callServiceAPI(_x129, _x130) {\n return _callServiceAPI15.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee71(e) {\n return _regeneratorRuntime().wrap(function _callee71$(_context71) {\n while (1) switch (_context71.prev = _context71.next) {\n case 0:\n return _context71.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 1:\n case \"end\":\n return _context71.stop();\n }\n }, _callee71);\n }));\n function extractResultData(_x131) {\n return _extractResultData18.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(cs);\nyi.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar tn = yi;\nvar Ct = /*#__PURE__*/function (_cs2) {\n function Ct(e) {\n var _this34;\n _classCallCheck(this, Ct);\n var o, a, l;\n var t = (a = (o = e.directConnection) == null ? void 0 : o.azure) == null ? void 0 : a.speechToText,\n i = (l = e.directConnection) == null ? void 0 : l.azure,\n n = {\n audio: {\n files: {\n acceptedFormats: \".wav,.ogg\"\n }\n }\n };\n _this34 = _callSuper(this, Ct, [e, oe.buildSpeechToTextHeaders, t.region, i, n]), _this34.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Speech To Text</b></div>\\n <p><b>Upload a .wav or .ogg audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"\".concat(Ct.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this34.url = \"\", _this34.isTextInputDisabled = !0, _this34.textInputPlaceholderText = \"Upload an audio file\", _this34.canSendMessage = Ct.canFileSendMessage;\n var r = t.lang || \"en-US\";\n _this34.url = \"https://\".concat(t.region, \".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=\").concat(r, \"&format=detailed\"), _this34.recordAudio = void 0;\n return _this34;\n }\n _inherits(Ct, _cs2);\n return _createClass(Ct, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee72(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee72$(_context72) {\n while (1) switch (_context72.prev = _context72.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context72.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context72.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n (r = this.connectSettings) != null && r.headers && (this.connectSettings.headers[\"Content-Type\"] = i[0].name.toLocaleLowerCase().endsWith(\".wav\") ? \"audio/wav; codecs=audio/pcm; samplerate=16000\" : \"audio/ogg; codecs=opus\"), T.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context72.stop();\n }\n }, _callee72, this);\n }));\n function callServiceAPI(_x132, _x133, _x134) {\n return _callServiceAPI16.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee73(e) {\n return _regeneratorRuntime().wrap(function _callee73$(_context73) {\n while (1) switch (_context73.prev = _context73.next) {\n case 0:\n if (!e.error) {\n _context73.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context73.abrupt(\"return\", {\n text: e.DisplayText || \"\"\n });\n case 3:\n case \"end\":\n return _context73.stop();\n }\n }, _callee73);\n }));\n function extractResultData(_x135) {\n return _extractResultData19.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(cs);\nCt.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar nn = Ct;\nvar ko = /*#__PURE__*/function (_z9) {\n // prettier-ignore\n function ko(e) {\n var _this35;\n _classCallCheck(this, ko);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this35 = _callSuper(this, ko, [e, oe.buildTranslationKeyVerificationDetails(t.region), oe.buildTranslationHeaders.bind({}, t == null ? void 0 : t.region), i]), _this35.insertKeyPlaceholderText = \"Azure Translate Subscription Key\", _this35.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this35.url = \"\", _this35.url = \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=\".concat(t.language || \"es\");\n return _this35;\n }\n _inherits(ko, _z9);\n return _createClass(ko, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e) {\n var t = e[e.length - 1].text;\n if (t) return [{\n Text: t\n }];\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee74(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee74$(_context74) {\n while (1) switch (_context74.prev = _context74.next) {\n case 0:\n if (this.connectSettings) {\n _context74.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context74.stop();\n }\n }, _callee74, this);\n }));\n function callServiceAPI(_x136, _x137) {\n return _callServiceAPI17.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee75(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee75$(_context75) {\n while (1) switch (_context75.prev = _context75.next) {\n case 0:\n if (!Array.isArray(e)) {\n _context75.next = 2;\n break;\n }\n return _context75.abrupt(\"return\", {\n text: ((t = e[0].translations) == null ? void 0 : t[0].text) || \"\"\n });\n case 2:\n throw e.error;\n case 3:\n case \"end\":\n return _context75.stop();\n }\n }, _callee75);\n }));\n function extractResultData(_x138) {\n return _extractResultData20.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar Q = /*#__PURE__*/function () {\n function Q() {\n _classCallCheck(this, Q);\n }\n return _createClass(Q, null, [{\n key: \"storeFiles\",\n value: function () {\n var _storeFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee77(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee77$(_context77) {\n while (1) switch (_context77.prev = _context77.next) {\n case 0:\n n = e.connectSettings.headers;\n if (n) {\n _context77.next = 3;\n break;\n }\n return _context77.abrupt(\"return\");\n case 3:\n e.url = \"https://api.openai.com/v1/files\";\n r = n[v.CONTENT_TYPE];\n delete n[v.CONTENT_TYPE];\n o = i.map( /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee76(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee76$(_context76) {\n while (1) switch (_context76.prev = _context76.next) {\n case 0:\n l = new FormData();\n return _context76.abrupt(\"return\", (l.append(\"purpose\", \"assistants\"), l.append(\"file\", a), new Promise(function (c) {\n c(O.directFetch(e, l, \"POST\", !1));\n })));\n case 2:\n case \"end\":\n return _context76.stop();\n }\n }, _callee76);\n }));\n return function (_x142) {\n return _ref9.apply(this, arguments);\n };\n }());\n _context77.prev = 7;\n _context77.next = 10;\n return Promise.all(o);\n case 10:\n a = _context77.sent.map(function (l) {\n return {\n id: l.id,\n name: l.filename\n };\n });\n return _context77.abrupt(\"return\", (n[v.CONTENT_TYPE] = r, a));\n case 14:\n _context77.prev = 14;\n _context77.t0 = _context77[\"catch\"](7);\n throw n[v.CONTENT_TYPE] = r, v.displayError(t, _context77.t0), e.completionsHandlers.onFinish(), _context77.t0;\n case 17:\n case \"end\":\n return _context77.stop();\n }\n }, _callee77, null, [[7, 14]]);\n }));\n function storeFiles(_x139, _x140, _x141) {\n return _storeFiles.apply(this, arguments);\n }\n return storeFiles;\n }()\n }, {\n key: \"getType\",\n value: function getType(e, t) {\n var i = e[t].path;\n return !i || i.endsWith(\"png\") ? \"image\" : \"any\";\n }\n }, {\n key: \"getFiles\",\n value: function () {\n var _getFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee78(e, t) {\n var i, r;\n return _regeneratorRuntime().wrap(function _callee78$(_context78) {\n while (1) switch (_context78.prev = _context78.next) {\n case 0:\n i = t.map(function (_ref10) {\n var o = _ref10.fileId;\n return e.url = \"https://api.openai.com/v1/files/\".concat(o, \"/content\"), new Promise(function (a) {\n a(O.directFetch(e, void 0, \"GET\", !1));\n });\n });\n _context78.next = 3;\n return Promise.all(i);\n case 3:\n r = _context78.sent.map(function (o, a) {\n return new Promise(function (l) {\n var c = new FileReader();\n c.readAsDataURL(o), c.onload = function (d) {\n l({\n src: d.target.result,\n name: t[a].name,\n type: Q.getType(t, a)\n });\n };\n });\n });\n _context78.next = 6;\n return Promise.all(r);\n case 6:\n return _context78.abrupt(\"return\", _context78.sent);\n case 7:\n case \"end\":\n return _context78.stop();\n }\n }, _callee78);\n }));\n function getFiles(_x143, _x144) {\n return _getFiles.apply(this, arguments);\n }\n return getFiles;\n }()\n }, {\n key: \"getFileName\",\n value: function getFileName(e) {\n var t = e.split(\"/\");\n return t[t.length - 1];\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndNewText\",\n value: function () {\n var _getFilesAndNewText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee79(e, t, i, n) {\n var o, a, r;\n return _regeneratorRuntime().wrap(function _callee79$(_context79) {\n while (1) switch (_context79.prev = _context79.next) {\n case 0:\n _context79.t0 = t.length > 0;\n if (!_context79.t0) {\n _context79.next = 6;\n break;\n }\n _context79.next = 4;\n return Q.getFiles(e, t);\n case 4:\n r = _context79.sent;\n (o = n == null ? void 0 : n.text) != null && o.value && r.forEach(function (l, c) {\n var h;\n if (!l.src) return;\n var d = t[c].path;\n (h = n == null ? void 0 : n.text) != null && h.value && d && (n.text.value = n.text.value.replace(d, l.src));\n });\n case 6:\n return _context79.abrupt(\"return\", (a = n == null ? void 0 : n.text) != null && a.value ? {\n text: n.text.value,\n role: i\n } : {\n files: r,\n role: i\n });\n case 7:\n case \"end\":\n return _context79.stop();\n }\n }, _callee79);\n }));\n function getFilesAndNewText(_x145, _x146, _x147, _x148) {\n return _getFilesAndNewText.apply(this, arguments);\n }\n return getFilesAndNewText;\n }() // Noticed an issue where text contains a sandbox hyperlink to a csv, but no annotation provided\n // To reproduce use the following text:\n // give example data for a csv and create a suitable bar chart for it with a link\n // Don't think it can be fixed and it is something on OpenAI side of things\n // prettier-ignore\n }, {\n key: \"getFileDetails\",\n value: function getFileDetails(e, t) {\n var n;\n var i = [];\n return (n = t == null ? void 0 : t.text) != null && n.value && e.content.forEach(function (r) {\n var o, a;\n (a = (o = r.text) == null ? void 0 : o.annotations) == null || a.forEach(function (l) {\n var c;\n l.text && l.text.startsWith(\"sandbox:\") && (c = l.file_path) != null && c.file_id && i.push({\n path: l.text,\n fileId: l.file_path.file_id,\n name: Q.getFileName(l.text)\n });\n });\n }), t != null && t.image_file && i.push({\n fileId: t.image_file.file_id\n }), i;\n }\n }, {\n key: \"getFilesAndText\",\n value: function () {\n var _getFilesAndText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee80(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee80$(_context80) {\n while (1) switch (_context80.prev = _context80.next) {\n case 0:\n n = Q.getFileDetails(t, i);\n _context80.next = 3;\n return Q.getFilesAndNewText(e, n, t.role, i);\n case 3:\n return _context80.abrupt(\"return\", _context80.sent);\n case 4:\n case \"end\":\n return _context80.stop();\n }\n }, _callee80);\n }));\n function getFilesAndText(_x149, _x150, _x151) {\n return _getFilesAndText.apply(this, arguments);\n }\n return getFilesAndText;\n }()\n }, {\n key: \"parseResult\",\n value: function parseResult(e, t) {\n var i = [];\n if (t) i = e.data;else for (var n = 0; n < e.data.length; n += 1) {\n var r = e.data[n];\n if (r.role === \"assistant\") i.push(r);else break;\n }\n return i.reverse();\n }\n // test this using this prompt and it should give 2 text mesages and a file:\n // \"give example data for a csv and create a suitable bar chart\"\n }, {\n key: \"parseMessages\",\n value: function parseMessages(e, t) {\n var i = [];\n return t.forEach( /*#__PURE__*/function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee82(n) {\n return _regeneratorRuntime().wrap(function _callee82$(_context82) {\n while (1) switch (_context82.prev = _context82.next) {\n case 0:\n n.content.filter(function (r) {\n return !!r.text || !!r.image_file;\n }).sort(function (r) {\n return r.text ? -1 : r.image_file ? 1 : 0;\n }).forEach( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee81(r) {\n return _regeneratorRuntime().wrap(function _callee81$(_context81) {\n while (1) switch (_context81.prev = _context81.next) {\n case 0:\n i.push(Q.getFilesAndText(e, n, r));\n case 1:\n case \"end\":\n return _context81.stop();\n }\n }, _callee81);\n }));\n return function (_x153) {\n return _ref12.apply(this, arguments);\n };\n }());\n case 1:\n case \"end\":\n return _context82.stop();\n }\n }, _callee82);\n }));\n return function (_x152) {\n return _ref11.apply(this, arguments);\n };\n }()), Promise.all(i);\n }\n }, {\n key: \"processStreamMessages\",\n value: function () {\n var _processStreamMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee83(e, t) {\n return _regeneratorRuntime().wrap(function _callee83$(_context83) {\n while (1) switch (_context83.prev = _context83.next) {\n case 0:\n return _context83.abrupt(\"return\", Q.parseMessages(e, [{\n content: t,\n role: \"assistant\"\n }]));\n case 1:\n case \"end\":\n return _context83.stop();\n }\n }, _callee83);\n }));\n function processStreamMessages(_x154, _x155) {\n return _processStreamMessages.apply(this, arguments);\n }\n return processStreamMessages;\n }()\n }, {\n key: \"processAPIMessages\",\n value: function () {\n var _processAPIMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee84(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee84$(_context84) {\n while (1) switch (_context84.prev = _context84.next) {\n case 0:\n n = Q.parseResult(t, i);\n return _context84.abrupt(\"return\", Q.parseMessages(e, n));\n case 2:\n case \"end\":\n return _context84.stop();\n }\n }, _callee84);\n }));\n function processAPIMessages(_x156, _x157, _x158) {\n return _processAPIMessages.apply(this, arguments);\n }\n return processAPIMessages;\n }()\n }]);\n}();\nQ.FILES_WITH_TEXT_ERROR = \"content with type `text` must have `text` values\", Q.FUNCTION_TOOL_RESP_ERROR = \"Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.\";\nvar ve = Q;\nvar L = /*#__PURE__*/function (_z10) {\n function L(e) {\n var _c$headers, _d$OpenAIBeta;\n var _this36;\n _classCallCheck(this, L);\n var r, o, a, l, c, d;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this36 = _callSuper(this, L, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this36.insertKeyPlaceholderText = \"OpenAI API Key\", _this36.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this36.url = \"\", _this36.permittedErrorPrefixes = [\"Incorrect\", \"Please send text\"], _this36.searchedForThreadId = !1, _this36.config = {}, _this36.newAssistantDetails = {\n model: \"gpt-4\"\n }, _this36.shouldFetchHistory = !1, _this36.waitingForStreamResponse = !1, _this36.isSSEStream = !1;\n var n = (r = t.openAI) == null ? void 0 : r.assistant;\n if (_typeof(n) == \"object\") {\n _this36.config = n;\n var _this36$config = _this36.config,\n h = _this36$config.new_assistant,\n u = _this36$config.thread_id,\n f = _this36$config.load_thread_history;\n Object.assign(_this36.newAssistantDetails, h), u && (_this36.sessionId = u), f && (_this36.shouldFetchHistory = !0);\n var _ref13 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.assistant,\n m = _ref13.function_handler;\n m && (_this36._functionHandler = m), _this36.filesToolType = n.files_tool_type;\n } else (l = t.openAI) != null && l.assistant && (t.openAI.assistant = n);\n (_c$headers = (c = _this36.connectSettings).headers) !== null && _c$headers !== void 0 ? _c$headers : c.headers = {}, (_d$OpenAIBeta = (d = _this36.connectSettings.headers)[\"OpenAI-Beta\"]) !== null && _d$OpenAIBeta !== void 0 ? _d$OpenAIBeta : d[\"OpenAI-Beta\"] = \"assistants=v2\", _this36.maxMessages = 1, _this36.isSSEStream = !!(_this36.stream && (_typeof(_this36.stream) != \"object\" || !_this36.stream.simulation)), _this36.shouldFetchHistory && _this36.sessionId && (_this36.fetchHistory = _this36.fetchHistoryFunc.bind(_this36));\n return _this36;\n }\n _inherits(L, _z10);\n return _createClass(L, [{\n key: \"fetchHistoryFunc\",\n value: function () {\n var _fetchHistoryFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee85() {\n var _this37 = this;\n var e;\n return _regeneratorRuntime().wrap(function _callee85$(_context85) {\n while (1) switch (_context85.prev = _context85.next) {\n case 0:\n setTimeout(function () {\n return _this37.deepChat.disableSubmitButton();\n }, 2);\n _context85.prev = 1;\n _context85.next = 4;\n return this.getThreadMessages(this.sessionId, !0);\n case 4:\n e = _context85.sent;\n return _context85.abrupt(\"return\", (this.deepChat.disableSubmitButton(!1), e.reverse()));\n case 8:\n _context85.prev = 8;\n _context85.t0 = _context85[\"catch\"](1);\n return _context85.abrupt(\"return\", [{\n error: \"failed to fetch thread history\"\n }]);\n case 11:\n case \"end\":\n return _context85.stop();\n }\n }, _callee85, this, [[1, 8]]);\n }));\n function fetchHistoryFunc() {\n return _fetchHistoryFunc.apply(this, arguments);\n }\n return fetchHistoryFunc;\n }()\n }, {\n key: \"processMessage\",\n value: function processMessage(e, t) {\n var i = this.totalMessagesMaxCharLength || -1,\n n = ut.getCharacterLimitMessages(e, i)[0];\n if (t && t.length > 0) {\n var r = this.filesToolType;\n if (typeof this.filesToolType == \"function\") {\n var a = this.filesToolType(t.map(function (_ref14) {\n var l = _ref14.name;\n return l;\n }));\n a === \"code_interpreter\" || a === \"file_search\" || a === \"images\" ? r = a : (console.error(\"Tool type \\\"\".concat(a, \"\\\" is not valid\")), console.error('Expected \"code_interpreter\" or \"file_search\" or \"images\". Going to default to \"images\"'));\n }\n if (r === \"file_search\") return L.processAttachmentsMessage(n, t, \"file_search\");\n if (r === \"code_interpreter\") return L.processAttachmentsMessage(n, t, \"code_interpreter\");\n if (t.find(function (_ref15) {\n var a = _ref15.name;\n return !F.isImageFileExtension(a);\n })) console.error(\"The uploaded files contained a non-image file\"), console.error('Make sure only images can be uploaded or define a \"code_interpreter\" or \"file_search\" value in the \"files_tool_type\" property'), console.warn('Make sure your existing assistant supports these \"tools\" or specify them in the \"new_assistant\" property');else {\n var _a = L.processImageMessage(n, t);\n if (_a) return _a;\n }\n }\n return {\n content: n.text || \"\",\n role: \"user\"\n };\n }\n }, {\n key: \"createNewThreadMessages\",\n value: function createNewThreadMessages(e, t, i) {\n var n = JSON.parse(JSON.stringify(e)),\n r = this.processMessage(t, i);\n return n.thread = {\n messages: [r]\n }, n;\n }\n }, {\n key: \"callService\",\n value: function callService(e, t, i) {\n if (this.messages = e, this.sessionId) {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/messages\");\n var n = this.processMessage(t, i);\n T.request(this, n, e);\n } else {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/runs\");\n var _n2 = this.createNewThreadMessages(this.rawBody, t, i);\n this.isSSEStream ? this.createStreamRun(_n2) : T.request(this, _n2, e);\n }\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee86(e, t, i) {\n var _r$assistant_id;\n var r, n;\n return _regeneratorRuntime().wrap(function _callee86$(_context86) {\n while (1) switch (_context86.prev = _context86.next) {\n case 0:\n if (!(this.waitingForStreamResponse = !1, !this.connectSettings)) {\n _context86.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!((_r$assistant_id = (r = this.rawBody).assistant_id) !== null && _r$assistant_id !== void 0)) {\n _context86.next = 6;\n break;\n }\n _r$assistant_id;\n _context86.next = 12;\n break;\n case 6:\n _context86.t0 = this.config.assistant_id;\n if (_context86.t0) {\n _context86.next = 11;\n break;\n }\n _context86.next = 10;\n return this.createNewAssistant();\n case 10:\n _context86.t0 = _context86.sent;\n case 11:\n r.assistant_id = _context86.t0;\n case 12:\n this.searchedForThreadId || this.searchPreviousMessagesForThreadId(e.messages);\n if (!i) {\n _context86.next = 19;\n break;\n }\n _context86.next = 16;\n return ve.storeFiles(this, e, i);\n case 16:\n _context86.t1 = _context86.sent;\n _context86.next = 20;\n break;\n case 19:\n _context86.t1 = void 0;\n case 20:\n n = _context86.t1;\n this.connectSettings.method = \"POST\", this.callService(e, t, n);\n case 22:\n case \"end\":\n return _context86.stop();\n }\n }, _callee86, this);\n }));\n function callServiceAPI(_x159, _x160, _x161) {\n return _callServiceAPI18.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"createNewAssistant\",\n value: function () {\n var _createNewAssistant = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee87() {\n var e;\n return _regeneratorRuntime().wrap(function _callee87$(_context87) {\n while (1) switch (_context87.prev = _context87.next) {\n case 0:\n _context87.prev = 0;\n this.url = L.NEW_ASSISTANT_URL;\n _context87.next = 4;\n return O.directFetch(this, JSON.parse(JSON.stringify(this.newAssistantDetails)), \"POST\");\n case 4:\n e = _context87.sent;\n return _context87.abrupt(\"return\", (this.config.assistant_id = e.id, this.config.assistant_id));\n case 8:\n _context87.prev = 8;\n _context87.t0 = _context87[\"catch\"](0);\n console.error(_context87.t0), console.error(\"Failed to create a new assistant\");\n case 11:\n case \"end\":\n return _context87.stop();\n }\n }, _callee87, this, [[0, 8]]);\n }));\n function createNewAssistant() {\n return _createNewAssistant.apply(this, arguments);\n }\n return createNewAssistant;\n }()\n }, {\n key: \"searchPreviousMessagesForThreadId\",\n value: function searchPreviousMessagesForThreadId(e) {\n var t = e.find(function (i) {\n return i._sessionId;\n });\n t && (this.sessionId = t._sessionId), this.searchedForThreadId = !0;\n }\n // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee88(e) {\n var n, t, i;\n return _regeneratorRuntime().wrap(function _callee88$(_context88) {\n while (1) switch (_context88.prev = _context88.next) {\n case 0:\n if (!(this.waitingForStreamResponse || this.isSSEStream && this.sessionId)) {\n _context88.next = 4;\n break;\n }\n _context88.next = 3;\n return this.handleStream(e);\n case 3:\n return _context88.abrupt(\"return\", _context88.sent);\n case 4:\n if (!e.error) {\n _context88.next = 6;\n break;\n }\n throw e.error.message.startsWith(ve.FILES_WITH_TEXT_ERROR) ? Error(\"Please send text with your file(s)\") : e.error.message;\n case 6:\n _context88.next = 8;\n return this.assignThreadAndRun(e);\n case 8:\n t = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id), i = {\n method: \"GET\",\n headers: (n = this.connectSettings) == null ? void 0 : n.headers\n };\n return _context88.abrupt(\"return\", (T.executePollRequest(this, t, i, this.messages), {\n makingAnotherRequest: !0\n }));\n case 10:\n case \"end\":\n return _context88.stop();\n }\n }, _callee88, this);\n }));\n function extractResultData(_x162) {\n return _extractResultData21.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"assignThreadAndRun\",\n value: function () {\n var _assignThreadAndRun = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee89(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee89$(_context89) {\n while (1) switch (_context89.prev = _context89.next) {\n case 0:\n if (!this.sessionId) {\n _context89.next = 8;\n break;\n }\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n _context89.next = 4;\n return O.directFetch(this, JSON.parse(JSON.stringify(this.rawBody)), \"POST\");\n case 4:\n t = _context89.sent;\n this.run_id = t.id;\n _context89.next = 9;\n break;\n case 8:\n this.sessionId = e.thread_id, this.run_id = e.id, this.messages && (this.messages.messages[this.messages.messages.length - 1]._sessionId = this.sessionId);\n case 9:\n case \"end\":\n return _context89.stop();\n }\n }, _callee89, this);\n }));\n function assignThreadAndRun(_x163) {\n return _assignThreadAndRun.apply(this, arguments);\n }\n return assignThreadAndRun;\n }()\n }, {\n key: \"getThreadMessages\",\n value: function () {\n var _getThreadMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee90(e) {\n var t,\n n,\n r,\n i,\n _args90 = arguments;\n return _regeneratorRuntime().wrap(function _callee90$(_context90) {\n while (1) switch (_context90.prev = _context90.next) {\n case 0:\n t = _args90.length > 1 && _args90[1] !== undefined ? _args90[1] : !1;\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(e, \"/messages\");\n _context90.next = 4;\n return O.directFetch(this, {}, \"GET\");\n case 4:\n i = _context90.sent;\n _context90.t0 = !t && this.deepChat.responseInterceptor;\n if (!_context90.t0) {\n _context90.next = 10;\n break;\n }\n _context90.next = 9;\n return (r = (n = this.deepChat).responseInterceptor) == null ? void 0 : r.call(n, i);\n case 9:\n i = _context90.sent;\n case 10:\n return _context90.abrupt(\"return\", ve.processAPIMessages(this, i, t));\n case 11:\n case \"end\":\n return _context90.stop();\n }\n }, _callee90, this);\n }));\n function getThreadMessages(_x164) {\n return _getThreadMessages.apply(this, arguments);\n }\n return getThreadMessages;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee91(e) {\n var _this38 = this;\n var r, t, i, o, _o$shift, a, l, n;\n return _regeneratorRuntime().wrap(function _callee91$(_context91) {\n while (1) switch (_context91.prev = _context91.next) {\n case 0:\n t = e.status, i = e.required_action;\n if (!(t === \"queued\" || t === \"in_progress\")) {\n _context91.next = 3;\n break;\n }\n return _context91.abrupt(\"return\", {\n timeoutMS: L.POLLING_TIMEOUT_MS\n });\n case 3:\n if (!(t === \"completed\" && this.messages)) {\n _context91.next = 11;\n break;\n }\n _context91.next = 6;\n return this.getThreadMessages(e.thread_id);\n case 6:\n o = _context91.sent;\n _o$shift = o.shift();\n a = _o$shift.text;\n l = _o$shift.files;\n return _context91.abrupt(\"return\", (setTimeout(function () {\n o.forEach(function (c) {\n return _this38.deepChat.addMessage(c);\n });\n }), {\n text: a,\n _sessionId: this.sessionId,\n files: l\n }));\n case 11:\n n = (r = i == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : r.tool_calls;\n if (!(t === \"requires_action\" && n)) {\n _context91.next = 16;\n break;\n }\n _context91.next = 15;\n return this.handleTools(n);\n case 15:\n return _context91.abrupt(\"return\", _context91.sent);\n case 16:\n throw Error(\"Thread run status: \".concat(t));\n case 17:\n case \"end\":\n return _context91.stop();\n }\n }, _callee91, this);\n }));\n function extractPollResultData(_x165) {\n return _extractPollResultData5.apply(this, arguments);\n }\n return extractPollResultData;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee92(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee92$(_context92) {\n while (1) switch (_context92.prev = _context92.next) {\n case 0:\n if (this._functionHandler) {\n _context92.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.\");\n case 2:\n t = e.map(function (o) {\n return {\n name: o[\"function\"].name,\n arguments: o[\"function\"].arguments\n };\n }), i = this._functionHandler(t);\n if (!(!Array.isArray(i) || e.length !== i.length)) {\n _context92.next = 5;\n break;\n }\n throw Error(ve.FUNCTION_TOOL_RESP_ERROR);\n case 5:\n _context92.next = 7;\n return Promise.all(i);\n case 7:\n n = _context92.sent;\n if (!n.find(function (o) {\n return typeof o != \"string\";\n })) {\n _context92.next = 10;\n break;\n }\n throw Error(ve.FUNCTION_TOOL_RESP_ERROR);\n case 10:\n r = n.map(function (o, a) {\n return {\n tool_call_id: e[a].id,\n output: o\n };\n });\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id, \"/submit_tool_outputs\");\n if (!this.isSSEStream) {\n _context92.next = 17;\n break;\n }\n _context92.next = 15;\n return this.createStreamRun({\n tool_outputs: r\n });\n case 15:\n _context92.next = 19;\n break;\n case 17:\n _context92.next = 19;\n return O.directFetch(this, {\n tool_outputs: r\n }, \"POST\");\n case 19:\n return _context92.abrupt(\"return\", {\n timeoutMS: L.POLLING_TIMEOUT_MS\n });\n case 20:\n case \"end\":\n return _context92.stop();\n }\n }, _callee92, this);\n }));\n function handleTools(_x166) {\n return _handleTools.apply(this, arguments);\n }\n return handleTools;\n }()\n }, {\n key: \"handleStream\",\n value: function () {\n var _handleStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee93(e) {\n var i, n, t, r;\n return _regeneratorRuntime().wrap(function _callee93$(_context93) {\n while (1) switch (_context93.prev = _context93.next) {\n case 0:\n t = (n = (i = e.required_action) == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : n.tool_calls;\n if (!(e.status === \"requires_action\" && t)) {\n _context93.next = 6;\n break;\n }\n this.run_id = e.id;\n _context93.next = 5;\n return this.handleTools(t);\n case 5:\n return _context93.abrupt(\"return\", _context93.sent);\n case 6:\n if (!this.waitingForStreamResponse) {\n _context93.next = 8;\n break;\n }\n return _context93.abrupt(\"return\", this.parseStreamResult(e));\n case 8:\n if (this.isSSEStream && this.sessionId) {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n r = JSON.parse(JSON.stringify(this.rawBody));\n this.createStreamRun(r);\n }\n return _context93.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 10:\n case \"end\":\n return _context93.stop();\n }\n }, _callee93, this);\n }));\n function handleStream(_x167) {\n return _handleStream.apply(this, arguments);\n }\n return handleStream;\n }() // prettier-ignore\n }, {\n key: \"parseStreamResult\",\n value: function () {\n var _parseStreamResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee94(e) {\n var t, i, n, r, o, a, l, c, _a2, _l;\n return _regeneratorRuntime().wrap(function _callee94$(_context94) {\n while (1) switch (_context94.prev = _context94.next) {\n case 0:\n if (!(e.content && e.content.length > 0 && this.messages)) {\n _context94.next = 5;\n break;\n }\n a = e.content.find(function (l) {\n return l.text;\n });\n if (!((t = a == null ? void 0 : a.text) != null && t.annotations && a.text.annotations.length > 0)) {\n _context94.next = 5;\n break;\n }\n l = e.content.find(function (d) {\n return !!d.text;\n }) || e.content[0], c = ve.getFilesAndText.bind(this, this, {\n role: \"assistant\",\n content: e.content\n }, l);\n return _context94.abrupt(\"return\", ((i = this.messageStream) == null || i.endStreamAfterFileDownloaded(this.messages, c), {\n text: \"\"\n }));\n case 5:\n if (!((n = e.delta) != null && n.content)) {\n _context94.next = 14;\n break;\n }\n if (!(e.delta.content.length > 1)) {\n _context94.next = 13;\n break;\n }\n _a2 = e.delta.content.find(function (l) {\n return l.text;\n });\n if (!((r = _a2 == null ? void 0 : _a2.text) != null && r.annotations && _a2.text.annotations.length === 0)) {\n _context94.next = 13;\n break;\n }\n _context94.next = 11;\n return ve.processStreamMessages(this, e.delta.content);\n case 11:\n _l = _context94.sent;\n return _context94.abrupt(\"return\", {\n text: _l[0].text,\n files: _l[1].files\n });\n case 13:\n return _context94.abrupt(\"return\", {\n text: (o = e.delta.content[0].text) == null ? void 0 : o.value\n });\n case 14:\n return _context94.abrupt(\"return\", (!this.sessionId && e.thread_id && (this.sessionId = e.thread_id), {\n makingAnotherRequest: !0\n }));\n case 15:\n case \"end\":\n return _context94.stop();\n }\n }, _callee94, this);\n }));\n function parseStreamResult(_x168) {\n return _parseStreamResult.apply(this, arguments);\n }\n return parseStreamResult;\n }() // https://platform.openai.com/docs/api-reference/assistants-streaming\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"createStreamRun\",\n value: function () {\n var _createStreamRun = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee95(e) {\n return _regeneratorRuntime().wrap(function _callee95$(_context95) {\n while (1) switch (_context95.prev = _context95.next) {\n case 0:\n e.stream = !0;\n this.waitingForStreamResponse = !0;\n _context95.next = 4;\n return C.request(this, e, this.messages, !0, !0);\n case 4:\n this.messageStream = _context95.sent;\n case 5:\n case \"end\":\n return _context95.stop();\n }\n }, _callee95, this);\n }));\n function createStreamRun(_x169) {\n return _createStreamRun.apply(this, arguments);\n }\n return createStreamRun;\n }()\n }], [{\n key: \"processImageMessage\",\n value: function processImageMessage(e, t) {\n var i = t == null ? void 0 : t.filter(function (n) {\n return F.isImageFileExtension(n.name);\n }).map(function (n) {\n return {\n type: \"image_file\",\n image_file: {\n file_id: n.id\n }\n };\n });\n if (i && i.length > 0) return e.text && e.text.length > 0 && i.push({\n type: \"text\",\n text: e.text\n }), {\n content: i,\n role: \"user\"\n };\n }\n }, {\n key: \"processAttachmentsMessage\",\n value: function processAttachmentsMessage(e, t, i) {\n return {\n attachments: t.map(function (r) {\n return {\n tools: [{\n type: i\n }],\n file_id: r.id\n };\n }),\n content: [{\n type: \"text\",\n text: e.text\n }],\n role: \"user\"\n };\n }\n }]);\n}(z);\nL.THREAD_PREFIX = \"https://api.openai.com/v1/threads\", L.NEW_ASSISTANT_URL = \"https://api.openai.com/v1/assistants\", L.POLLING_TIMEOUT_MS = 800;\nvar sn = L;\nvar he = /*#__PURE__*/function (_z11) {\n function he(e) {\n var _this39;\n _classCallCheck(this, he);\n var o;\n var t = e.directConnection,\n i = t == null ? void 0 : t.openAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this39 = _callSuper(this, he, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i, n]), _this39.insertKeyPlaceholderText = \"OpenAI API Key\", _this39.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this39.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI DALL\\xB7E</b></div>\\n <p><b>Insert text</b> to generate an image.</p>\\n <p><b>Upload 1</b> PNG image to generate its variation and optionally insert text to specify the change.</p>\\n <p><b>Upload 2</b> PNG images where the second is a copy of the first with a transparent area where the edit should\\n take place and text to specify the edit.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/images/introduction\\\">here</a> for more info.</p>\", _this39.url = \"\", _this39.permittedErrorPrefixes = [\"Incorrect\", \"Invalid input image\"];\n var r = (o = t == null ? void 0 : t.openAI) == null ? void 0 : o.images;\n if (_this39.camera) {\n var a = _typeof(r) == \"object\" && r.size ? Number.parseInt(r.size) : 1024;\n _this39.camera.files = {\n dimensions: {\n width: a,\n height: a\n }\n };\n }\n _typeof(r) == \"object\" && Object.assign(_this39.rawBody, r), _this39.canSendMessage = he.canFileSendMessage;\n return _this39;\n }\n _inherits(he, _z11);\n return _createClass(he, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e));\n return t && t !== \"\" && (i.prompt = t), i;\n }\n // prettier-ignore\n }, {\n key: \"callApiWithImage\",\n value: function callApiWithImage(e, t, i) {\n var o, a;\n var n;\n var r = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim();\n if (i[1] || r && r !== \"\") {\n this.url = he.IMAGE_EDIT_URL;\n var l = this.preprocessBody(this.rawBody, r);\n n = he.createFormDataBody(l, i[0], i[1]);\n } else this.url = he.IMAGE_VARIATIONS_URL, n = he.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, n, e), !1);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee96(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee96$(_context96) {\n while (1) switch (_context96.prev = _context96.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context96.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(i != null && i[0])) {\n _context96.next = 6;\n break;\n }\n this.callApiWithImage(e, t, i);\n _context96.next = 11;\n break;\n case 6:\n if (this.connectSettings) {\n _context96.next = 8;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 8:\n this.url = he.IMAGE_GENERATION_URL;\n r = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n T.request(this, r, e);\n case 11:\n case \"end\":\n return _context96.stop();\n }\n }, _callee96, this);\n }));\n function callServiceAPI(_x170, _x171, _x172) {\n return _callServiceAPI19.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee97(e) {\n return _regeneratorRuntime().wrap(function _callee97$(_context97) {\n while (1) switch (_context97.prev = _context97.next) {\n case 0:\n if (!e.error) {\n _context97.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context97.abrupt(\"return\", {\n files: e.data.map(function (i) {\n return i.url ? {\n src: i.url,\n type: \"image\"\n } : {\n src: \"\".concat(Bt).concat(i.b64_json),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context97.stop();\n }\n }, _callee97);\n }));\n function extractResultData(_x173) {\n return _extractResultData22.apply(this, arguments);\n }\n return extractResultData;\n }() // private static readonly MODAL_MARKDOWN = `\n // 1 image:\n // - With text - edits image based on the text\n // - No text - creates a variation of the image\n // 2 images:\n // - The second image needs to be a copy of the first with a transparent area where the edit should take place.\n // Add text to describe the required modification.\n // Click here for [more info](https://platform.openai.com/docs/guides/images/introduction).\n // `;\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]) || !!(e && e.trim() !== \"\");\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"image\", t), i && n.append(\"mask\", i), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n;\n }\n }]);\n}(z);\nhe.IMAGE_GENERATION_URL = \"https://api.openai.com/v1/images/generations\", he.IMAGE_VARIATIONS_URL = \"https://api.openai.com/v1/images/variations\", he.IMAGE_EDIT_URL = \"https://api.openai.com/v1/images/edits\";\nvar rn = he;\nvar xt = /*#__PURE__*/function (_z12) {\n function xt(e) {\n var _this40$maxMessages, _l$model;\n var _this40;\n _classCallCheck(this, xt);\n var r, o, a, l;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this40 = _callSuper(this, xt, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this40.insertKeyPlaceholderText = \"OpenAI API Key\", _this40.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this40.url = \"https://api.openai.com/v1/chat/completions\", _this40.permittedErrorPrefixes = [\"Incorrect\"], _this40.asyncCallInProgress = !1, _this40._systemMessage = xt.generateSystemMessage(\"You are a helpful assistant.\");\n var n = (r = t.openAI) == null ? void 0 : r.chat;\n if (_typeof(n) == \"object\") {\n n.system_prompt && (_this40._systemMessage = xt.generateSystemMessage(n.system_prompt));\n var _ref16 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.chat,\n c = _ref16.function_handler;\n c && (_this40._functionHandler = c), _this40.cleanConfig(n), Object.assign(_this40.rawBody, n);\n }\n (_this40$maxMessages = _this40.maxMessages) !== null && _this40$maxMessages !== void 0 ? _this40$maxMessages : _this40.maxMessages = -1, (_l$model = (l = _this40.rawBody).model) !== null && _l$model !== void 0 ? _l$model : l.model = \"gpt-4o\";\n return _this40;\n }\n _inherits(xt, _z12);\n return _createClass(xt, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.system_prompt, delete e.function_handler;\n }\n }, {\n key: \"preprocessBody\",\n value:\n // prettier-ignore\n function preprocessBody(e, t) {\n var _i$max_tokens;\n var i = JSON.parse(JSON.stringify(e)),\n n = ut.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - this._systemMessage.content.length : -1).map(function (r) {\n return {\n content: xt.getContent(r),\n role: r.role === b.USER_ROLE ? \"user\" : \"assistant\"\n };\n });\n return t.find(function (r) {\n return r.files && r.files.length > 0;\n }) && ((_i$max_tokens = i.max_tokens) !== null && _i$max_tokens !== void 0 ? _i$max_tokens : i.max_tokens = 300), i.messages = [this._systemMessage].concat(_toConsumableArray(n)), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee98(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee98$(_context98) {\n while (1) switch (_context98.prev = _context98.next) {\n case 0:\n if (this.connectSettings) {\n _context98.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t), n = this.stream;\n n && (_typeof(n) != \"object\" || !n.simulation) || i.stream ? (i.stream = !0, C.request(this, i, e)) : T.request(this, i, e);\n case 4:\n case \"end\":\n return _context98.stop();\n }\n }, _callee98, this);\n }));\n function callServiceAPI(_x174, _x175) {\n return _callServiceAPI20.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData23 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee99(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee99$(_context99) {\n while (1) switch (_context99.prev = _context99.next) {\n case 0:\n if (!e.error) {\n _context99.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context99.abrupt(\"return\", (r = (n = e.choices) == null ? void 0 : n[0]) != null && r.delta ? this.extractStreamResult(e.choices[0], t, i) : (a = (o = e.choices) == null ? void 0 : o[0]) != null && a.message ? e.choices[0].message.tool_calls ? this.handleTools(e.choices[0].message, t, i) : {\n text: e.choices[0].message.content\n } : {\n text: \"\"\n });\n case 3:\n case \"end\":\n return _context99.stop();\n }\n }, _callee99, this);\n }));\n function extractResultData(_x176, _x177, _x178) {\n return _extractResultData23.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractStreamResult\",\n value: function () {\n var _extractStreamResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee100(e, t, i) {\n var _this41 = this;\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee100$(_context100) {\n while (1) switch (_context100.prev = _context100.next) {\n case 0:\n n = e.delta, r = e.finish_reason;\n if (!(r === \"tool_calls\")) {\n _context100.next = 7;\n break;\n }\n this.asyncCallInProgress = !0;\n o = {\n tool_calls: this._streamToolCalls\n };\n return _context100.abrupt(\"return\", (this._streamToolCalls = void 0, this.handleTools(o, t, i)));\n case 7:\n n != null && n.tool_calls && (this._streamToolCalls ? n.tool_calls.forEach(function (o, a) {\n _this41._streamToolCalls && (_this41._streamToolCalls[a][\"function\"].arguments += o[\"function\"].arguments);\n }) : this._streamToolCalls = n.tool_calls);\n case 8:\n return _context100.abrupt(\"return\", {\n text: (n == null ? void 0 : n.content) || \"\"\n });\n case 9:\n case \"end\":\n return _context100.stop();\n }\n }, _callee100, this);\n }));\n function extractStreamResult(_x179, _x180, _x181) {\n return _extractStreamResult.apply(this, arguments);\n }\n return extractStreamResult;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee101(e, t, i) {\n var a, l, c, d, h, n, r, o, u, _u;\n return _regeneratorRuntime().wrap(function _callee101$(_context101) {\n while (1) switch (_context101.prev = _context101.next) {\n case 0:\n if (!(!e.tool_calls || !t || !i || !this._functionHandler)) {\n _context101.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\");\n case 2:\n n = JSON.parse(JSON.stringify(i));\n r = e.tool_calls.map(function (u) {\n return {\n name: u[\"function\"].name,\n arguments: u[\"function\"].arguments\n };\n });\n _context101.next = 6;\n return (a = this._functionHandler) == null ? void 0 : a.call(this, r);\n case 6:\n o = _context101.sent;\n if (!o.text) {\n _context101.next = 15;\n break;\n }\n u = {\n text: o.text\n };\n _context101.next = 11;\n return (c = (l = this.deepChat).responseInterceptor) == null ? void 0 : c.call(l, u);\n case 11:\n _context101.t0 = _context101.sent;\n if (_context101.t0) {\n _context101.next = 14;\n break;\n }\n _context101.t0 = u;\n case 14:\n return _context101.abrupt(\"return\", _context101.t0);\n case 15:\n if (!(n.messages.push({\n tool_calls: e.tool_calls,\n role: \"assistant\",\n content: null\n }), Array.isArray(o) && !o.find(function (u) {\n return typeof u != \"string\";\n }) || r.length === o.length)) {\n _context101.next = 35;\n break;\n }\n o.forEach(function (u, f) {\n var p;\n var m = (p = e.tool_calls) == null ? void 0 : p[f];\n n == null || n.messages.push({\n role: \"tool\",\n tool_call_id: m == null ? void 0 : m.id,\n name: m == null ? void 0 : m[\"function\"].name,\n content: u.response\n });\n }), delete n.tools, delete n.tool_choice, delete n.stream;\n _context101.prev = 17;\n _context101.next = 20;\n return t == null ? void 0 : t(n).then(function (f) {\n return v.processResponseByType(f);\n });\n case 20:\n _u = _context101.sent;\n _context101.next = 23;\n return (h = (d = this.deepChat).responseInterceptor) == null ? void 0 : h.call(d, _u);\n case 23:\n _context101.t1 = _context101.sent;\n if (_context101.t1) {\n _context101.next = 26;\n break;\n }\n _context101.t1 = _u;\n case 26:\n _u = _context101.t1;\n if (!_u.error) {\n _context101.next = 29;\n break;\n }\n throw _u.error.message;\n case 29:\n return _context101.abrupt(\"return\", {\n text: _u.choices[0].message.content || \"\"\n });\n case 32:\n _context101.prev = 32;\n _context101.t2 = _context101[\"catch\"](17);\n throw this.asyncCallInProgress = !1, _context101.t2;\n case 35:\n throw Error(\"Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.\");\n case 36:\n case \"end\":\n return _context101.stop();\n }\n }, _callee101, this, [[17, 32]]);\n }));\n function handleTools(_x182, _x183, _x184) {\n return _handleTools2.apply(this, arguments);\n }\n return handleTools;\n }()\n }], [{\n key: \"generateSystemMessage\",\n value: function generateSystemMessage(e) {\n return {\n role: \"system\",\n content: e\n };\n }\n }, {\n key: \"getContent\",\n value: function getContent(e) {\n if (e.files && e.files.length > 0) {\n var t = e.files.map(function (i) {\n return {\n type: \"image_url\",\n image_url: {\n url: i.src\n }\n };\n });\n return e.text && e.text.trim().length > 0 && t.unshift({\n type: \"text\",\n text: e.text\n }), t;\n }\n return e.text;\n }\n }]);\n}(z);\nvar Ao = /*#__PURE__*/function (_fn3) {\n function Ao(e) {\n var _this42$maxMessages;\n var _this42;\n _classCallCheck(this, Ao);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = (r = t.cohere) == null ? void 0 : r.chat,\n n = t.cohere;\n _this42 = _callSuper(this, Ao, [e, \"https://api.cohere.ai/v1/chat\", \"Ask me anything!\", i, n]), _typeof(i) == \"object\" && Object.assign(_this42.rawBody, i), (_this42$maxMessages = _this42.maxMessages) !== null && _this42$maxMessages !== void 0 ? _this42$maxMessages : _this42.maxMessages = -1;\n return _this42;\n }\n _inherits(Ao, _fn3);\n return _createClass(Ao, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t.filter(function (r) {\n return r.text;\n });\n return i.query = n[n.length - 1].text, i.chat_history = n.slice(0, n.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"CHATBOT\" : \"USER\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee102(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee102$(_context102) {\n while (1) switch (_context102.prev = _context102.next) {\n case 0:\n if (this.connectSettings) {\n _context102.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context102.stop();\n }\n }, _callee102, this);\n }));\n function callServiceAPI(_x185, _x186) {\n return _callServiceAPI21.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData24 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee103(e) {\n return _regeneratorRuntime().wrap(function _callee103$(_context103) {\n while (1) switch (_context103.prev = _context103.next) {\n case 0:\n if (!e.message) {\n _context103.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context103.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context103.stop();\n }\n }, _callee103);\n }));\n function extractResultData(_x187) {\n return _extractResultData24.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar ci = /*#__PURE__*/function () {\n function ci() {\n _classCallCheck(this, ci);\n }\n return _createClass(ci, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.mistral.ai/v1/models\",\n method: \"GET\",\n handleVerificationResult: ci.handleVerificationResult\n };\n }\n }]);\n}();\nvar Mo = /*#__PURE__*/function (_z13) {\n function Mo(e) {\n var _this43$maxMessages, _n$model;\n var _this43;\n _classCallCheck(this, Mo);\n var n;\n var i = JSON.parse(JSON.stringify(e.directConnection)).mistral;\n _this43 = _callSuper(this, Mo, [e, ci.buildKeyVerificationDetails(), ci.buildHeaders, i]), _this43.insertKeyPlaceholderText = \"Mistral API Key\", _this43.keyHelpUrl = \"https://console.mistral.ai/api-keys/\", _this43.url = \"https://api.mistral.ai/v1/chat/completions\", _this43.permittedErrorPrefixes = [\"invalid\"], i && (_this43.cleanConfig(i), Object.assign(_this43.rawBody, i)), (_this43$maxMessages = _this43.maxMessages) !== null && _this43$maxMessages !== void 0 ? _this43$maxMessages : _this43.maxMessages = -1, (_n$model = (n = _this43.rawBody).model) !== null && _n$model !== void 0 ? _n$model : n.model = \"open-mistral-7b\";\n return _this43;\n }\n _inherits(Mo, _z13);\n return _createClass(Mo, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.key;\n }\n // build a single string for user\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t.filter(function (r) {\n return r.text;\n });\n return i.messages = n.slice(0, n.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"system\" : \"user\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee104(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee104$(_context104) {\n while (1) switch (_context104.prev = _context104.next) {\n case 0:\n if (this.connectSettings) {\n _context104.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context104.stop();\n }\n }, _callee104, this);\n }));\n function callServiceAPI(_x188, _x189) {\n return _callServiceAPI22.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData25 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee105(e) {\n return _regeneratorRuntime().wrap(function _callee105$(_context105) {\n while (1) switch (_context105.prev = _context105.next) {\n case 0:\n if (!e.message) {\n _context105.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context105.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context105.stop();\n }\n }, _callee105);\n }));\n function extractResultData(_x190) {\n return _extractResultData25.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar Ro = /*#__PURE__*/function () {\n function Ro() {\n _classCallCheck(this, Ro);\n }\n return _createClass(Ro, null, [{\n key: \"create\",\n value:\n // this should only be called when no _activeService is set or is demo as otherwise we don't want to reconnect\n function create(e) {\n var t = e.directConnection,\n i = e.connect,\n n = e.demo,\n r = e.webModel;\n if (r) return new It(e);\n if (t) {\n if (t.openAI) return t.openAI.images ? new rn(e) : t.openAI.speechToText ? new en(e) : t.openAI.textToSpeech ? new Qi(e) : t.openAI.assistant ? new sn(e) : new xt(e);\n if (t.assemblyAI) return new pn(e);\n if (t.cohere) return t.cohere.textGeneration ? new So(e) : t.cohere.summarization ? new wo(e) : new Ao(e);\n if (t.huggingFace) return t.huggingFace.textGeneration ? new bo(e) : t.huggingFace.summarization ? new yo(e) : t.huggingFace.translation ? new xo(e) : t.huggingFace.fillMask ? new _o(e) : t.huggingFace.questionAnswer ? new vo(e) : t.huggingFace.audioSpeechRecognition ? new go(e) : t.huggingFace.audioClassification ? new po(e) : t.huggingFace.imageClassification ? new mo(e) : new Eo(e);\n if (t.azure) {\n if (t.azure.speechToText) return new nn(e);\n if (t.azure.textToSpeech) return new tn(e);\n if (t.azure.summarization) return new Co(e);\n if (t.azure.translation) return new ko(e);\n }\n if (t.stabilityAI) return t.stabilityAI.imageToImage ? new oi(e) : t.stabilityAI.imageToImageUpscale ? new si(e) : t.stabilityAI.imageToImageMasking ? new ri(e) : new ai(e);\n if (t.mistral) return new Mo(e);\n }\n return i && (!n || !i.stream) ? new Ke(e) : new Ke(e, void 0, n || !0);\n }\n }]);\n}();\nvar En = /*#__PURE__*/_createClass(function En() {\n _classCallCheck(this, En);\n});\nEn.attibutes = {\n string: function string(e) {\n return e;\n },\n number: function number(e) {\n return parseFloat(e);\n },\n \"boolean\": function boolean(e) {\n return e === \"true\";\n },\n object: function object(e) {\n return JSON.parse(e);\n },\n array: function array(e) {\n return JSON.parse(e);\n },\n \"function\": function _function(e) {\n return new Function(\"return \".concat(e))();\n }\n};\nvar on = En;\nfunction _(s) {\n return function (e, t) {\n Object.defineProperty(e, t, {});\n var i = e.constructor,\n n = t.toLocaleLowerCase();\n i._attributes_[n] = on.attibutes[s], i._attributeToProperty_[n] = t;\n };\n}\nvar mn = /*#__PURE__*/function () {\n function mn() {\n _classCallCheck(this, mn);\n }\n return _createClass(mn, null, [{\n key: \"colorToHex\",\n value: function colorToHex(e) {\n var t = document.createElement(\"div\");\n return t.style.color = e, document.body.appendChild(t), \"#\".concat(window.getComputedStyle(t).color.match(/\\d+/g).map(function (r) {\n return parseInt(r).toString(16).padStart(2, \"0\");\n }).join(\"\"));\n }\n }, {\n key: \"set\",\n value: function set(e, t) {\n var i, n, r, o;\n if ((n = (i = t == null ? void 0 : t.loading) == null ? void 0 : i.bubble) != null && n.color) {\n var a = mn.colorToHex((o = (r = t == null ? void 0 : t.loading) == null ? void 0 : r.bubble) == null ? void 0 : o.color);\n e.style.setProperty(\"--message-dots-color\", a), e.style.setProperty(\"--message-dots-color-fade\", \"\".concat(a, \"33\"));\n } else e.style.setProperty(\"--message-dots-color\", \"#848484\"), e.style.setProperty(\"--message-dots-color-fade\", \"#55555533\");\n }\n }]);\n}();\nvar di = /*#__PURE__*/function () {\n function di(e, t, i) {\n _classCallCheck(this, di);\n this._isDisplayed = !1, e ? (this._elementRef = this.createIntroPanelWithChild(e, i), this._isDisplayed = !0) : t && (this._elementRef = this.createInternalIntroPanel(t, i), this._isDisplayed = !0);\n }\n return _createClass(di, [{\n key: \"createIntroPanelWithChild\",\n value: function createIntroPanelWithChild(e, t) {\n var i = di.createIntroPanel(t);\n return e.style.display === \"none\" && (e.style.display = \"block\"), i.appendChild(e), i;\n }\n }, {\n key: \"createInternalIntroPanel\",\n value: function createInternalIntroPanel(e, t) {\n var i = di.createIntroPanel(t);\n return i.id = \"internal-intro-panel\", i.innerHTML = e, i;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"none\", this._isDisplayed = !1);\n }\n }, {\n key: \"display\",\n value: function display() {\n !this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"\", this._isDisplayed = !0);\n }\n }], [{\n key: \"createIntroPanel\",\n value: function createIntroPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"intro-panel\"), Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar Io = /*#__PURE__*/function () {\n function Io() {\n _classCallCheck(this, Io);\n }\n return _createClass(Io, null, [{\n key: \"getText\",\n value: function getText(e, t) {\n var i;\n if (!e.directConnection && !e.connect && !e.webModel && !e.demo) return \"Connect to any API using the [connect](https://deepchat.dev/docs/connect#connect-1) property or a popular service via [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).\\n Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).\\n To get started checkout the [Start](https://deepchat.dev/start) page and live code [examples](https://deepchat.dev/examples/frameworks).\\n To remove this message set the [demo](https://deepchat.dev/docs/demo#demo) property to true.\";\n if (e.directConnection) {\n if (!t.isDirectConnection()) return \"Please define a valid service inside\\n the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.\";\n var n = (i = e.directConnection.openAI) == null ? void 0 : i.chat;\n if (_typeof(n) == \"object\" && n.tools && !n.function_handler) return \"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\";\n } else if (e.connect && !e.connect.url && !e.connect.handler) return e.demo ? e.connect.stream ? null : \"When [demo](https://deepchat.dev/docs/demo) mode is enabled - the [connect](https://deepchat.dev/docs/connect#connect-1) object can only accept the [stream](https://deepchat.dev/docs/connect#Stream) property.\" : \"Please define a `url` or a `handler` property inside the [connect](https://deepchat.dev/docs/connect#connect-1) object.\";\n return null;\n }\n }]);\n}();\nvar Lo = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" \\n\\t viewBox=\\\"50 30 420 450\\\" xml:space=\\\"preserve\\\">\\n<g filter=\\\"brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(1942%) hue-rotate(215deg) brightness(99%) contrast(93%)\\\">\\n\\t<g>\\n\\t\\t<path d=\\\"M447.933,103.629c-0.034-3.076-1.224-6.09-3.485-8.352L352.683,3.511c-0.004-0.004-0.007-0.005-0.011-0.008\\n\\t\\t\\tC350.505,1.338,347.511,0,344.206,0H89.278C75.361,0,64.04,11.32,64.04,25.237v461.525c0,13.916,11.32,25.237,25.237,25.237\\n\\t\\t\\th333.444c13.916,0,25.237-11.32,25.237-25.237V103.753C447.96,103.709,447.937,103.672,447.933,103.629z M356.194,40.931\\n\\t\\t\\tl50.834,50.834h-49.572c-0.695,0-1.262-0.567-1.262-1.262V40.931z M423.983,486.763c0,0.695-0.566,1.261-1.261,1.261H89.278\\n\\t\\t\\tc-0.695,0-1.261-0.566-1.261-1.261V25.237c0-0.695,0.566-1.261,1.261-1.261h242.94v66.527c0,13.916,11.322,25.239,25.239,25.239\\n\\t\\t\\th66.527V486.763z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,164.014H149.912c-6.62,0-11.988,5.367-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,169.381,368.707,164.014,362.088,164.014z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,236.353H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,241.721,368.707,236.353,362.088,236.353z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,308.691H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C374.076,314.06,368.707,308.691,362.088,308.691z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M256,381.031H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988H256\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C267.988,386.398,262.62,381.031,256,381.031z\\\"/>\\n\\t</g>\\n</g>\\n</svg>\";\nvar Me = /*#__PURE__*/function () {\n function Me() {\n _classCallCheck(this, Me);\n }\n return _createClass(Me, null, [{\n key: \"createImage\",\n value: function createImage(e, t) {\n var i = new Image();\n return i.src = e.src, F.scrollDownOnImageLoad(i.src, t), F.processContent(\"image\", i, i.src, e.name);\n }\n // WORK - image still does not scroll down when loaded\n }, {\n key: \"addNewImageMessage\",\n value: function () {\n var _addNewImageMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee106(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee106$(_context106) {\n while (1) switch (_context106.prev = _context106.next) {\n case 0:\n n = Me.createImage(t, e.elementRef), r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"image-message\"), F.addMessage(e, r, \"image\", i);\n case 2:\n case \"end\":\n return _context106.stop();\n }\n }, _callee106);\n }));\n function addNewImageMessage(_x191, _x192, _x193) {\n return _addNewImageMessage.apply(this, arguments);\n }\n return addNewImageMessage;\n }()\n }, {\n key: \"createAudioElement\",\n value: function createAudioElement(e, t) {\n var i = document.createElement(\"audio\");\n return i.src = e.src, i.classList.add(\"audio-player\"), i.controls = !0, ot.IS_SAFARI && (i.classList.add(\"audio-player-safari\"), i.classList.add(t === b.USER_ROLE ? \"audio-player-safari-right\" : \"audio-player-safari-left\")), i;\n }\n }, {\n key: \"addNewAudioMessage\",\n value: function addNewAudioMessage(e, t, i) {\n var n = Me.createAudioElement(t, i),\n r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"audio-message\"), F.addMessage(e, r, \"audio\", i);\n }\n }, {\n key: \"createAnyFile\",\n value: function createAnyFile(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"any-file-message-contents\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-message-icon-container\");\n var n = te.createSVGElement(Lo);\n n.classList.add(\"any-file-message-icon\"), i.appendChild(n);\n var r = document.createElement(\"div\");\n return r.classList.add(\"any-file-message-text\"), r.textContent = e.name || F.DEFAULT_FILE_NAME, t.appendChild(i), t.appendChild(r), F.processContent(\"any\", t, e.src, r.textContent);\n }\n }, {\n key: \"addNewAnyFileMessage\",\n value: function addNewAnyFileMessage(e, t, i) {\n var n = e.createNewMessageElement(\"\", i),\n r = Me.createAnyFile(t);\n n.bubbleElement.classList.add(\"any-file-message-bubble\"), n.bubbleElement.appendChild(r), F.addMessage(e, n, \"file\", i);\n }\n // no overwrite previous message logic as it is complex to track which files are to be overwritten\n }, {\n key: \"addMessages\",\n value: function addMessages(e, t, i) {\n t.forEach(function (n) {\n n.ref && (n = F.removeFileRef(n)), F.isAudioFile(n) ? Me.addNewAudioMessage(e, n, i) : F.isImageFile(n) ? Me.addNewImageMessage(e, n, i) : Me.addNewAnyFileMessage(e, n, i);\n });\n }\n }]);\n}();\nvar Re = /*#__PURE__*/function (_lt) {\n function Re(e, t, i) {\n var _this44;\n _classCallCheck(this, Re);\n var a, l;\n _this44 = _callSuper(this, Re, [e]);\n var n = t.permittedErrorPrefixes,\n r = t.introPanelMarkUp,\n o = t.demo;\n _this44._errorMessageOverrides = (a = e.errorMessages) == null ? void 0 : a.overrides, _this44._onClearMessages = ei.onClearMessages.bind(_this44, e), _this44._onError = ei.onError.bind(_this44, e), _this44._displayLoadingMessage = Re.getDisplayLoadingMessage(e, t), _this44._permittedErrorPrefixes = n, _this44.addSetupMessageIfNeeded(e, t) || _this44.populateIntroPanel(i, r, e.introPanelStyle), _this44.addIntroductoryMessage(e, t), _this44.populateHistory(e), _this44._displayServiceErrorMessages = (l = e.errorMessages) == null ? void 0 : l.displayServiceErrorMessages, e.getMessages = function () {\n return JSON.parse(JSON.stringify(_this44.messages));\n }, e.clearMessages = _this44.clearMessages.bind(_this44, t), e.refreshMessages = _this44.refreshTextMessages.bind(_this44), e.scrollToBottom = q.scrollToBottom.bind(_this44, _this44.elementRef), e.addMessage = function (c, d) {\n _this44.addAnyMessage(_objectSpread(_objectSpread({}, c), {}, {\n sendUpdate: !!d\n }), !d);\n }, t.isWebModel() && t.setUpMessages(_this44), o && _this44.prepareDemo(o), e.textToSpeech && at.processConfig(e.textToSpeech, function (c) {\n _this44.textToSpeech = c;\n }), t.fetchHistory && _this44.fetchHistory(t.fetchHistory);\n return _this44;\n }\n _inherits(Re, _lt);\n return _createClass(Re, [{\n key: \"prepareDemo\",\n value: function prepareDemo(e) {\n _typeof(e) == \"object\" && (e.response && (this.customDemoResponse = e.response), e.displayErrors && (e.displayErrors[\"default\"] && this.addNewErrorMessage(\"\", \"\"), e.displayErrors.service && this.addNewErrorMessage(\"service\", \"\"), e.displayErrors.speechToText && this.addNewErrorMessage(\"speechToText\", \"\")), e.displayLoadingBubble && this.addLoadingMessage());\n }\n }, {\n key: \"addSetupMessageIfNeeded\",\n value: function addSetupMessageIfNeeded(e, t) {\n var i = Io.getText(e, t);\n if (i) {\n var n = this.createAndAppendNewMessageElement(i, b.AI_ROLE);\n this.applyCustomStyles(n, b.AI_ROLE, !1);\n }\n return !!i;\n }\n // WORK - const file for deep chat classes\n }, {\n key: \"addIntroductoryMessage\",\n value: function addIntroductoryMessage(e, t) {\n var _i12;\n var n;\n e != null && e.shadowRoot && (this._introMessage = e.introMessage);\n var i = this._introMessage;\n if (t != null && t.isWebModel() && ((_i12 = i) !== null && _i12 !== void 0 ? _i12 : i = t.getIntroMessage(i)), i) {\n var r;\n i != null && i.text ? r = this.createAndAppendNewMessageElement(i.text, b.AI_ROLE) : i != null && i.html && (r = ht.add(this, i.html, b.AI_ROLE, this.messageElementRefs)), r && (this.applyCustomStyles(r, b.AI_ROLE, !1, (n = this.messageStyles) == null ? void 0 : n.intro), r.outerContainer.classList.add(\"deep-chat-intro\"));\n }\n }\n }, {\n key: \"removeIntroductoryMessage\",\n value: function removeIntroductoryMessage() {\n var e = this.messageElementRefs[0];\n e.outerContainer.classList.contains(\"deep-chat-intro\") && (e.outerContainer.remove(), this.messageElementRefs.shift());\n }\n }, {\n key: \"populateHistory\",\n value: function populateHistory(e) {\n var _this45 = this;\n var t = e.history || ae.processHistory(e);\n t && (t.forEach(function (i) {\n ae.processHistoryFile(i), _this45.addNewMessage(i, !0);\n }), setTimeout(function () {\n return q.scrollToBottom(_this45.elementRef);\n }, 0));\n }\n }, {\n key: \"fetchHistory\",\n value: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee107(e) {\n var _this46 = this;\n return _regeneratorRuntime().wrap(function _callee107$(_context107) {\n while (1) switch (_context107.prev = _context107.next) {\n case 0:\n _context107.next = 2;\n return e();\n case 2:\n _context107.sent.forEach(function (i) {\n return _this46.addAnyMessage(i, !0);\n });\n setTimeout(function () {\n return q.scrollToBottom(_this46.elementRef);\n }, 0);\n case 4:\n case \"end\":\n return _context107.stop();\n }\n }, _callee107);\n }));\n function fetchHistory(_x194) {\n return _fetchHistory.apply(this, arguments);\n }\n return fetchHistory;\n }()\n }, {\n key: \"addAnyMessage\",\n value: function addAnyMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n e.error ? this.addNewErrorMessage(\"service\", e.error) : this.addNewMessage(e, t);\n }\n // this should not be activated by streamed messages\n }, {\n key: \"addNewMessage\",\n value: function addNewMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = Re.createMessageContent(e),\n n = {\n status: e.overwrite\n };\n if (!e.ignoreText && i.text !== void 0 && e.text !== null && (this.addNewTextMessage(i.text, i.role, n), !t && this.textToSpeech && i.role !== b.USER_ROLE && at.speak(i.text, this.textToSpeech)), i.files && Array.isArray(i.files) && Me.addMessages(this, i.files, i.role), i.html !== void 0 && i.html !== null) {\n var r = ht.add(this, i.html, i.role, this.messageElementRefs, n);\n Pe.isElementTemporary(r) && delete i.html;\n }\n this.isValidMessageContent(i) && this.updateStateOnMessage(i, e.overwrite, e.sendUpdate, t);\n }\n }, {\n key: \"isValidMessageContent\",\n value: function isValidMessageContent(e) {\n return e.text || e.html || e.files && e.files.length > 0;\n }\n }, {\n key: \"updateStateOnMessage\",\n value: function updateStateOnMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n t || this.messages.push(e), i && this.sendClientUpdate(e, n);\n }\n // prettier-ignore\n }, {\n key: \"removeMessageOnError\",\n value: function removeMessageOnError() {\n var e = this.messageElementRefs[this.messageElementRefs.length - 1],\n t = e == null ? void 0 : e.bubbleElement;\n (t != null && t.classList.contains(me.MESSAGE_CLASS) && t.textContent === \"\" || Re.isTemporaryElement(e)) && this.removeLastMessage();\n }\n // prettier-ignore\n }, {\n key: \"addNewErrorMessage\",\n value: function addNewErrorMessage(e, t) {\n var l, c, d, h, u;\n this.removeMessageOnError();\n var i = Re.createBaseElements(),\n n = i.outerContainer,\n r = i.bubbleElement;\n r.classList.add(\"error-message-text\");\n var o = this.getPermittedMessage(t) || ((l = this._errorMessageOverrides) == null ? void 0 : l[e]) || ((c = this._errorMessageOverrides) == null ? void 0 : c[\"default\"]) || \"Error, please try again.\";\n this.renderText(r, o);\n var a = H.extractParticularSharedStyles([\"fontSize\", \"fontFamily\"], (d = this.messageStyles) == null ? void 0 : d[\"default\"]);\n H.applyCustomStylesToElements(i, !1, a), H.applyCustomStylesToElements(i, !1, (h = this.messageStyles) == null ? void 0 : h.error), this.elementRef.appendChild(n), q.scrollToBottom(this.elementRef), this.textToSpeech && at.speak(o, this.textToSpeech), (u = this._onError) == null || u.call(this, o);\n }\n }, {\n key: \"getPermittedMessage\",\n value: function getPermittedMessage(e) {\n if (e) {\n var t = Re.extractErrorMessages(e);\n for (var _i13 = 0; _i13 < t.length; _i13 += 1) {\n var n = t[_i13];\n if (typeof n == \"string\") {\n if (this._displayServiceErrorMessages) return n;\n if (this._permittedErrorPrefixes) {\n var r = Re.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, n);\n if (r) return r;\n }\n }\n }\n }\n }\n }, {\n key: \"removeError\",\n value: function removeError() {\n this.isLastMessageError() && b.getLastMessageElement(this.elementRef).remove();\n }\n }, {\n key: \"addLoadingMessage\",\n value: function addLoadingMessage() {\n var r;\n if (!this._displayLoadingMessage) return;\n var e = this.createMessageElements(\"\", b.AI_ROLE),\n t = e.outerContainer,\n i = e.bubbleElement;\n i.classList.add(\"loading-message-text\");\n var n = document.createElement(\"div\");\n n.classList.add(\"dots-flashing\"), i.appendChild(n), this.applyCustomStyles(e, b.AI_ROLE, !1, (r = this.messageStyles) == null ? void 0 : r.loading), mn.set(i, this.messageStyles), this.elementRef.appendChild(t), q.scrollToBottom(this.elementRef);\n }\n }, {\n key: \"populateIntroPanel\",\n value: function populateIntroPanel(e, t, i) {\n (e || t) && (this._introPanel = new di(e, t, i), this._introPanel._elementRef && (ee.apply(this, this._introPanel._elementRef), this.elementRef.appendChild(this._introPanel._elementRef)));\n }\n }, {\n key: \"addMultipleFiles\",\n value: function () {\n var _addMultipleFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee108(e) {\n return _regeneratorRuntime().wrap(function _callee108$(_context108) {\n while (1) switch (_context108.prev = _context108.next) {\n case 0:\n return _context108.abrupt(\"return\", Promise.all((e || []).map(function (t) {\n return new Promise(function (i) {\n if (!t.type || t.type === \"any\") {\n var n = t.file.name || F.DEFAULT_FILE_NAME;\n i({\n name: n,\n type: \"any\",\n ref: t.file\n });\n } else {\n var _n3 = new FileReader();\n _n3.readAsDataURL(t.file), _n3.onload = function () {\n i({\n src: _n3.result,\n type: t.type,\n ref: t.file\n });\n };\n }\n });\n })));\n case 1:\n case \"end\":\n return _context108.stop();\n }\n }, _callee108);\n }));\n function addMultipleFiles(_x195) {\n return _addMultipleFiles.apply(this, arguments);\n }\n return addMultipleFiles;\n }() // WORK - update all message classes to use deep-chat prefix\n }, {\n key: \"clearMessages\",\n value: function clearMessages(e, t) {\n var n, r;\n var i = [];\n this.messageElementRefs.forEach(function (o) {\n var a = o.bubbleElement.classList;\n a.contains(\"loading-message-text\") || a.contains(me.MESSAGE_CLASS) ? i.push(o) : o.outerContainer.remove();\n }), Array.from(this.elementRef.children).forEach(function (o) {\n var l;\n var a = (l = o.children[0]) == null ? void 0 : l.children[0];\n a != null && a.classList.contains(\"error-message-text\") && o.remove();\n }), this.messageElementRefs = i, t !== !1 && ((n = this._introPanel) != null && n._elementRef && this._introPanel.display(), this.addIntroductoryMessage()), this.messages.splice(0, this.messages.length), this.textElementsToText.splice(0, this.textElementsToText.length), (r = this._onClearMessages) == null || r.call(this), delete e.sessionId;\n }\n }], [{\n key: \"getDisplayLoadingMessage\",\n value: function getDisplayLoadingMessage(e, t) {\n var _e$displayLoadingBubb;\n return t.websocket ? !1 : (_e$displayLoadingBubb = e.displayLoadingBubble) !== null && _e$displayLoadingBubb !== void 0 ? _e$displayLoadingBubb : !0;\n }\n }, {\n key: \"checkPermittedErrorPrefixes\",\n value: function checkPermittedErrorPrefixes(e, t) {\n for (var _i14 = 0; _i14 < e.length; _i14 += 1) if (t.startsWith(e[_i14])) return t;\n }\n }, {\n key: \"extractErrorMessages\",\n value: function extractErrorMessages(e) {\n return Array.isArray(e) ? e : e instanceof Error ? [e.message] : typeof e == \"string\" ? [e] : _typeof(e) == \"object\" && e.error ? [e.error] : [];\n }\n }]);\n}(lt);\nvar N = /*#__PURE__*/function () {\n function N() {\n _classCallCheck(this, N);\n }\n return _createClass(N, null, [{\n key: \"adjustInputPadding\",\n value: function adjustInputPadding(e, t) {\n t[\"inside-left\"].length > 0 && e.classList.add(\"text-input-inner-left-adjustment\"), t[\"inside-right\"].length > 0 && e.classList.add(\"text-input-inner-right-adjustment\");\n }\n }, {\n key: \"adjustForOutsideButton\",\n value: function adjustForOutsideButton(e, t, i) {\n i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0 ? (e[0].classList.add(N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)) : i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0 && (e[3].classList.add(N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS));\n }\n // when submit is the only button\n // when submit button is outside by itself - we increase the height for a better look\n }, {\n key: \"adjustOutsideSubmit\",\n value: function adjustOutsideSubmit(e, t, i) {\n if (!(i[\"inside-left\"].length > 0 || i[\"inside-right\"].length > 0)) {\n if (i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0) return e[0].classList.add(N.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), i[\"outside-left\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n if (i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0) return e[3].classList.add(N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), i[\"outside-right\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(e, t, i, n) {\n !!N.adjustOutsideSubmit(t, i, n) || N.adjustForOutsideButton(t, i, n), N.adjustInputPadding(e, n);\n }\n }]);\n}();\nN.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS = \"text-input-container-left-adjustment\", N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS = \"text-input-container-right-adjustment\", N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-left-small-adjustment\", N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-right-small-adjustment\";\nvar an = N;\nvar ft = /*#__PURE__*/function () {\n function ft() {\n _classCallCheck(this, ft);\n }\n return _createClass(ft, null, [{\n key: \"create\",\n value: function create() {\n return Array.from({\n length: 4\n }).map(function (e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"input-button-container\"), (t === 0 || t === 3) && i.classList.add(\"outer-button-container\"), (t === 1 || t === 2) && i.classList.add(\"inner-button-container\"), i;\n });\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.insertBefore(t[1], e.firstChild), e.insertBefore(t[0], e.firstChild), e.appendChild(t[2]), e.appendChild(t[3]);\n }\n }, {\n key: \"getContainerIndex\",\n value: function getContainerIndex(e) {\n return e === \"outside-left\" ? 0 : e === \"inside-left\" ? 1 : e === \"inside-right\" ? 2 : 3;\n }\n }, {\n key: \"addButton\",\n value: function addButton(e, t, i) {\n t.classList.add(i);\n var n = ft.getContainerIndex(i);\n e[n].appendChild(t), n === 3 && t.classList.add(\"outside-right\");\n }\n }]);\n}();\nvar Dn = [\"camera\", \"gifs\", \"images\", \"audio\", \"mixedFiles\", \"submit\", \"microphone\"];\nvar K = /*#__PURE__*/function () {\n function K() {\n _classCallCheck(this, K);\n }\n return _createClass(K, null, [{\n key: \"createTextElement\",\n value: function createTextElement(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"text-button\"), t.innerText = e, t;\n }\n }, {\n key: \"createElement\",\n value: function createElement(e, t) {\n return t ? K.createTextElement(e) : te.createSVGElement(e);\n }\n }, {\n key: \"createCustomElement\",\n value: function createCustomElement(e, t) {\n var n, r, o, a;\n var i = t == null ? void 0 : t[e];\n if ((n = i == null ? void 0 : i.svg) != null && n.content) return K.createElement((r = i == null ? void 0 : i.svg) == null ? void 0 : r.content, !1);\n if ((o = i == null ? void 0 : i.text) != null && o.content) return K.createElement((a = i == null ? void 0 : i.text) == null ? void 0 : a.content, !0);\n }\n }, {\n key: \"processElement\",\n value: function processElement(e, t) {\n t != null && t.classList.contains(\"text-button\") || e.classList.add(\"input-button-svg\");\n }\n // publicly used for creating elements that do not change state in a sequence\n // prettier-ignore\n }, {\n key: \"createSpecificStateElement\",\n value: function createSpecificStateElement(e, t, i) {\n var n;\n return i && (n = K.createCustomElement(t, i)), K.processElement(e, n), n;\n }\n // https://github.com/OvidijusParsiunas/deep-chat/issues/175\n // isDropup here is only determined by the user and not when moved to dropup automatically\n // prettier-ignore\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i, n) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n var o, a;\n return r && !((a = (o = n == null ? void 0 : n[i]) == null ? void 0 : o.svg) != null && a.content) ? t : K.createSpecificStateElement(e, i, n) || t;\n }\n }]);\n}();\nvar Po = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z\\\"></path>\\n</svg>\";\nvar fe = /*#__PURE__*/function () {\n function fe() {\n _classCallCheck(this, fe);\n }\n return _createClass(fe, null, [{\n key: \"unsetAllCSS\",\n value: function unsetAllCSS(e, t) {\n var i, n;\n t.container && M.unsetAllCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && M.unsetAllCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && M.unsetAllCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"unsetActionCSS\",\n value: function unsetActionCSS(e, t) {\n var i, n;\n t.container && M.unsetActivityCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && M.unsetActivityCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && M.unsetActivityCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"setElementsCSS\",\n value: function setElementsCSS(e, t, i) {\n var n, r, o, a, l;\n Object.assign(e.style, (n = t.container) == null ? void 0 : n[i]), Object.assign(e.children[0].style, (o = (r = t.svg) == null ? void 0 : r.styles) == null ? void 0 : o[i]), Object.assign(e.children[0].style, (l = (a = t.text) == null ? void 0 : a.styles) == null ? void 0 : l[i]);\n }\n }, {\n key: \"setElementCssUpToState\",\n value: function setElementCssUpToState(e, t, i) {\n fe.setElementsCSS(e, t, \"default\"), i !== \"default\" && (fe.setElementsCSS(e, t, \"hover\"), i !== \"hover\" && fe.setElementsCSS(e, t, \"click\"));\n }\n }]);\n}();\nvar jt = /*#__PURE__*/function () {\n function jt(e, t, i, n) {\n _classCallCheck(this, jt);\n this._mouseState = {\n state: \"default\"\n }, this.elementRef = e, this._customStyles = i, this.position = t, this.dropupText = n;\n }\n return _createClass(jt, [{\n key: \"buttonMouseLeave\",\n value: function buttonMouseLeave(e) {\n this._mouseState.state = \"default\", e && (fe.unsetAllCSS(this.elementRef, e), fe.setElementsCSS(this.elementRef, e, \"default\"));\n }\n }, {\n key: \"buttonMouseEnter\",\n value: function buttonMouseEnter(e) {\n this._mouseState.state = \"hover\", e && fe.setElementsCSS(this.elementRef, e, \"hover\");\n }\n }, {\n key: \"buttonMouseUp\",\n value: function buttonMouseUp(e) {\n e && fe.unsetActionCSS(this.elementRef, e), this.buttonMouseEnter(e);\n }\n }, {\n key: \"buttonMouseDown\",\n value: function buttonMouseDown(e) {\n this._mouseState.state = \"click\", e && fe.setElementsCSS(this.elementRef, e, \"click\");\n }\n // be careful not to use onclick as that is used for button functionality\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n this.elementRef.onmousedown = this.buttonMouseDown.bind(this, e), this.elementRef.onmouseup = this.buttonMouseUp.bind(this, e), this.elementRef.onmouseenter = this.buttonMouseEnter.bind(this, e), this.elementRef.onmouseleave = this.buttonMouseLeave.bind(this, e);\n }\n }, {\n key: \"unsetCustomStateStyles\",\n value: function unsetCustomStateStyles(e) {\n if (this._customStyles) for (var t = 0; t < e.length; t += 1) {\n var _i15 = e[t],\n n = _i15 && this._customStyles[_i15];\n n && fe.unsetActionCSS(this.elementRef, n);\n }\n }\n }, {\n key: \"reapplyStateStyle\",\n value: function reapplyStateStyle(e, t) {\n if (!this._customStyles) return;\n t && this.unsetCustomStateStyles(t);\n var i = this._customStyles[e];\n i && fe.setElementCssUpToState(this.elementRef, i, this._mouseState.state), this.setEvents(i);\n }\n }]);\n}();\nvar Lt = /*#__PURE__*/function () {\n function Lt() {\n _classCallCheck(this, Lt);\n }\n return _createClass(Lt, null, [{\n key: \"focusItemWhenOnEdge\",\n value: function focusItemWhenOnEdge(e, t) {\n var i = t ? e.children[0] : e.children[e.children.length - 1];\n Lt.focusSiblingItem(i, e, t, !0);\n }\n // isEdgeItem means is it a start or end item\n // prettier-ignore\n }, {\n key: \"focusSiblingItem\",\n value: function focusSiblingItem(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = n ? e : e[i ? \"nextSibling\" : \"previousSibling\"];\n r ? (e.dispatchEvent(new MouseEvent(\"mouseleave\")), r.dispatchEvent(new MouseEvent(\"mouseenter\"))) : (e.dispatchEvent(new MouseEvent(\"mouseleave\")), Lt.focusItemWhenOnEdge(t, i));\n }\n }]);\n}();\nvar Fe = /*#__PURE__*/function () {\n function Fe() {\n _classCallCheck(this, Fe);\n }\n return _createClass(Fe, null, [{\n key: \"addItemEvents\",\n value: function addItemEvents(e, t, i, n) {\n ze.add(t, n), t.addEventListener(\"click\", function () {\n i.click();\n }), t.addEventListener(\"mouseenter\", function (r) {\n e.highlightedItem = r.target;\n }), t.addEventListener(\"mouseleave\", function () {\n e.highlightedItem = void 0;\n });\n }\n }, {\n key: \"createItemText\",\n value: function createItemText(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-text\"), i.textContent = e || \"File\", i;\n }\n }, {\n key: \"createItemIcon\",\n value: function createItemIcon(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-icon\"), i.appendChild(e.children[0]), i;\n }\n }, {\n key: \"populateItem\",\n value: function populateItem(e, t, i, n) {\n var r = e.children[0];\n r.classList.contains(\"text-button\") ? t.appendChild(Fe.createItemText(r.textContent, n == null ? void 0 : n.text)) : (t.appendChild(Fe.createItemIcon(e, n == null ? void 0 : n.iconContainer)), t.appendChild(Fe.createItemText(i, n == null ? void 0 : n.text)));\n }\n // prettier-ignore\n }, {\n key: \"createItem\",\n value: function createItem(e, t, i) {\n var l;\n var n = t.elementRef,\n r = t.dropupText,\n o = document.createElement(\"div\");\n Object.assign(o.style, (l = i == null ? void 0 : i.item) == null ? void 0 : l[\"default\"]), Fe.populateItem(n, o, r, i), o.classList.add(\"dropup-menu-item\");\n var a = M.processStateful((i == null ? void 0 : i.item) || {}, {\n backgroundColor: \"#f3f3f3\"\n }, {\n backgroundColor: \"#ebebeb\"\n });\n return Fe.addItemEvents(e, o, n, a), o;\n }\n }]);\n}();\nvar gn = /*#__PURE__*/function () {\n function gn(e, t) {\n var _this47 = this;\n _classCallCheck(this, gn);\n var i;\n this._isOpen = !0, this._styles = t, this.elementRef = gn.createElement((i = this._styles) == null ? void 0 : i.container), this.close(), setTimeout(function () {\n return _this47.addWindowEvents(e);\n });\n }\n return _createClass(gn, [{\n key: \"open\",\n value: function open() {\n this.elementRef.style.display = \"block\", this._isOpen = !0;\n }\n }, {\n key: \"close\",\n value: function close() {\n this._isOpen && (this.elementRef.style.display = \"none\", this._isOpen = !1);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n this._isOpen ? this.close() : this.open();\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n var t = Fe.createItem(this, e, this._styles);\n this.elementRef.appendChild(t);\n }\n // prettier-ignore\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.clickEvent = this.windowClick.bind(this, e), window.addEventListener(\"click\", this.clickEvent), this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowClick\",\n value: function windowClick(e, t) {\n var i;\n !e.isConnected && this.clickEvent ? window.removeEventListener(\"click\", this.clickEvent) : e.parentElement !== ((i = t.target.shadowRoot) == null ? void 0 : i.children[0]) && this.close();\n }\n // prettier-ignore\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n, r;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === P.ESCAPE ? (this.close(), (i = this.highlightedItem) == null || i.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === P.ENTER ? ((n = this.highlightedItem) == null || n.click(), (r = this.highlightedItem) == null || r.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === P.ARROW_DOWN ? Lt.focusSiblingItem(this.highlightedItem || this.elementRef.children[this.elementRef.children.length - 1], this.elementRef, !0) : t.key === P.ARROW_UP && Lt.focusSiblingItem(this.highlightedItem || this.elementRef.children[0], this.elementRef, !1));\n }\n }], [{\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"dropup-menu\", Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar ct = /*#__PURE__*/function (_jt) {\n function ct(e, t) {\n var _this48;\n _classCallCheck(this, ct);\n var n;\n _this48 = _callSuper(this, ct, [ct.createButtonElement(), void 0, {\n styles: (n = t == null ? void 0 : t.button) == null ? void 0 : n.styles\n }]);\n var i = _this48.createInnerElements(_this48._customStyles);\n _this48._menu = new gn(e, t == null ? void 0 : t.menu), _this48.addClickEvent(), _this48.buttonContainer = ct.createButtonContainer(), _this48.elementRef.appendChild(i.styles), _this48.buttonContainer.appendChild(_this48.elementRef), _this48.elementRef.classList.add(\"dropup-icon\", \"upload-file-button\"), _this48.elementRef.children[0].id = \"dropup-icon\", _this48.buttonContainer.appendChild(_this48._menu.elementRef), _this48.reapplyStateStyle(\"styles\"), _this48.addContainerEvents(e);\n return _this48;\n }\n _inherits(ct, _jt);\n return _createClass(ct, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(ct.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return K.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent() {\n this.elementRef.onclick = this._menu.toggle.bind(this._menu);\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n this._menu.addItem(e);\n }\n }, {\n key: \"addContainerEvents\",\n value: function addContainerEvents(e) {\n var _this49 = this;\n e.addEventListener(\"click\", function (t) {\n t.target.classList.contains(\"dropup-icon\") || _this49._menu.close();\n });\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n return te.createSVGElement(Po);\n }\n }, {\n key: \"createButtonContainer\",\n value: function createButtonContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"dropup-container\", e;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var i, n;\n return (i = t == null ? void 0 : t.button) != null && i.position ? (n = t == null ? void 0 : t.button) == null ? void 0 : n.position : e[\"outside-left\"].length > 0 && e[\"outside-right\"].length === 0 ? \"outside-right\" : \"outside-left\";\n }\n }]);\n}(jt);\nvar G = /*#__PURE__*/function () {\n function G() {\n _classCallCheck(this, G);\n }\n return _createClass(G, null, [{\n key: \"addToDropup\",\n value:\n // prettier-ignore\n function addToDropup(e, t, i, n) {\n var r = new ct(i, n);\n Dn.forEach(function (a) {\n var l = t[\"dropup-menu\"].findIndex(function (d) {\n return d.buttonType === a;\n }),\n c = t[\"dropup-menu\"][l];\n c && (r.addItem(c.button), t[\"dropup-menu\"].splice(l, 1));\n });\n var o = ct.getPosition(t, n);\n ft.addButton(e, r.buttonContainer, o), t[o].push({});\n }\n }, {\n key: \"addToSideContainer\",\n value: function addToSideContainer(e, t) {\n [\"inside-left\", \"inside-right\", \"outside-left\", \"outside-right\"].forEach(function (n) {\n var r = n;\n t[r].forEach(function (o) {\n ft.addButton(e, o.button.elementRef, r);\n });\n });\n }\n }, {\n key: \"setPosition\",\n value: function setPosition(e, t, i) {\n var n = _objectSpread(_objectSpread({}, e[t]), {}, {\n buttonType: t\n });\n i.push(n), delete e[t];\n }\n }, {\n key: \"createPositionsObj\",\n value: function createPositionsObj() {\n return {\n \"dropup-menu\": [],\n \"outside-left\": [],\n \"inside-left\": [],\n \"inside-right\": [],\n \"outside-right\": []\n };\n }\n // prettier-ignore\n }, {\n key: \"generatePositions\",\n value: function generatePositions(e) {\n var t = G.createPositionsObj();\n Object.keys(e).forEach(function (n) {\n var o;\n var r = (o = e[n]) == null ? void 0 : o.button.position;\n r && G.setPosition(e, n, t[r]);\n }), t[\"inside-right\"].length === 0 && e.submit && G.setPosition(e, \"submit\", t[\"inside-right\"]), t[\"outside-right\"].length === 0 && (e.submit ? G.setPosition(e, \"submit\", t[\"outside-right\"]) : e.microphone ? G.setPosition(e, \"microphone\", t[\"outside-right\"]) : e.camera && G.setPosition(e, \"camera\", t[\"outside-right\"])), e.submit && G.setPosition(e, \"submit\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]), e.microphone && G.setPosition(e, \"microphone\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]);\n var i = Object.keys(e);\n return i.length > 1 || t[\"dropup-menu\"].length > 0 ? Dn.forEach(function (n) {\n e[n] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[n]), {}, {\n buttonType: n\n }));\n }) : i.length === 1 && G.setPosition(e, i[0], t[\"outside-right\"].length === 0 ? t[\"outside-right\"] : t[\"outside-left\"]), t;\n }\n // prettier-ignore\n }, {\n key: \"addButtons\",\n value: function addButtons(e, t, i, n) {\n var r = G.generatePositions(t);\n return G.addToSideContainer(e, r), r[\"dropup-menu\"].length > 0 && G.addToDropup(e, r, i, n), r;\n }\n }]);\n}();\nvar Oo = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>file</title>\\n<path d=\\\"M20 10.9696L11.9628 18.5497C10.9782 19.4783 9.64274 20 8.25028 20C6.85782 20 5.52239 19.4783 4.53777 18.5497C3.55315 17.6211 3 16.3616 3 15.0483C3 13.7351 3.55315 12.4756 4.53777 11.547L12.575 3.96687C13.2314 3.34779 14.1217 3 15.05 3C15.9783 3 16.8686 3.34779 17.525 3.96687C18.1814 4.58595 18.5502 5.4256 18.5502 6.30111C18.5502 7.17662 18.1814 8.01628 17.525 8.63535L9.47904 16.2154C9.15083 16.525 8.70569 16.6989 8.24154 16.6989C7.77738 16.6989 7.33224 16.525 7.00403 16.2154C6.67583 15.9059 6.49144 15.4861 6.49144 15.0483C6.49144 14.6106 6.67583 14.1907 7.00403 13.8812L14.429 6.88674\\\" stroke=\\\"#000000\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\",\n No = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M20,15.2928932 L20,5.5 C20,4.67157288 19.3284271,4 18.5,4 L5.5,4 C4.67157288,4 4,4.67157288 4,5.5 L4,12.2928932 L7.14644661,9.14644661 C7.34170876,8.95118446 7.65829124,8.95118446 7.85355339,9.14644661 L13.5,14.7928932 L16.1464466,12.1464466 C16.3417088,11.9511845 16.6582912,11.9511845 16.8535534,12.1464466 L20,15.2928932 Z M20,16.7071068 L16.5,13.2071068 L13.8535534,15.8535534 C13.6582912,16.0488155 13.3417088,16.0488155 13.1464466,15.8535534 L7.5,10.2071068 L4,13.7071068 L4,18.5 C4,19.3284271 4.67157288,20 5.5,20 L18.5,20 C19.3284271,20 20,19.3284271 20,18.5 L20,16.7071068 Z M3,5.5 C3,4.11928813 4.11928813,3 5.5,3 L18.5,3 C19.8807119,3 21,4.11928813 21,5.5 L21,18.5 C21,19.8807119 19.8807119,21 18.5,21 L5.5,21 C4.11928813,21 3,19.8807119 3,18.5 L3,5.5 Z M15,6 L17,6 C17.5522847,6 18,6.44771525 18,7 L18,9 C18,9.55228475 17.5522847,10 17,10 L15,10 C14.4477153,10 14,9.55228475 14,9 L14,7 C14,6.44771525 14.4477153,6 15,6 Z M15,7 L15,9 L17,9 L17,7 L15,7 Z\\\"/>\\n</svg>\\n\",\n Do = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-49.49 -49.49 593.87 593.87\\\" stroke-width=\\\"3.95908\\\" transform=\\\"rotate(0)\\\">\\n <g stroke-width=\\\"0\\\"></g>\\n <g stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"0.98977\\\"></g>\\n <g>\\n <g>\\n <g>\\n <path d=\\\"M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z\\\">\\n </path>\\n </g>\\n </g>\\n </g>\\n</svg>\",\n Fo = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 5.9266752 5.6408391\\\" height=\\\"21.31971\\\" width=\\\"22.4\\\">\\n <g>\\n <path d=\\\"m 5.2564627,1.548212 c -3.1136005,-0.4796804 -1.5568006,-0.2398402 0,0 z M 2.0001198,2.0922063 c 0.1556781,0 0.2657489,0.020893 0.3917849,0.080366 0.081154,0.038347 0.1153492,0.134065 0.076377,0.2138602 -0.038973,0.07979 -0.1363527,0.1134129 -0.2175069,0.075091 -0.078199,-0.036919 -0.1407455,-0.048792 -0.250655,-0.048792 -0.2260486,0 -0.3921482,0.2042182 -0.3921482,0.4801409 0,0.2761822 0.1663188,0.4810688 0.3921482,0.4810688 0.1117901,0 0.2064255,-0.046133 0.255659,-0.1284198 l 0.00162,-0.00389 V 3.0534032 l -0.098011,1.75e-4 c -0.081844,0 -0.1495979,-0.059305 -0.1612403,-0.1365887 l -0.00175,-0.023683 c 0,-0.08047 0.060311,-0.1470874 0.1389194,-0.1585331 l 0.024085,-0.00195 h 0.2612303 c 0.081842,0 0.149598,0.059305 0.1612404,0.1365891 l 0.00175,0.023683 -3.398e-4,0.3968809 v 0 l -0.00168,0.014211 v 0 l -0.00553,0.023034 v 0 l -0.00532,0.014145 c -0.098178,0.22826 -0.3236506,0.3528713 -0.5706303,0.3528713 -0.4240855,0 -0.7181621,-0.3622714 -0.7181621,-0.8016063 0,-0.4391857 0.2940275,-0.8006848 0.7181621,-0.8006848 z m 1.2034759,0.031275 c 0.081843,0 0.1495977,0.059305 0.1612403,0.1365891 l 0.00175,0.023683 v 1.2211775 c 0,0.088516 -0.07298,0.1602721 -0.1630073,0.1602721 -0.081841,0 -0.1495972,-0.059305 -0.1612397,-0.1365892 L 3.040589,3.5049308 V 2.2837527 c 0,-0.088516 0.07298,-0.1602721 0.1630067,-0.1602714 z m 0.7813442,0 0.5209469,0.00195 c 0.090025,3.048e-4 0.1627543,0.072306 0.1624458,0.1608234 -2.809e-4,0.08047 -0.06083,0.1468798 -0.1394772,0.158066 l -0.024092,0.00195 -0.3575326,-0.0013 v 0.4497782 l 0.2928918,2.27e-4 c 0.081842,0 0.1495979,0.059305 0.1612403,0.136589 l 0.00175,0.023683 c 0,0.080469 -0.06031,0.1470871 -0.1389193,0.1585393 l -0.024092,0.00195 -0.2928919,-2.336e-4 1.563e-4,0.2860316 c 0,0.080471 -0.06031,0.1470873 -0.1389193,0.1585395 l -0.024085,0.00195 c -0.081843,0 -0.1495979,-0.059305 -0.1612403,-0.1365826 l -0.00175,-0.023691 V 2.2841354 c 2.798e-4,-0.08047 0.060829,-0.1468797 0.1394758,-0.1580594 z\\\"/>\\n <path d=\\\"m 5.0894191,1.0943261 c 0,-0.21918999 -0.177687,-0.39686999 -0.396876,-0.39686999 h -3.43959 c -0.2191879,0 -0.391262,0.1777519 -0.3968759,0.39686999 l -0.027082,3.4379266 c 0.040152,0.2939927 0.4235456,0.409415 0.4235456,0.409415 l 3.4785583,-0.00851 c 0,0 0.3008506,-0.1402998 0.3236271,-0.4201576 0.042911,-0.5272495 0.034693,-1.6106146 0.034693,-3.4186761 z m -4.49792494,0 c 0,-0.36530999 0.29614504,-0.66145999 0.66145894,-0.66145999 h 3.43959 c 0.365314,0 0.66146,0.29615 0.66146,0.66145999 v 3.43959 c 0,0.36532 -0.296146,0.66146 -0.66146,0.66146 h -3.43959 c -0.3653139,0 -0.66145894,-0.29614 -0.66145894,-0.66146 z\\\"/>\\n </g>\\n</svg>\\n\",\n Bo = {\n images: {\n id: \"upload-images-icon\",\n svgString: No,\n dropupText: \"Image\"\n },\n gifs: {\n id: \"upload-gifs-icon\",\n svgString: Fo,\n dropupText: \"GIF\"\n },\n audio: {\n id: \"upload-audio-icon\",\n svgString: Do,\n dropupText: \"Audio\"\n },\n mixedFiles: {\n id: \"upload-mixed-files-icon\",\n svgString: Oo,\n dropupText: \"File\"\n }\n },\n jo = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg height=\\\"1.4em\\\" width=\\\"1.4em\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\\n\\t viewBox=\\\"0 0 490.9 490.9\\\" xml:space=\\\"preserve\\\">\\n\\t<g>\\n\\t\\t<g>\\n\\t\\t\\t<path d=\\\"M245.5,322.9c53,0,96.2-43.2,96.2-96.2V96.2c0-53-43.2-96.2-96.2-96.2s-96.2,43.2-96.2,96.2v130.5\\n\\t\\t\\t\\tC149.3,279.8,192.5,322.9,245.5,322.9z M173.8,96.2c0-39.5,32.2-71.7,71.7-71.7s71.7,32.2,71.7,71.7v130.5\\n\\t\\t\\t\\tc0,39.5-32.2,71.7-71.7,71.7s-71.7-32.2-71.7-71.7V96.2z\\\"/>\\n\\t\\t\\t<path d=\\\"M94.4,214.5c-6.8,0-12.3,5.5-12.3,12.3c0,85.9,66.7,156.6,151.1,162.8v76.7h-63.9c-6.8,0-12.3,5.5-12.3,12.3\\n\\t\\t\\t\\ts5.5,12.3,12.3,12.3h152.3c6.8,0,12.3-5.5,12.3-12.3s-5.5-12.3-12.3-12.3h-63.9v-76.7c84.4-6.3,151.1-76.9,151.1-162.8\\n\\t\\t\\t\\tc0-6.8-5.5-12.3-12.3-12.3s-12.3,5.5-12.3,12.3c0,76.6-62.3,138.9-138.9,138.9s-138.9-62.3-138.9-138.9\\n\\t\\t\\t\\tC106.6,220,101.2,214.5,94.4,214.5z\\\"/>\\n\\t\\t</g>\\n\\t</g>\\n</svg>\\n\";\nvar Pt = /*#__PURE__*/function (_jt2) {\n function Pt(e) {\n var _this50;\n _classCallCheck(this, Pt);\n (e == null ? void 0 : e.position) === \"dropup-menu\" && (e.position = \"outside-right\"), _this50 = _callSuper(this, Pt, [Pt.createMicrophoneElement(), e == null ? void 0 : e.position, e]), _this50.isActive = !1, _this50._innerElements = _this50.createInnerElements(_this50._customStyles), _this50.changeToDefault();\n return _this50;\n }\n _inherits(Pt, _jt2);\n return _createClass(Pt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = Pt.createSVGIconElement();\n return {\n \"default\": this.createInnerElement(t, \"default\", e),\n active: this.createInnerElement(t, \"active\", e),\n unsupported: this.createInnerElement(t, \"unsupported\", e),\n commandMode: this.createInnerElement(t, \"commandMode\", e)\n };\n }\n // prettier-ignore\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return K.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive() {\n this.elementRef.replaceChildren(this._innerElements.active), this.toggleIconFilter(\"active\"), this.reapplyStateStyle(\"active\", [\"default\", \"commandMode\"]), this.isActive = !0;\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault() {\n this.elementRef.replaceChildren(this._innerElements[\"default\"]), this.toggleIconFilter(\"default\"), this.reapplyStateStyle(\"default\", [\"active\", \"commandMode\"]), this.isActive = !1;\n }\n }, {\n key: \"changeToCommandMode\",\n value: function changeToCommandMode() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.toggleIconFilter(\"command\"), this.reapplyStateStyle(\"commandMode\", [\"active\"]);\n }\n }, {\n key: \"changeToUnsupported\",\n value: function changeToUnsupported() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.elementRef.classList.add(\"unsupported-microphone\"), this.reapplyStateStyle(\"unsupported\", [\"active\"]);\n }\n }, {\n key: \"toggleIconFilter\",\n value: function toggleIconFilter(e) {\n var t = this.elementRef.children[0];\n if (t.tagName.toLocaleLowerCase() === \"svg\") switch (e) {\n case \"default\":\n t.classList.remove(\"active-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"default-microphone-icon\");\n break;\n case \"active\":\n t.classList.remove(\"default-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"active-microphone-icon\");\n break;\n case \"command\":\n t.classList.remove(\"active-microphone-icon\", \"default-microphone-icon\"), t.classList.add(\"command-microphone-icon\");\n break;\n }\n }\n }], [{\n key: \"createMicrophoneElement\",\n value: function createMicrophoneElement() {\n var e = document.createElement(\"div\");\n return e.id = \"microphone-button\", e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = te.createSVGElement(jo);\n return e.id = \"microphone-icon\", e;\n }\n }]);\n}(jt);\nvar ds = {},\n wi = {},\n Ti = {},\n Ut = {},\n Ye = {};\nObject.defineProperty(Ye, \"__esModule\", {\n value: !0\n});\nYe.Text = void 0;\nvar Oe = /*#__PURE__*/function () {\n function Oe() {\n _classCallCheck(this, Oe);\n }\n return _createClass(Oe, null, [{\n key: \"capitalize\",\n value: function capitalize(e) {\n return e.replace(Oe.FIRST_CHAR_REGEX, function (t) {\n return t.toUpperCase();\n });\n }\n }, {\n key: \"lineBreak\",\n value: function lineBreak(e) {\n return e.replace(Oe.DOUBLE_LINE, \"<p></p>\").replace(Oe.ONE_LINE, \"<br>\");\n }\n }, {\n key: \"isCharDefined\",\n value: function isCharDefined(e) {\n return e !== void 0 && e !== \" \" && e !== \" \" && e !== \"\\n\" && e !== \"\";\n }\n // WORK - can optimize to not not have to do it multiple times\n }, {\n key: \"breakupIntoWordsArr\",\n value: function breakupIntoWordsArr(e) {\n return e.split(/(\\W+)/);\n }\n }]);\n}();\nYe.Text = Oe;\nOe.FIRST_CHAR_REGEX = /\\S/;\nOe.DOUBLE_LINE = /\\n\\n/g;\nOe.ONE_LINE = /\\n/g;\nObject.defineProperty(Ut, \"__esModule\", {\n value: !0\n});\nUt.Translate = void 0;\nvar Uo = Ye;\nvar Ho = /*#__PURE__*/function () {\n function Ho() {\n _classCallCheck(this, Ho);\n }\n return _createClass(Ho, null, [{\n key: \"translate\",\n value: function translate(e, t) {\n var i = Uo.Text.breakupIntoWordsArr(e);\n for (var n = 0; n < i.length; n += 1) t[i[n]] && (i[n] = t[i[n]]);\n return i.join(\"\");\n }\n }]);\n}();\nUt.Translate = Ho;\nObject.defineProperty(Ti, \"__esModule\", {\n value: !0\n});\nTi.WebSpeechTranscript = void 0;\nvar Fn = Ut;\nvar qo = /*#__PURE__*/function () {\n function qo() {\n _classCallCheck(this, qo);\n }\n return _createClass(qo, null, [{\n key: \"extract\",\n value: function extract(e, t, i) {\n var n = \"\";\n for (var r = e.resultIndex; r < e.results.length; ++r) {\n var o = e.results[r][0].transcript;\n i && (o = Fn.Translate.translate(o, i)), e.results[r].isFinal ? t += o : n += o;\n }\n return {\n interimTranscript: n,\n finalTranscript: t,\n newText: n || t\n };\n }\n }, {\n key: \"extractSafari\",\n value: function extractSafari(e, t, i) {\n var n = \"\";\n var r = \"\";\n for (var o = e.resultIndex; o < e.results.length; ++o) {\n var a = e.results[o][0].transcript;\n i && (a = Fn.Translate.translate(a, i)), n += a;\n }\n return {\n interimTranscript: r,\n finalTranscript: n,\n newText: r || n\n };\n }\n }]);\n}();\nTi.WebSpeechTranscript = qo;\nvar mt = {};\nObject.defineProperty(mt, \"__esModule\", {\n value: !0\n});\nmt.Browser = void 0;\nvar vt = /*#__PURE__*/_createClass(function vt() {\n _classCallCheck(this, vt);\n});\nmt.Browser = vt;\nvt.IS_SAFARI = function () {\n return vt._IS_SAFARI === void 0 && (vt._IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), vt._IS_SAFARI;\n};\nvar Ht = {},\n Ci = {};\nObject.defineProperty(Ci, \"__esModule\", {\n value: !0\n});\nCi.EventListeners = void 0;\nvar re = /*#__PURE__*/function () {\n function re() {\n _classCallCheck(this, re);\n }\n return _createClass(re, null, [{\n key: \"getElementIfFocusedOnAvailable\",\n value: function getElementIfFocusedOnAvailable(e, t) {\n return Array.isArray(e) ? e.find(function (i) {\n return t === i;\n }) : t === e ? e : void 0;\n }\n }, {\n key: \"keyDownWindow\",\n value: function keyDownWindow(e) {\n var _this51 = this;\n e.element && re.getElementIfFocusedOnAvailable(e.element, document.activeElement) && (re.KEY_DOWN_TIMEOUT !== null && clearTimeout(re.KEY_DOWN_TIMEOUT), re.KEY_DOWN_TIMEOUT = setTimeout(function () {\n re.KEY_DOWN_TIMEOUT = null, _this51.resetRecording(e);\n }, 500));\n }\n }, {\n key: \"mouseDownWindow\",\n value: function mouseDownWindow(e, t) {\n this.mouseDownElement = re.getElementIfFocusedOnAvailable(e, t.target);\n }\n }, {\n key: \"mouseUpWindow\",\n value: function mouseUpWindow(e) {\n this.mouseDownElement && this.resetRecording(e), this.mouseDownElement = void 0;\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n var i = (t == null ? void 0 : t.insertInCursorLocation) === void 0 || (t == null ? void 0 : t.insertInCursorLocation);\n t != null && t.element && i && (e.mouseDownEvent = re.mouseDownWindow.bind(e, t.element), document.addEventListener(\"mousedown\", e.mouseDownEvent), e.mouseUpEvent = re.mouseUpWindow.bind(e, t), document.addEventListener(\"mouseup\", e.mouseUpEvent), e.keyDownEvent = re.keyDownWindow.bind(e, t), document.addEventListener(\"keydown\", e.keyDownEvent));\n }\n }, {\n key: \"remove\",\n value: function remove(e) {\n document.removeEventListener(\"mousedown\", e.mouseDownEvent), document.removeEventListener(\"mouseup\", e.mouseUpEvent), document.removeEventListener(\"keydown\", e.keyDownEvent);\n }\n }]);\n}();\nCi.EventListeners = re;\nre.KEY_DOWN_TIMEOUT = null;\nvar ki = {};\nObject.defineProperty(ki, \"__esModule\", {\n value: !0\n});\nki.PreResultUtils = void 0;\nvar zo = /*#__PURE__*/function () {\n function zo() {\n _classCallCheck(this, zo);\n }\n return _createClass(zo, null, [{\n key: \"process\",\n value: function process(e, t, i, n, r) {\n var o = n == null ? void 0 : n(t, i);\n return o ? (setTimeout(function () {\n o.restart ? e.resetRecording(r) : o.stop && e.stop();\n }), (o.stop || o.restart) && o.removeNewText) : !1;\n }\n }]);\n}();\nki.PreResultUtils = zo;\nvar qt = {},\n zt = {};\nObject.defineProperty(zt, \"__esModule\", {\n value: !0\n});\nzt.AutoScroll = void 0;\nvar bn = /*#__PURE__*/function () {\n function bn() {\n _classCallCheck(this, bn);\n }\n return _createClass(bn, null, [{\n key: \"changeStateIfNeeded\",\n value: function changeStateIfNeeded(e, t) {\n t && !e.isCursorAtEnd && (e.endPadding = \"\", e.scrollingSpan.innerHTML = \"&nbsp;\");\n }\n }, {\n key: \"scrollGeneric\",\n value: function scrollGeneric(e, t) {\n e.isCursorAtEnd ? t.scrollTop = t.scrollHeight : e.scrollingSpan.scrollIntoView({\n block: \"nearest\"\n });\n }\n // primitives don't need to be scrolled except in safari\n // they can only safely be scrolled to the end\n }, {\n key: \"scrollSafariPrimitiveToEnd\",\n value: function scrollSafariPrimitiveToEnd(e) {\n e.scrollLeft = e.scrollWidth, e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"isElementOverflown\",\n value: function isElementOverflown(e) {\n return e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth;\n }\n }, {\n key: \"isRequired\",\n value: function isRequired(e, t) {\n return e && bn.isElementOverflown(t);\n }\n }]);\n}();\nzt.AutoScroll = bn;\nvar Qe = {};\nObject.defineProperty(Qe, \"__esModule\", {\n value: !0\n});\nQe.Elements = void 0;\nvar Vo = /*#__PURE__*/function () {\n function Vo() {\n _classCallCheck(this, Vo);\n }\n return _createClass(Vo, null, [{\n key: \"isPrimitiveElement\",\n value: function isPrimitiveElement(e) {\n return e.tagName === \"INPUT\" || e.tagName === \"TEXTAREA\";\n }\n }, {\n key: \"createInterimSpan\",\n value: function createInterimSpan() {\n var e = document.createElement(\"span\");\n return e.style.color = \"grey\", e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"createGenericSpan\",\n value: function createGenericSpan() {\n var e = document.createElement(\"span\");\n return e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"appendSpans\",\n value: function appendSpans(e, t) {\n if (e.spansPopulated = !0, e.insertInCursorLocation && document.activeElement === t) {\n var _i16 = window.getSelection();\n if (_i16 != null && _i16.focusNode) {\n var n = _i16.getRangeAt(0);\n n.insertNode(e.scrollingSpan), n.insertNode(e.interimSpan), n.insertNode(e.finalSpan), n.collapse(!1), _i16.removeAllRanges(), _i16.addRange(n);\n return;\n }\n }\n t.appendChild(e.finalSpan), t.appendChild(e.interimSpan), t.appendChild(e.scrollingSpan);\n }\n }, {\n key: \"applyCustomColors\",\n value: function applyCustomColors(e, t) {\n t.interim && (e.interimSpan.style.color = t.interim), t[\"final\"] && (e.finalSpan.style.color = t[\"final\"]);\n }\n }, {\n key: \"isInsideShadowDOM\",\n value: function isInsideShadowDOM(e) {\n return e.getRootNode() instanceof ShadowRoot;\n }\n }]);\n}();\nQe.Elements = Vo;\nvar et = {};\nObject.defineProperty(et, \"__esModule\", {\n value: !0\n});\net.Cursor = void 0;\nvar _t = /*#__PURE__*/function () {\n function _t() {\n _classCallCheck(this, _t);\n }\n return _createClass(_t, null, [{\n key: \"setOffsetForGeneric\",\n value: function setOffsetForGeneric(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var n = 0;\n for (var r = 0; r < e.childNodes.length; r += 1) {\n var o = e.childNodes[r];\n if (o.childNodes.length > 0) {\n var a = _t.setOffsetForGeneric(o, t, i);\n if (a === -1) return -1;\n i += a;\n } else if (o.textContent !== null) {\n if (i + o.textContent.length > t) {\n var _a3 = document.createRange();\n _a3.setStart(o, t - i), _a3.collapse(!0);\n var l = window.getSelection();\n return l == null || l.removeAllRanges(), l == null || l.addRange(_a3), e.focus(), -1;\n }\n i += o.textContent.length, n += o.textContent.length;\n }\n }\n return n;\n }\n }, {\n key: \"focusEndOfGeneric\",\n value: function focusEndOfGeneric(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i && (i.removeAllRanges(), i.addRange(t));\n }\n }, {\n key: \"setOffsetForSafariGeneric\",\n value: function setOffsetForSafariGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = _t.getGenericElementCursorOffset(e, i, !0);\n console.log(n), setTimeout(function () {}, 100), _t.setOffsetForGeneric(e, n + t);\n }\n }\n // set to automatically scroll to cursor (scroll does not work in Safari)\n }, {\n key: \"setOffsetForPrimitive\",\n value: function setOffsetForPrimitive(e, t, i) {\n i && e.blur(), e.setSelectionRange(t, t), e.focus();\n }\n // Scroll Input in Safari - does not work for TextArea and uses span which can have a different style\n // private static getCursorOffsetFromLeft(inputElement: HTMLInputElement, position: number) {\n // // Get the value of the input element up to the cursor position\n // const valueUpToCursor = inputElement.value.substring(0, position);\n // // Create a temporary span element to measure the width of the text\n // const tempSpan = document.createElement('span');\n // tempSpan.textContent = valueUpToCursor;\n // tempSpan.style.visibility = 'hidden';\n // tempSpan.style.position = 'absolute';\n // document.body.appendChild(tempSpan);\n // // Measure the width of the text up to the cursor position\n // const offsetWidth = tempSpan.offsetWidth;\n // const offsetHeight = tempSpan.offsetHeight;\n // // Clean up the temporary span element\n // document.body.removeChild(tempSpan);\n // return {left: offsetWidth, top: offsetHeight};\n // }\n }, {\n key: \"getGenericElementCursorOffset\",\n value: function getGenericElementCursorOffset(e, t, i) {\n var n = 0;\n if (t.rangeCount > 0) {\n var r = t.getRangeAt(0),\n o = r.cloneRange();\n o.selectNodeContents(e), i ? o.setEnd(r.startContainer, r.startOffset) : o.setEnd(r.endContainer, r.endOffset), n = o.toString().length;\n }\n return n;\n }\n }]);\n}();\net.Cursor = _t;\nObject.defineProperty(qt, \"__esModule\", {\n value: !0\n});\nqt.CommandUtils = void 0;\nvar Bn = zt,\n Go = Qe,\n Wo = mt,\n jn = et,\n Un = Ye;\nvar ne = /*#__PURE__*/function () {\n function ne() {\n _classCallCheck(this, ne);\n }\n return _createClass(ne, null, [{\n key: \"processCommand\",\n value: function processCommand(e, t) {\n return (!t || !t.caseSensitive) && (e = e.toLowerCase()), (t == null ? void 0 : t.substrings) === !1 ? Un.Text.breakupIntoWordsArr(e) : e;\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t;\n return ((t = e.settings) === null || t === void 0 ? void 0 : t.caseSensitive) === !0 ? e : Object.keys(e).reduce(function (n, r) {\n var o = e[r];\n return n[r] = typeof o == \"string\" ? ne.processCommand(o, e.settings) : o, n;\n }, {});\n }\n }, {\n key: \"toggleCommandModeOn\",\n value: function toggleCommandModeOn(e) {\n var t;\n e.isWaitingForCommand = !0, (t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !0);\n }\n }, {\n key: \"toggleCommandModeOff\",\n value: function toggleCommandModeOff(e) {\n var t;\n e.isWaitingForCommand && ((t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !1), e.isWaitingForCommand = !1);\n }\n }, {\n key: \"setText\",\n value: function setText(e, t, i, n) {\n ne.toggleCommandModeOff(e), Go.Elements.isPrimitiveElement(n) ? (n.value = i, e.isTargetInShadow || jn.Cursor.setOffsetForPrimitive(n, i.length, !0), Wo.Browser.IS_SAFARI() && e.autoScroll && Bn.AutoScroll.scrollSafariPrimitiveToEnd(n)) : (n.textContent = i, e.isTargetInShadow || jn.Cursor.focusEndOfGeneric(n), setTimeout(function () {\n return Bn.AutoScroll.scrollGeneric(e, n);\n })), e.resetRecording(t);\n }\n }, {\n key: \"checkIfMatchesSubstring\",\n value: function checkIfMatchesSubstring(e, t) {\n return t.includes(e);\n }\n }, {\n key: \"checkIfMatchesWord\",\n value: function checkIfMatchesWord(e, t, i) {\n var n = e;\n for (var r = i.length - 1; r >= 0; r -= 1) {\n var o = r,\n a = n.length - 1;\n for (; i[o] === n[a] && a >= 0;) o -= 1, a -= 1;\n if (a < 0) return !0;\n }\n return !1;\n }\n // prettier-ignore\n }, {\n key: \"execCommand\",\n value: function execCommand(e, t, i, n, r) {\n var o, a, l;\n var c = e.commands;\n if (!c || !n || !i) return;\n var d = ((o = c.settings) === null || o === void 0 ? void 0 : o.caseSensitive) === !0 ? t : t.toLowerCase(),\n h = Un.Text.breakupIntoWordsArr(d),\n u = ((a = c.settings) === null || a === void 0 ? void 0 : a.substrings) === !1 ? ne.checkIfMatchesWord : ne.checkIfMatchesSubstring;\n if (c.commandMode && u(c.commandMode, d, h)) return e.setInterimColorToFinal(), setTimeout(function () {\n return ne.toggleCommandModeOn(e);\n }), {\n doNotProcessTranscription: !1\n };\n if (!(c.commandMode && !e.isWaitingForCommand)) {\n if (c.stop && u(c.stop, d, h)) return ne.toggleCommandModeOff(e), setTimeout(function () {\n return e.stop();\n }), {\n doNotProcessTranscription: !1\n };\n if (c.pause && u(c.pause, d, h)) return ne.toggleCommandModeOff(e), e.setInterimColorToFinal(), setTimeout(function () {\n var f;\n e.isPaused = !0, (f = e.onPauseTrigger) === null || f === void 0 || f.call(e, !0);\n }), {\n doNotProcessTranscription: !1\n };\n if (c.resume && u(c.resume, d, h)) return e.isPaused = !1, (l = e.onPauseTrigger) === null || l === void 0 || l.call(e, !1), ne.toggleCommandModeOff(e), e.resetRecording(i), {\n doNotProcessTranscription: !0\n };\n if (c.reset && u(c.reset, d, h)) return r !== void 0 && ne.setText(e, i, r, n), {\n doNotProcessTranscription: !0\n };\n if (c.removeAllText && u(c.removeAllText, d, h)) return ne.setText(e, i, \"\", n), {\n doNotProcessTranscription: !0\n };\n }\n }\n }]);\n}();\nqt.CommandUtils = ne;\nvar Ai = {};\nObject.defineProperty(Ai, \"__esModule\", {\n value: !0\n});\nAi.Highlight = void 0;\nvar $o = Qe,\n bt = et;\nvar hi = /*#__PURE__*/function () {\n function hi() {\n _classCallCheck(this, hi);\n }\n return _createClass(hi, null, [{\n key: \"setStateForPrimitive\",\n value: function setStateForPrimitive(e, t) {\n var i, n;\n t.selectionStart !== null && (i = t.selectionStart), t.selectionEnd !== null && (n = t.selectionEnd), e.isHighlighted = i !== n;\n }\n }, {\n key: \"setStateForGeneric\",\n value: function setStateForGeneric(e, t) {\n var i = window.getSelection();\n if (i != null && i.focusNode) {\n var n = bt.Cursor.getGenericElementCursorOffset(t, i, !0),\n r = bt.Cursor.getGenericElementCursorOffset(t, i, !1);\n e.isHighlighted = n !== r;\n }\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n document.activeElement === t && ($o.Elements.isPrimitiveElement(t) ? hi.setStateForPrimitive(e, t) : hi.setStateForGeneric(e, t));\n }\n }, {\n key: \"removeForGeneric\",\n value: function removeForGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = bt.Cursor.getGenericElementCursorOffset(t, i, !0);\n i.deleteFromDocument(), bt.Cursor.setOffsetForGeneric(t, n), e.isHighlighted = !1;\n }\n }\n }, {\n key: \"removeForPrimitive\",\n value: function removeForPrimitive(e, t) {\n var i = t.selectionStart,\n n = t.selectionEnd,\n r = t.value;\n if (i && n) {\n var o = r.substring(0, i) + r.substring(n);\n t.value = o, bt.Cursor.setOffsetForPrimitive(t, i, e.autoScroll);\n }\n e.isHighlighted = !1;\n }\n }]);\n}();\nAi.Highlight = hi;\nvar Mi = {};\nObject.defineProperty(Mi, \"__esModule\", {\n value: !0\n});\nMi.Padding = void 0;\nvar Ko = Qe,\n Hn = et,\n it = Ye;\nvar ui = /*#__PURE__*/function () {\n function ui() {\n _classCallCheck(this, ui);\n }\n return _createClass(ui, null, [{\n key: \"setStateForPrimitiveElement\",\n value: function setStateForPrimitiveElement(e, t) {\n if (document.activeElement === t && t.selectionStart !== null) {\n var n = t.selectionStart,\n r = t.value[n - 1],\n o = t.selectionEnd === null ? n : t.selectionEnd,\n a = t.value[o];\n it.Text.isCharDefined(r) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), it.Text.isCharDefined(a) && (e.endPadding = \" \", e.numberOfSpacesAfterNewText = 1), e.isCursorAtEnd = t.value.length === o;\n return;\n }\n var i = t.value[t.value.length - 1];\n it.Text.isCharDefined(i) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setStateForGenericElement\",\n value: function setStateForGenericElement(e, t) {\n var i, n, r;\n if (document.activeElement === t) {\n var a = window.getSelection();\n if (a != null && a.focusNode) {\n var l = Hn.Cursor.getGenericElementCursorOffset(t, a, !0),\n c = (i = t.textContent) === null || i === void 0 ? void 0 : i[l - 1],\n d = Hn.Cursor.getGenericElementCursorOffset(t, a, !1),\n h = (n = t.textContent) === null || n === void 0 ? void 0 : n[d];\n it.Text.isCharDefined(c) && (e.startPadding = \" \"), it.Text.isCharDefined(h) && (e.endPadding = \" \"), e.isCursorAtEnd = ((r = t.textContent) === null || r === void 0 ? void 0 : r.length) === d;\n return;\n }\n }\n var o = t.innerText.charAt(t.innerText.length - 1);\n it.Text.isCharDefined(o) && (e.startPadding = \" \"), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n Ko.Elements.isPrimitiveElement(t) ? ui.setStateForPrimitiveElement(e, t) : ui.setStateForGenericElement(e, t);\n }\n }, {\n key: \"adjustStateAfterRecodingPrimitiveElement\",\n value: function adjustStateAfterRecodingPrimitiveElement(e, t) {\n if (e.primitiveTextRecorded = !0, e.insertInCursorLocation && document.activeElement === t && (t.selectionEnd !== null && (e.endPadding = e.endPadding + t.value.slice(t.selectionEnd)), t.selectionStart !== null)) {\n e.startPadding = t.value.slice(0, t.selectionStart) + e.startPadding;\n return;\n }\n e.startPadding = t.value + e.startPadding;\n }\n }, {\n key: \"adjustSateForNoTextPrimitiveElement\",\n value: function adjustSateForNoTextPrimitiveElement(e) {\n e.numberOfSpacesBeforeNewText === 1 && (e.startPadding = e.startPadding.substring(0, e.startPadding.length - 1), e.numberOfSpacesBeforeNewText = 0), e.numberOfSpacesAfterNewText === 1 && (e.endPadding = e.endPadding.substring(1), e.numberOfSpacesAfterNewText = 0);\n }\n }]);\n}();\nMi.Padding = ui;\nObject.defineProperty(Ht, \"__esModule\", {\n value: !0\n});\nHt.Speech = void 0;\nvar qn = Ci,\n Jo = ki,\n zn = qt,\n Kt = zt,\n Hi = Ai,\n pe = Qe,\n qi = Mi,\n Vn = mt,\n Gn = et,\n zi = Ye;\nvar Xo = /*#__PURE__*/function () {\n function Xo() {\n _classCallCheck(this, Xo);\n this.finalTranscript = \"\", this.interimSpan = pe.Elements.createInterimSpan(), this.finalSpan = pe.Elements.createGenericSpan(), this.scrollingSpan = pe.Elements.createGenericSpan(), this.isCursorAtEnd = !1, this.spansPopulated = !1, this.startPadding = \"\", this.endPadding = \"\", this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.recognizing = !1, this._displayInterimResults = !0, this.insertInCursorLocation = !0, this.autoScroll = !0, this.isRestarting = !1, this.isPaused = !1, this.isWaitingForCommand = !1, this.isTargetInShadow = !1, this.cannotBeStopped = !1, this.resetState();\n }\n return _createClass(Xo, [{\n key: \"prepareBeforeStart\",\n value: function prepareBeforeStart(e) {\n var t, i;\n if (e != null && e.element) if (qn.EventListeners.add(this, e), Array.isArray(e.element)) {\n var r = e.element.find(function (o) {\n return o === document.activeElement;\n }) || e.element[0];\n if (!r) return;\n this.prepare(r);\n } else this.prepare(e.element);\n (e == null ? void 0 : e.displayInterimResults) !== void 0 && (this._displayInterimResults = e.displayInterimResults), e != null && e.textColor && (this._finalTextColor = (t = e == null ? void 0 : e.textColor) === null || t === void 0 ? void 0 : t[\"final\"], pe.Elements.applyCustomColors(this, e.textColor)), (e == null ? void 0 : e.insertInCursorLocation) !== void 0 && (this.insertInCursorLocation = e.insertInCursorLocation), (e == null ? void 0 : e.autoScroll) !== void 0 && (this.autoScroll = e.autoScroll), this._onResult = e == null ? void 0 : e.onResult, this._onPreResult = e == null ? void 0 : e.onPreResult, this._onStart = e == null ? void 0 : e.onStart, this._onStop = e == null ? void 0 : e.onStop, this._onError = e == null ? void 0 : e.onError, this.onCommandModeTrigger = e == null ? void 0 : e.onCommandModeTrigger, this.onPauseTrigger = e == null ? void 0 : e.onPauseTrigger, this._options = e, !((i = this._options) === null || i === void 0) && i.commands && (this.commands = zn.CommandUtils.process(this._options.commands));\n }\n }, {\n key: \"prepare\",\n value: function prepare(e) {\n qi.Padding.setState(this, e), Hi.Highlight.setState(this, e), this.isTargetInShadow = pe.Elements.isInsideShadowDOM(e), pe.Elements.isPrimitiveElement(e) ? (this._primitiveElement = e, this._originalText = this._primitiveElement.value) : (this._genericElement = e, this._originalText = this._genericElement.textContent);\n }\n // there was an attempt to optimize this by not having to restart the service and just reset state:\n // unfortunately it did not work because the service would still continue firing the intermediate and final results\n // into the new position\n }, {\n key: \"resetRecording\",\n value: function resetRecording(e) {\n this.isRestarting = !0, this.stop(!0), this.resetState(!0), this.start(e, !0);\n }\n // prettier-ignore\n }, {\n key: \"updateElements\",\n value: function updateElements(e, t, i) {\n var n;\n var r = zi.Text.capitalize(t);\n if (this.finalTranscript === r && e === \"\") return;\n Jo.PreResultUtils.process(this, i, e === \"\", this._onPreResult, this._options) && (e = \"\", i = \"\");\n var o = this.commands && zn.CommandUtils.execCommand(this, i, this._options, this._primitiveElement || this._genericElement, this._originalText);\n if (o) {\n if (o.doNotProcessTranscription) return;\n e = \"\", i = \"\";\n }\n if (this.isPaused || this.isWaitingForCommand) return;\n (n = this._onResult) === null || n === void 0 || n.call(this, i, e === \"\"), this.finalTranscript = r, this._displayInterimResults || (e = \"\");\n var a = this.finalTranscript === \"\" && e === \"\";\n this._primitiveElement ? this.updatePrimitiveElement(this._primitiveElement, e, a) : this._genericElement && this.updateGenericElement(this._genericElement, e, a);\n }\n // prettier-ignore\n // remember that padding values here contain actual text left and right\n }, {\n key: \"updatePrimitiveElement\",\n value: function updatePrimitiveElement(e, t, i) {\n this.isHighlighted && Hi.Highlight.removeForPrimitive(this, e), this.primitiveTextRecorded || qi.Padding.adjustStateAfterRecodingPrimitiveElement(this, e), i && qi.Padding.adjustSateForNoTextPrimitiveElement(this);\n var n = this.startPadding + this.finalTranscript + t;\n if (e.value = n + this.endPadding, !this.isTargetInShadow) {\n var r = n.length + this.numberOfSpacesAfterNewText;\n Gn.Cursor.setOffsetForPrimitive(e, r, this.autoScroll);\n }\n this.autoScroll && Vn.Browser.IS_SAFARI() && this.isCursorAtEnd && Kt.AutoScroll.scrollSafariPrimitiveToEnd(e);\n }\n }, {\n key: \"updateGenericElement\",\n value: function updateGenericElement(e, t, i) {\n this.isHighlighted && Hi.Highlight.removeForGeneric(this, e), this.spansPopulated || pe.Elements.appendSpans(this, e);\n var n = (i ? \"\" : this.startPadding) + zi.Text.lineBreak(this.finalTranscript);\n this.finalSpan.innerHTML = n;\n var r = Kt.AutoScroll.isRequired(this.autoScroll, e);\n Kt.AutoScroll.changeStateIfNeeded(this, r);\n var o = zi.Text.lineBreak(t) + (i ? \"\" : this.endPadding);\n this.interimSpan.innerHTML = o, Vn.Browser.IS_SAFARI() && this.insertInCursorLocation && Gn.Cursor.setOffsetForSafariGeneric(e, n.length + o.length), r && Kt.AutoScroll.scrollGeneric(this, e), i && (this.scrollingSpan.innerHTML = \"\");\n }\n }, {\n key: \"finalise\",\n value: function finalise(e) {\n this._genericElement && (e ? (this.finalSpan = pe.Elements.createGenericSpan(), this.setInterimColorToFinal(), this.interimSpan = pe.Elements.createInterimSpan(), this.scrollingSpan = pe.Elements.createGenericSpan()) : this._genericElement.textContent = this._genericElement.textContent, this.spansPopulated = !1), qn.EventListeners.remove(this);\n }\n }, {\n key: \"setInterimColorToFinal\",\n value: function setInterimColorToFinal() {\n this.interimSpan.style.color = this._finalTextColor || \"black\";\n }\n }, {\n key: \"resetState\",\n value: function resetState(e) {\n this._primitiveElement = void 0, this._genericElement = void 0, this.finalTranscript = \"\", this.finalSpan.innerHTML = \"\", this.interimSpan.innerHTML = \"\", this.scrollingSpan.innerHTML = \"\", this.startPadding = \"\", this.endPadding = \"\", this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, e || (this.stopTimeout = void 0);\n }\n }, {\n key: \"setStateOnStart\",\n value: function setStateOnStart() {\n var e;\n this.recognizing = !0, this.isRestarting ? this.isRestarting = !1 : (e = this._onStart) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnStop\",\n value: function setStateOnStop() {\n var e;\n this.recognizing = !1, this.isRestarting || (e = this._onStop) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnError\",\n value: function setStateOnError(e) {\n var t;\n (t = this._onError) === null || t === void 0 || t.call(this, e), this.recognizing = !1;\n }\n }]);\n}();\nHt.Speech = Xo;\nObject.defineProperty(wi, \"__esModule\", {\n value: !0\n});\nwi.WebSpeech = void 0;\nvar Wn = Ti,\n $n = mt,\n Zo = Ht;\nvar fi = /*#__PURE__*/function (_Zo$Speech) {\n function fi() {\n _classCallCheck(this, fi);\n return _callSuper(this, fi);\n }\n _inherits(fi, _Zo$Speech);\n return _createClass(fi, [{\n key: \"start\",\n value: function start(e) {\n var t;\n this._extractText === void 0 && (this._extractText = $n.Browser.IS_SAFARI() ? Wn.WebSpeechTranscript.extractSafari : Wn.WebSpeechTranscript.extract), this.validate() && (this.prepareBeforeStart(e), this.instantiateService(e), (t = this._service) === null || t === void 0 || t.start(), this._translations = e == null ? void 0 : e.translations);\n }\n }, {\n key: \"validate\",\n value: function validate() {\n return fi.getAPI() ? !0 : (this.error(\"Speech Recognition is unsupported\"), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function instantiateService(e) {\n var t, i;\n var n = fi.getAPI();\n this._service = new n(), this._service.continuous = !0, this._service.interimResults = (t = e == null ? void 0 : e.displayInterimResults) !== null && t !== void 0 ? t : !0, this._service.lang = ((i = e == null ? void 0 : e.language) === null || i === void 0 ? void 0 : i.trim()) || \"en-US\", this.setEvents();\n }\n }, {\n key: \"setEvents\",\n value: function setEvents() {\n var _this52 = this;\n this._service && (this._service.onstart = function () {\n _this52.setStateOnStart();\n }, this._service.onerror = function (e) {\n $n.Browser.IS_SAFARI() && e.message === \"Another request is started\" || e.error === \"aborted\" && _this52.isRestarting || e.error !== \"no-speech\" && _this52.error(e.message || e.error);\n }, this._service.onaudioend = function () {\n _this52.setStateOnStop();\n }, this._service.onend = function () {\n _this52._stopping = !1;\n }, this._service.onresult = function (e) {\n if (_typeof(e.results) > \"u\" && _this52._service) _this52._service.onend = null, _this52._service.stop();else if (_this52._extractText && !_this52._stopping) {\n var _this52$_extractText = _this52._extractText(e, _this52.finalTranscript, _this52._translations),\n t = _this52$_extractText.interimTranscript,\n _i17 = _this52$_extractText.finalTranscript,\n n = _this52$_extractText.newText;\n _this52.updateElements(t, _i17, n);\n }\n });\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n this._stopping = !0, (t = this._service) === null || t === void 0 || t.stop(), this.finalise(e);\n }\n }, {\n key: \"error\",\n value: function error(e) {\n console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.webkitSpeechRecognition || window.SpeechRecognition;\n }\n }]);\n}(Zo.Speech);\nwi.WebSpeech = fi;\nvar Ri = {};\nObject.defineProperty(Ri, \"__esModule\", {\n value: !0\n});\nRi.GlobalState = void 0;\nvar dt = /*#__PURE__*/function () {\n function dt() {\n _classCallCheck(this, dt);\n }\n return _createClass(dt, null, [{\n key: \"doubleClickDetector\",\n value: function doubleClickDetector() {\n return dt.doubleClickPending ? !0 : (dt.doubleClickPending = !0, setTimeout(function () {\n dt.doubleClickPending = !1;\n }, 300), !1);\n }\n }]);\n}();\nRi.GlobalState = dt;\ndt.doubleClickPending = !1;\nvar Ii = {},\n Li = {};\nObject.defineProperty(Li, \"__esModule\", {\n value: !0\n});\nLi.PreventConnectionStop = void 0;\nvar Yo = /*#__PURE__*/function () {\n function Yo() {\n _classCallCheck(this, Yo);\n }\n return _createClass(Yo, null, [{\n key: \"applyPrevention\",\n value: function applyPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !0, e._manualConnectionStopPrevention = setTimeout(function () {\n e.cannotBeStopped = !1;\n }, 800);\n }\n }, {\n key: \"clearPrevention\",\n value: function clearPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !1;\n }\n }]);\n}();\nLi.PreventConnectionStop = Yo;\nvar Pi = {},\n Oi = {};\nObject.defineProperty(Oi, \"__esModule\", {\n value: !0\n});\nOi.README_URL = void 0;\nOi.README_URL = \"https://github.com/OvidijusParsiunas/speech-to-element\";\nObject.defineProperty(Pi, \"__esModule\", {\n value: !0\n});\nPi.AzureSpeechConfig = void 0;\nvar Vi = Oi;\nvar pi = /*#__PURE__*/function () {\n function pi() {\n _classCallCheck(this, pi);\n }\n return _createClass(pi, null, [{\n key: \"validateOptions\",\n value: function validateOptions(e, t) {\n return t ? !t.subscriptionKey && !t.token && !t.retrieveToken ? (e(\"Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: \".concat(Vi.README_URL)), !1) : t.region ? !0 : (e(\"Please define a 'region' property - more info: \".concat(Vi.README_URL)), !1) : (e(\"Please provide subscription details - more info: \".concat(Vi.README_URL)), !1);\n }\n }, {\n key: \"getNewSpeechConfig\",\n value: function () {\n var _getNewSpeechConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee109(e, t) {\n return _regeneratorRuntime().wrap(function _callee109$(_context109) {\n while (1) switch (_context109.prev = _context109.next) {\n case 0:\n if (!t.region) {\n _context109.next = 2;\n break;\n }\n return _context109.abrupt(\"return\", t.subscriptionKey ? e.fromSubscription(t.subscriptionKey.trim(), t.region.trim()) : t.token ? e.fromAuthorizationToken(t.token.trim(), t.region.trim()) : t.retrieveToken ? t.retrieveToken().then(function (i) {\n return t.region ? e.fromAuthorizationToken((i == null ? void 0 : i.trim()) || \"\", t.region.trim()) : null;\n })[\"catch\"](function (i) {\n return console.error(i), null;\n }) : null);\n case 2:\n case \"end\":\n return _context109.stop();\n }\n }, _callee109);\n }));\n function getNewSpeechConfig(_x196, _x197) {\n return _getNewSpeechConfig.apply(this, arguments);\n }\n return getNewSpeechConfig;\n }()\n }, {\n key: \"process\",\n value: function process(e, t) {\n t.language && (e.speechRecognitionLanguage = t.language.trim());\n }\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee110(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee110$(_context110) {\n while (1) switch (_context110.prev = _context110.next) {\n case 0:\n _context110.next = 2;\n return pi.getNewSpeechConfig(e, t);\n case 2:\n i = _context110.sent;\n return _context110.abrupt(\"return\", (i && pi.process(i, t), i));\n case 4:\n case \"end\":\n return _context110.stop();\n }\n }, _callee110);\n }));\n function get(_x198, _x199) {\n return _get.apply(this, arguments);\n }\n return get;\n }()\n }]);\n}();\nPi.AzureSpeechConfig = pi;\nvar Ni = {};\nObject.defineProperty(Ni, \"__esModule\", {\n value: !0\n});\nNi.StopTimeout = void 0;\nvar Ot = /*#__PURE__*/function () {\n function Ot() {\n _classCallCheck(this, Ot);\n }\n return _createClass(Ot, null, [{\n key: \"set\",\n value: function set(e) {\n e.stopTimeout = setTimeout(function () {\n return e.stop();\n }, e.stopTimeoutMS);\n }\n }, {\n key: \"reset\",\n value: function reset(e, t) {\n e.stopTimeoutMS = t || Ot.DEFAULT_MS, e.stopTimeout && clearTimeout(e.stopTimeout), Ot.set(e);\n }\n }]);\n}();\nNi.StopTimeout = Ot;\nOt.DEFAULT_MS = 2e4;\nvar Di = {};\nObject.defineProperty(Di, \"__esModule\", {\n value: !0\n});\nDi.AzureTranscript = void 0;\nvar Qo = Ut;\nvar ea = /*#__PURE__*/function () {\n function ea() {\n _classCallCheck(this, ea);\n }\n return _createClass(ea, null, [{\n key: \"extract\",\n value:\n // newText is used to only send new text in onResult as finalTranscript is continuously accumulated\n function extract(e, t, i, n) {\n return n && (e = Qo.Translate.translate(e, n)), i ? {\n interimTranscript: \"\",\n finalTranscript: t + e,\n newText: e\n } : {\n interimTranscript: e,\n finalTranscript: t,\n newText: e\n };\n }\n }]);\n}();\nDi.AzureTranscript = ea;\nObject.defineProperty(Ii, \"__esModule\", {\n value: !0\n});\nIi.Azure = void 0;\nvar Kn = Li,\n Jn = Pi,\n Gi = Ni,\n Xn = Di,\n ta = Ht;\nvar mi = /*#__PURE__*/function (_ta$Speech) {\n function mi() {\n var _this53;\n _classCallCheck(this, mi);\n _this53 = _callSuper(this, mi, arguments), _this53._newTextPadding = \"\";\n return _this53;\n }\n _inherits(mi, _ta$Speech);\n return _createClass(mi, [{\n key: \"start\",\n value: function start(e, t) {\n this._newTextPadding = \"\", this.stopTimeout === void 0 && Gi.StopTimeout.reset(this, e == null ? void 0 : e.stopAfterSilenceMs), this.prepareBeforeStart(e), this.startAsync(e), t || Kn.PreventConnectionStop.applyPrevention(this);\n }\n }, {\n key: \"startAsync\",\n value: function () {\n var _startAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee111(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee111$(_context111) {\n while (1) switch (_context111.prev = _context111.next) {\n case 0:\n _context111.t0 = this.validate(e);\n if (!_context111.t0) {\n _context111.next = 6;\n break;\n }\n _context111.next = 4;\n return this.instantiateService(e);\n case 4:\n this._translations = e == null ? void 0 : e.translations;\n (t = this._service) === null || t === void 0 || t.startContinuousRecognitionAsync(function () {}, this.error);\n case 6:\n case \"end\":\n return _context111.stop();\n }\n }, _callee111, this);\n }));\n function startAsync(_x200) {\n return _startAsync.apply(this, arguments);\n }\n return startAsync;\n }()\n }, {\n key: \"validate\",\n value: function validate(e) {\n return mi.getAPI() ? Jn.AzureSpeechConfig.validateOptions(this.error.bind(this), e) : (this.moduleNotFound(), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function () {\n var _instantiateService = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee112(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee112$(_context112) {\n while (1) switch (_context112.prev = _context112.next) {\n case 0:\n t = mi.getAPI();\n i = t.AudioConfig.fromDefaultMicrophoneInput();\n _context112.next = 4;\n return Jn.AzureSpeechConfig.get(t.SpeechConfig, e);\n case 4:\n n = _context112.sent;\n if (n) {\n r = new t.SpeechRecognizer(n, i);\n this.setEvents(r), this._service = r, e.retrieveToken && this.retrieveTokenInterval(e.retrieveToken);\n } else this.error(\"Unable to contact Azure server\");\n case 6:\n case \"end\":\n return _context112.stop();\n }\n }, _callee112, this);\n }));\n function instantiateService(_x201) {\n return _instantiateService.apply(this, arguments);\n }\n return instantiateService;\n }()\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n e.recognizing = this.onRecognizing.bind(this), e.recognized = this.onRecognized.bind(this), e.sessionStarted = this.onSessionStarted.bind(this), e.canceled = this.onCanceled.bind(this), e.sessionStopped = this.onSessionStopped.bind(this);\n }\n // prettier-ignore\n }, {\n key: \"onRecognizing\",\n value: function onRecognizing(e, t) {\n if (this._stopping) return;\n var _Xn$AzureTranscript$e = Xn.AzureTranscript.extract(this._newTextPadding + t.result.text, this.finalTranscript, !1, this._translations),\n i = _Xn$AzureTranscript$e.interimTranscript,\n n = _Xn$AzureTranscript$e.finalTranscript,\n r = _Xn$AzureTranscript$e.newText;\n Gi.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(i, n, r);\n }\n // WORK - huge opportunity to fix this in the repo!!!!!\n // function onRecognized(sender, recognitionEventArgs) {\n // var result = recognitionEventArgs.result;\n // onRecognizedResult(recognitionEventArgs.result);\n // }\n // prettier-ignore\n }, {\n key: \"onRecognized\",\n value: function onRecognized(e, t) {\n var i = t.result;\n switch (i.reason) {\n case window.SpeechSDK.ResultReason.Canceled:\n break;\n case window.SpeechSDK.ResultReason.RecognizedSpeech:\n if (i.text && !this._stopping) {\n var _Xn$AzureTranscript$e2 = Xn.AzureTranscript.extract(this._newTextPadding + i.text, this.finalTranscript, !0, this._translations),\n n = _Xn$AzureTranscript$e2.interimTranscript,\n r = _Xn$AzureTranscript$e2.finalTranscript,\n o = _Xn$AzureTranscript$e2.newText;\n Gi.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(n, r, o), r !== \"\" && (this._newTextPadding = \" \");\n }\n break;\n }\n }\n }, {\n key: \"onCanceled\",\n value: function onCanceled(e, t) {\n t.reason === window.SpeechSDK.CancellationReason.Error && this.error(t.errorDetails);\n }\n }, {\n key: \"onSessionStarted\",\n value: function onSessionStarted() {\n Kn.PreventConnectionStop.clearPrevention(this), this.setStateOnStart();\n }\n }, {\n key: \"onSessionStopped\",\n value: function onSessionStopped() {\n this._retrieveTokenInterval || clearInterval(this._retrieveTokenInterval), this._stopping = !1, this.setStateOnStop();\n }\n }, {\n key: \"retrieveTokenInterval\",\n value: function retrieveTokenInterval(e) {\n var _this54 = this;\n this._retrieveTokenInterval = setInterval(function () {\n e == null || e().then(function (t) {\n _this54._service && (_this54._service.authorizationToken = (t == null ? void 0 : t.trim()) || \"\");\n })[\"catch\"](function (t) {\n _this54.error(t);\n });\n }, 1e4);\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n !e && this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), this._stopping = !0, (t = this._service) === null || t === void 0 || t.stopContinuousRecognitionAsync(), this.finalise(e);\n }\n }, {\n key: \"moduleNotFound\",\n value: function moduleNotFound() {\n console.error(\"speech recognition module not found:\"), console.error(\"please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: <script src=\\\"https://aka.ms/csspeech/jsbrowserpackageraw\\\"></script>\"), this.setStateOnError(\"speech recognition module not found\");\n }\n }, {\n key: \"error\",\n value: function error(e) {\n this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.SpeechSDK;\n }\n }]);\n}(ta.Speech);\nIi.Azure = mi;\nObject.defineProperty(ds, \"__esModule\", {\n value: !0\n});\nvar Zn = wi,\n ia = qt,\n le = Ri,\n na = Ii;\nvar nt = /*#__PURE__*/function () {\n function nt() {\n _classCallCheck(this, nt);\n }\n return _createClass(nt, null, [{\n key: \"toggle\",\n value: function toggle(e, t) {\n var i, n;\n var r = e.toLocaleLowerCase().trim();\n !((i = le.GlobalState.service) === null || i === void 0) && i.recognizing ? this.stop() : r === \"webspeech\" ? nt.startWebSpeech(t) : r === \"azure\" ? nt.startAzure(t) : (console.error(\"service not found - must be either 'webspeech' or 'azure'\"), (n = t == null ? void 0 : t.onError) === null || n === void 0 || n.call(t, \"service not found - must be either 'webspeech' or 'azure'\"));\n }\n }, {\n key: \"startWebSpeech\",\n value: function startWebSpeech(e) {\n nt.stop() || (le.GlobalState.service = new Zn.WebSpeech(), le.GlobalState.service.start(e));\n }\n }, {\n key: \"isWebSpeechSupported\",\n value: function isWebSpeechSupported() {\n return !!Zn.WebSpeech.getAPI();\n }\n }, {\n key: \"startAzure\",\n value: function startAzure(e) {\n var t;\n nt.stop() || !((t = le.GlobalState.service) === null || t === void 0) && t.cannotBeStopped || (le.GlobalState.service = new na.Azure(), le.GlobalState.service.start(e));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var e;\n return le.GlobalState.doubleClickDetector() ? !0 : (!((e = le.GlobalState.service) === null || e === void 0) && e.recognizing && le.GlobalState.service.stop(), !1);\n }\n }, {\n key: \"endCommandMode\",\n value: function endCommandMode() {\n le.GlobalState.service && ia.CommandUtils.toggleCommandModeOff(le.GlobalState.service);\n }\n }]);\n}();\nvar Jt = ds[\"default\"] = nt;\nvar sa = /*#__PURE__*/function () {\n function sa(e, t) {\n _classCallCheck(this, sa);\n this.silenceMS = 2e3, this.stop = !0, typeof t == \"boolean\" && t === !1 && (this.stop = !1), typeof e == \"number\" && (this.silenceMS = e);\n }\n return _createClass(sa, [{\n key: \"setSilenceTimeout\",\n value: function setSilenceTimeout(e, t) {\n var _this55 = this;\n this._silenceTimeout = setTimeout(function () {\n var i;\n (i = e.submit) == null || i.call(e), Jt.stop(), _this55.stop || setTimeout(t, Nt.MICROPHONE_RESET_TIMEOUT_MS);\n }, this.silenceMS);\n }\n }, {\n key: \"clearSilenceTimeout\",\n value: function clearSilenceTimeout() {\n this._silenceTimeout && clearTimeout(this._silenceTimeout);\n }\n }, {\n key: \"resetSilenceTimeout\",\n value: function resetSilenceTimeout(e, t) {\n this.clearSilenceTimeout(), this.setSilenceTimeout(e, t);\n }\n }, {\n key: \"onPause\",\n value: function onPause(e, t, i) {\n e ? this.resetSilenceTimeout(t, i) : this.clearSilenceTimeout();\n }\n }]);\n}();\nvar kt = /*#__PURE__*/function (_Pt) {\n function kt(e, t, i) {\n var _this56;\n _classCallCheck(this, kt);\n var n = _typeof(e.speechToText) == \"object\" ? e.speechToText : {};\n _this56 = _callSuper(this, kt, [n == null ? void 0 : n.button]);\n var _this56$processConfig = _this56.processConfiguration(t, e.speechToText),\n r = _this56$processConfig.serviceName,\n o = _this56$processConfig.processedConfig;\n if (_this56._addErrorMessage = i, r === \"webspeech\" && !Jt.isWebSpeechSupported()) _this56.changeToUnsupported();else {\n var a = !e.textInput || !e.textInput.disabled;\n _this56.elementRef.onclick = _this56.buttonClick.bind(_this56, t, a, r, o);\n }\n setTimeout(function () {\n _this56._validationHandler = e._validationHandler;\n });\n return _this56;\n }\n // prettier-ignore\n _inherits(kt, _Pt);\n return _createClass(kt, [{\n key: \"processConfiguration\",\n value: function processConfiguration(e, t) {\n var _i$displayInterimResu, _i$textColor, _i$translations, _i$commands, _i$events;\n var c;\n var i = _typeof(t) == \"object\" ? t : {},\n n = _typeof(i.webSpeech) == \"object\" ? i.webSpeech : {},\n r = i.azure || {},\n o = _objectSpread(_objectSpread({\n displayInterimResults: (_i$displayInterimResu = i.displayInterimResults) !== null && _i$displayInterimResu !== void 0 ? _i$displayInterimResu : void 0,\n textColor: (_i$textColor = i.textColor) !== null && _i$textColor !== void 0 ? _i$textColor : void 0,\n translations: (_i$translations = i.translations) !== null && _i$translations !== void 0 ? _i$translations : void 0,\n commands: (_i$commands = i.commands) !== null && _i$commands !== void 0 ? _i$commands : void 0,\n events: (_i$events = i.events) !== null && _i$events !== void 0 ? _i$events : void 0\n }, n), r),\n a = (c = i.commands) == null ? void 0 : c.submit;\n return a && (o.onPreResult = function (d) {\n return d.toLowerCase().includes(a) ? (setTimeout(function () {\n var h;\n return (h = e.submit) == null ? void 0 : h.call(e);\n }), Jt.endCommandMode(), {\n restart: !0,\n removeNewText: !0\n }) : null;\n }), i.submitAfterSilence && (this._silenceSubmit = new sa(i.submitAfterSilence, i.stopAfterSubmit)), {\n serviceName: kt.getServiceName(i),\n processedConfig: o\n };\n }\n }, {\n key: \"buttonClick\",\n value: function buttonClick(e, t, i, n) {\n var _this57 = this;\n var r = n == null ? void 0 : n.events;\n e.removeTextIfPlaceholder(), Jt.toggle(i, _objectSpread({\n insertInCursorLocation: !1,\n element: t ? e.inputElementRef : void 0,\n onError: function onError() {\n var o;\n _this57.onError(), (o = _this57._silenceSubmit) == null || o.clearSilenceTimeout();\n },\n onStart: function onStart() {\n var o;\n _this57.changeToActive(), (o = r == null ? void 0 : r.onStart) == null || o.call(r);\n },\n onStop: function onStop() {\n var o, a, l;\n (o = _this57._validationHandler) == null || o.call(_this57), (a = _this57._silenceSubmit) == null || a.clearSilenceTimeout(), _this57.changeToDefault(), (l = r == null ? void 0 : r.onStop) == null || l.call(r);\n },\n onPauseTrigger: function onPauseTrigger(o) {\n var a, l;\n (a = _this57._silenceSubmit) == null || a.onPause(o, e, _this57.elementRef.onclick), (l = r == null ? void 0 : r.onPauseTrigger) == null || l.call(r, o);\n },\n onPreResult: function onPreResult(o, a) {\n var l;\n (l = r == null ? void 0 : r.onPreResult) == null || l.call(r, o, a);\n },\n onResult: function onResult(o, a) {\n var l, c, d;\n a && ((l = _this57._validationHandler) == null || l.call(_this57)), (c = _this57._silenceSubmit) == null || c.resetSilenceTimeout(e, _this57.elementRef.onclick), (d = r == null ? void 0 : r.onResult) == null || d.call(r, o, a);\n },\n onCommandModeTrigger: function onCommandModeTrigger(o) {\n var a;\n _this57.onCommandModeTrigger(o), (a = r == null ? void 0 : r.onCommandModeTrigger) == null || a.call(r, o);\n }\n }, n));\n }\n }, {\n key: \"onCommandModeTrigger\",\n value: function onCommandModeTrigger(e) {\n e ? this.changeToCommandMode() : this.changeToActive();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this._addErrorMessage(\"speechToText\", \"speech input error\");\n }\n }], [{\n key: \"getServiceName\",\n value: function getServiceName(e) {\n return e.azure ? \"azure\" : \"webspeech\";\n }\n }, {\n key: \"toggleSpeechAfterSubmit\",\n value: function toggleSpeechAfterSubmit(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n e.click(), t || setTimeout(function () {\n return e.click();\n }, kt.MICROPHONE_RESET_TIMEOUT_MS);\n }\n }]);\n}(Pt);\nkt.MICROPHONE_RESET_TIMEOUT_MS = 300;\nvar Nt = kt;\nvar Te = /*#__PURE__*/function () {\n // prettier-ignore\n function Te(e, t, i, n) {\n var _this58 = this;\n _classCallCheck(this, Te);\n this._attachments = [], this._fileCountLimit = 99, this._acceptedFormat = \"\", t.maxNumberOfFiles && (this._fileCountLimit = t.maxNumberOfFiles), this._toggleContainerDisplay = i, this._fileAttachmentsContainerRef = n, t.acceptedFormats && (this._acceptedFormat = t.acceptedFormats), setTimeout(function () {\n _this58._validationHandler = e._validationHandler;\n });\n }\n return _createClass(Te, [{\n key: \"attemptAddFile\",\n value: function attemptAddFile(e, t) {\n return Te.isFileTypeValid(e, this._acceptedFormat) ? (this.addAttachmentBasedOnType(e, t, !0), !0) : !1;\n }\n }, {\n key: \"addAttachmentBasedOnType\",\n value: function addAttachmentBasedOnType(e, t, i) {\n var n = Te.getTypeFromBlob(e);\n if (n === \"image\") {\n var r = Te.createImageAttachment(t);\n this.addFileAttachment(e, \"image\", r, i);\n } else if (n === \"audio\") {\n var _r3 = Dt.createAudioAttachment(t);\n this.addFileAttachment(e, \"audio\", _r3, i);\n } else {\n var _r4 = Te.createAnyFileAttachment(e.name);\n this.addFileAttachment(e, \"any\", _r4, i);\n }\n }\n }, {\n key: \"addFileAttachment\",\n value: function addFileAttachment(e, t, i, n) {\n var a;\n var r = Te.createContainer(i);\n if (this._attachments.length >= this._fileCountLimit) {\n var l = this._attachments[this._attachments.length - 1].removeButton;\n l == null || l.click();\n var c = this._fileAttachmentsContainerRef.children;\n this._fileAttachmentsContainerRef.insertBefore(r, c[0]);\n } else this._fileAttachmentsContainerRef.appendChild(r);\n var o = {\n file: e,\n attachmentContainerElement: r,\n fileType: t\n };\n return n && (o.removeButton = this.createRemoveAttachmentButton(o), r.appendChild(o.removeButton)), this._toggleContainerDisplay(!0), this._attachments.push(o), this._fileAttachmentsContainerRef.scrollTop = this._fileAttachmentsContainerRef.scrollHeight, (a = this._validationHandler) == null || a.call(this), o;\n }\n }, {\n key: \"createRemoveAttachmentButton\",\n value: function createRemoveAttachmentButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"remove-file-attachment-button\"), t.onclick = this.removeAttachment.bind(this, e);\n var i = document.createElement(\"div\");\n return i.classList.add(\"x-icon\"), i.innerText = \"×\", t.appendChild(i), t;\n }\n }, {\n key: \"removeAttachment\",\n value: function removeAttachment(e) {\n var n;\n var t = this._attachments.findIndex(function (r) {\n return r === e;\n }),\n i = this._attachments[t].attachmentContainerElement;\n this._attachments.splice(t, 1), Dt.stopAttachmentPlayback(i), i.remove(), this._toggleContainerDisplay(!1), (n = this._validationHandler) == null || n.call(this);\n }\n }, {\n key: \"getFiles\",\n value: function getFiles() {\n return Array.from(this._attachments).map(function (e) {\n return {\n file: e.file,\n type: e.fileType\n };\n });\n }\n }, {\n key: \"removeAllAttachments\",\n value: function removeAllAttachments() {\n this._attachments.forEach(function (e) {\n setTimeout(function () {\n var t;\n return (t = e.removeButton) == null ? void 0 : t.click();\n });\n });\n }\n }], [{\n key: \"isFileTypeValid\",\n value: function isFileTypeValid(e, t) {\n if (t === \"\") return !0;\n var i = t.split(\",\");\n for (var n = 0; n < i.length; n++) {\n var r = i[n].trim();\n if (e.type === r) return !0;\n if (r.startsWith(\".\")) {\n var o = r.slice(1);\n if (e.name.endsWith(o)) return !0;\n } else {\n if (e.name.endsWith(r)) return !0;\n if (r.endsWith(\"/*\") && e.type.startsWith(r.slice(0, -2))) return !0;\n }\n }\n return !1;\n }\n }, {\n key: \"getTypeFromBlob\",\n value: function getTypeFromBlob(e) {\n var t = e.type;\n return t.startsWith(\"image\") ? \"image\" : t.startsWith(\"audio\") ? \"audio\" : \"any\";\n }\n }, {\n key: \"createImageAttachment\",\n value: function createImageAttachment(e) {\n var t = new Image();\n return t.src = e, t.classList.add(\"image-attachment\"), t;\n }\n }, {\n key: \"createAnyFileAttachment\",\n value: function createAnyFileAttachment(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"border-bound-attachment\"), ot.IS_SAFARI && t.classList.add(\"border-bound-attachment-safari\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-attachment-text\");\n var n = document.createElement(\"div\");\n return n.classList.add(\"file-attachment-text-container\"), n.appendChild(i), i.textContent = e, t.appendChild(n), t;\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"file-attachment\"), t.appendChild(e), t;\n }\n }]);\n}();\nvar ra = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>play</title>\\n <path d=\\\"M5.92 24.096q0 1.088 0.928 1.728 0.512 0.288 1.088 0.288 0.448 0 0.896-0.224l16.16-8.064q0.48-0.256 0.8-0.736t0.288-1.088-0.288-1.056-0.8-0.736l-16.16-8.064q-0.448-0.224-0.896-0.224-0.544 0-1.088 0.288-0.928 0.608-0.928 1.728v16.16z\\\"></path>\\n</svg>\",\n Yn = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>stop</title>\\n<path d=\\\"M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z\\\"></path>\\n</svg>\",\n _e = /*#__PURE__*/function (_Te) {\n // prettier-ignore\n function _e(e, t, i, n) {\n _classCallCheck(this, _e);\n return _callSuper(this, _e, [e, t, i, n]);\n }\n _inherits(_e, _Te);\n return _createClass(_e, [{\n key: \"createTimer\",\n value: function createTimer(e, t) {\n var _this59 = this;\n var i = 0;\n var n = t !== void 0 && t < _e.TIMER_LIMIT_S ? t : _e.TIMER_LIMIT_S;\n return setInterval(function () {\n var a;\n i += 1, i === n && ((a = _this59.stopPlaceholderCallback) == null || a.call(_this59), _this59.clearTimer()), i === 600 && e.classList.add(\"audio-placeholder-text-4-digits\");\n var r = Math.floor(i / 60),\n o = (i % 60).toString().padStart(2, \"0\");\n e.textContent = \"\".concat(r, \":\").concat(o);\n }, 1e3);\n }\n }, {\n key: \"createPlaceholderAudioAttachment\",\n value: function createPlaceholderAudioAttachment(e) {\n var t = _e.createAudioContainer(),\n i = document.createElement(\"div\");\n i.classList.add(\"audio-placeholder-text-3-digits\");\n var n = document.createElement(\"div\");\n n.classList.add(\"file-attachment-text-container\", \"audio-placeholder-text-3-digits-container\"), n.appendChild(i);\n var r = te.createSVGElement(Yn);\n return r.classList.add(\"attachment-icon\", \"stop-icon\", \"not-removable-attachment-icon\"), i.textContent = \"0:00\", this._activePlaceholderTimer = this.createTimer(i, e), t.appendChild(n), this.addPlaceholderAudioAttachmentEvents(t, r, n), t;\n }\n }, {\n key: \"addPlaceholderAudioAttachmentEvents\",\n value: function addPlaceholderAudioAttachmentEvents(e, t, i) {\n var _this60 = this;\n var n = function n() {\n return e.replaceChildren(t);\n };\n e.addEventListener(\"mouseenter\", n);\n var r = function r() {\n return e.replaceChildren(i);\n };\n e.addEventListener(\"mouseleave\", r);\n var o = function o() {\n var a;\n return (a = _this60.stopPlaceholderCallback) == null ? void 0 : a.call(_this60);\n };\n e.addEventListener(\"click\", o);\n }\n }, {\n key: \"addPlaceholderAttachment\",\n value: function addPlaceholderAttachment(e, t) {\n var i = this.createPlaceholderAudioAttachment(t);\n this._activePlaceholderAttachment = this.addFileAttachment(new File([], \"\"), \"audio\", i, !1), this.stopPlaceholderCallback = e;\n }\n // prettier-ignore\n }, {\n key: \"completePlaceholderAttachment\",\n value: function completePlaceholderAttachment(e, t) {\n var i = this._activePlaceholderAttachment;\n i && (i.file = e, _e.addAudioElements(i.attachmentContainerElement.children[0], t), i.removeButton = this.createRemoveAttachmentButton(i), i.attachmentContainerElement.appendChild(i.removeButton), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"removePlaceholderAttachment\",\n value: function removePlaceholderAttachment() {\n this._activePlaceholderAttachment && (this.removeAttachment(this._activePlaceholderAttachment), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n this._activePlaceholderTimer !== void 0 && (clearInterval(this._activePlaceholderTimer), this._activePlaceholderTimer = void 0, this.stopPlaceholderCallback = void 0);\n }\n }], [{\n key: \"createAudioContainer\",\n value: function createAudioContainer() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"border-bound-attachment\", \"audio-attachment-icon-container\"), ot.IS_SAFARI && e.classList.add(\"border-bound-attachment-safari\"), e;\n }\n }, {\n key: \"addAudioElements\",\n value: function addAudioElements(e, t) {\n var i = e.parentElement ? q.cloneElement(e) : e,\n n = document.createElement(\"audio\");\n n.src = t;\n var r = te.createSVGElement(ra);\n r.classList.add(\"attachment-icon\", \"play-icon\");\n var o = te.createSVGElement(Yn);\n o.classList.add(\"attachment-icon\", \"stop-icon\"), i.replaceChildren(r), n.onplay = function () {\n i.replaceChildren(o);\n }, n.onpause = function () {\n i.replaceChildren(r), n.currentTime = 0;\n }, n.onended = function () {\n i.replaceChildren(r);\n }, i.onclick = function () {\n n.paused ? n.play() : n.pause();\n };\n }\n }, {\n key: \"createAudioAttachment\",\n value: function createAudioAttachment(e) {\n var t = _e.createAudioContainer();\n return _e.addAudioElements(t, e), t;\n }\n }, {\n key: \"stopAttachmentPlayback\",\n value: function stopAttachmentPlayback(e) {\n var t, i, n;\n (n = (i = (t = e.children[0]) == null ? void 0 : t.children) == null ? void 0 : i[0]) != null && n.classList.contains(\"stop-icon\") && e.children[0].click();\n }\n }]);\n }(Te);\n_e.TIMER_LIMIT_S = 5999;\nvar Dt = _e;\nvar oa = /*#__PURE__*/function () {\n function oa() {\n _classCallCheck(this, oa);\n }\n return _createClass(oa, null, [{\n key: \"create\",\n value:\n // prettier-ignore\n function create(e, t, i, n, r) {\n return r === \"audio\" ? new Dt(e, t, i, n) : new Te(e, t, i, n);\n }\n }]);\n}();\nvar Vt = /*#__PURE__*/function () {\n function Vt(e, t, i) {\n _classCallCheck(this, Vt);\n this._fileAttachmentsTypes = [], this.elementRef = this.createAttachmentContainer();\n var n = _typeof(i) == \"object\" && !!i.displayFileAttachmentContainer;\n this.toggleContainerDisplay(n), e.appendChild(this.elementRef), t && Object.assign(this.elementRef.style, t);\n }\n // prettier-ignore\n return _createClass(Vt, [{\n key: \"addType\",\n value: function addType(e, t, i) {\n var n = oa.create(e, t, this.toggleContainerDisplay.bind(this), this.elementRef, i);\n return this._fileAttachmentsTypes.push(n), n;\n }\n }, {\n key: \"createAttachmentContainer\",\n value: function createAttachmentContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"file-attachment-container\", e;\n }\n }, {\n key: \"toggleContainerDisplay\",\n value: function toggleContainerDisplay(e) {\n e ? this.elementRef.style.display = \"block\" : this.elementRef.children.length === 0 && (this.elementRef.style.display = \"none\");\n }\n }, {\n key: \"getAllFileData\",\n value: function getAllFileData() {\n var e = this._fileAttachmentsTypes.map(function (t) {\n return t.getFiles();\n }).flat();\n return e.length > 0 ? e : void 0;\n }\n }, {\n key: \"completePlaceholders\",\n value: function () {\n var _completePlaceholders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee114() {\n return _regeneratorRuntime().wrap(function _callee114$(_context114) {\n while (1) switch (_context114.prev = _context114.next) {\n case 0:\n _context114.next = 2;\n return Promise.all(this._fileAttachmentsTypes.map( /*#__PURE__*/function () {\n var _ref17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee113(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee113$(_context113) {\n while (1) switch (_context113.prev = _context113.next) {\n case 0:\n return _context113.abrupt(\"return\", (t = e.stopPlaceholderCallback) == null ? void 0 : t.call(e));\n case 1:\n case \"end\":\n return _context113.stop();\n }\n }, _callee113);\n }));\n return function (_x202) {\n return _ref17.apply(this, arguments);\n };\n }()));\n case 2:\n case \"end\":\n return _context114.stop();\n }\n }, _callee114, this);\n }));\n function completePlaceholders() {\n return _completePlaceholders.apply(this, arguments);\n }\n return completePlaceholders;\n }()\n }, {\n key: \"addFilesToAnyType\",\n value: function addFilesToAnyType(e) {\n Vt.addFilesToType(e, this._fileAttachmentsTypes);\n }\n }, {\n key: \"removeAllFiles\",\n value: function removeAllFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.removeAllAttachments();\n }), this.elementRef.replaceChildren(), this.toggleContainerDisplay(!1);\n }\n }, {\n key: \"getNumberOfTypes\",\n value: function getNumberOfTypes() {\n return this._fileAttachmentsTypes.length;\n }\n }], [{\n key: \"addFilesToType\",\n value: function addFilesToType(e, t) {\n e.forEach(function (i) {\n var n = new FileReader();\n n.readAsDataURL(i), n.onload = function (r) {\n for (var o = 0; o < t.length && !t[o].attemptAddFile(i, r.target.result); o += 1);\n };\n });\n }\n }]);\n}();\nvar ue = /*#__PURE__*/function () {\n function ue(e, t, i) {\n _classCallCheck(this, ue);\n this._isOpen = !1, this._contentRef = ue.createModalContent(t, i == null ? void 0 : i.backgroundColor), this._buttonPanel = ue.createButtonPanel(i == null ? void 0 : i.backgroundColor), this._elementRef = ue.createContainer(this._contentRef, i), this._elementRef.appendChild(this._buttonPanel), e.appendChild(this._elementRef), this._backgroundPanelRef = ue.createDarkBackgroundPanel(), e.appendChild(this._backgroundPanelRef), this.addWindowEvents(e);\n }\n return _createClass(ue, [{\n key: \"isOpen\",\n value: function isOpen() {\n return this._isOpen;\n }\n }, {\n key: \"addButtons\",\n value: function addButtons() {\n var _this61 = this;\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n e.forEach(function (t) {\n return _this61._buttonPanel.appendChild(t);\n });\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this62 = this;\n this._elementRef.classList.remove(\"show-modal\"), this._elementRef.classList.add(\"hide-modal\"), this._backgroundPanelRef.classList.remove(\"show-modal-background\"), this._backgroundPanelRef.classList.add(\"hide-modal-background\"), this._isOpen = !1, setTimeout(function () {\n _this62._elementRef.style.display = \"none\", _this62._backgroundPanelRef.style.display = \"none\";\n }, ue.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"displayModalElements\",\n value: function displayModalElements() {\n this._elementRef.style.display = \"flex\", this._elementRef.classList.remove(\"hide-modal\"), this._elementRef.classList.add(\"show-modal\"), this._backgroundPanelRef.style.display = \"block\", this._backgroundPanelRef.classList.remove(\"hide-modal-background\"), this._backgroundPanelRef.classList.add(\"show-modal-background\"), this._isOpen = !0;\n }\n }, {\n key: \"openTextModal\",\n value: function openTextModal(e) {\n this._contentRef.innerHTML = e, this.displayModalElements();\n }\n }, {\n key: \"addCloseButton\",\n value: function addCloseButton(e, t, i) {\n var _this63 = this;\n var n = t ? ue.createSVGButton(e) : ue.createTextButton(e);\n return this.addButtons(n), n.onclick = function () {\n _this63.close(), setTimeout(function () {\n i == null || i();\n }, 140);\n }, n;\n }\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === P.ESCAPE ? (this.close(), (i = this.extensionCloseCallback) == null || i.call(this)) : t.key === P.ENTER && (this.close(), (n = this.extensionCloseCallback) == null || n.call(this)));\n }\n }], [{\n key: \"createContainer\",\n value: function createContainer(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"modal\"), i.appendChild(e), t && delete t.backgroundColor, Object.assign(i.style, t), i;\n }\n }, {\n key: \"createModalContent\",\n value: function createModalContent(e, t) {\n var _i$classList;\n var i = document.createElement(\"div\");\n return (_i$classList = i.classList).add.apply(_i$classList, _toConsumableArray(e)), t && (i.style.backgroundColor = t), document.createElement(\"div\").appendChild(i), i;\n }\n }, {\n key: \"createButtonPanel\",\n value: function createButtonPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button-panel\"), e && (t.style.backgroundColor = e), t;\n }\n }, {\n key: \"createDarkBackgroundPanel\",\n value: function createDarkBackgroundPanel() {\n var e = document.createElement(\"div\");\n return e.id = \"modal-background-panel\", e;\n }\n }, {\n key: \"createTextButton\",\n value: function createTextButton(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button\"), t.textContent = e, t;\n }\n }, {\n key: \"createSVGButton\",\n value: function createSVGButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"modal-button\", \"modal-svg-button\");\n var i = te.createSVGElement(e);\n return i.classList.add(\"modal-svg-button-icon\"), t.appendChild(i), t;\n }\n }, {\n key: \"createTextModalFunc\",\n value: function createTextModalFunc(e, t, i) {\n var n;\n if (_typeof(t) == \"object\" && (n = t.files) != null && n.infoModal) {\n var r = new ue(e, [\"modal-content\"], t.files.infoModal.containerStyle);\n return r.addCloseButton(\"OK\", !1, i), r.openTextModal.bind(r, t.infoModalTextMarkUp || \"\");\n }\n }\n }]);\n}();\nue.MODAL_CLOSE_TIMEOUT_MS = 190;\nvar Ve = ue;\nvar St = /*#__PURE__*/function (_jt3) {\n // prettier-ignore\n function St(e, t, i, n, r, o) {\n var _this64;\n _classCallCheck(this, St);\n var h, u, f, m, p, y, E, j, V;\n var a = (h = i == null ? void 0 : i.button) == null ? void 0 : h.position,\n l = ((m = (f = (u = i == null ? void 0 : i.button) == null ? void 0 : u.styles) == null ? void 0 : f.text) == null ? void 0 : m.content) || o;\n _this64 = _callSuper(this, St, [St.createButtonElement(), a, i.button, l]);\n var c = a === \"dropup-menu\",\n d = _this64.createInnerElements(n, r, _this64._customStyles, c);\n _this64._inputElement = St.createInputElement((p = i == null ? void 0 : i.files) == null ? void 0 : p.acceptedFormats), _this64.addClickEvent(e, i), _this64.elementRef.replaceChildren(d.styles), _this64.reapplyStateStyle(\"styles\"), _this64._fileAttachmentsType = t, _this64._openModalOnce = ((E = (y = i.files) == null ? void 0 : y.infoModal) == null ? void 0 : E.openModalOnce) === !1 || (V = (j = i.files) == null ? void 0 : j.infoModal) == null ? void 0 : V.openModalOnce;\n return _this64;\n }\n _inherits(St, _jt3);\n return _createClass(St, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = St.createSVGIconElement(e, t);\n return {\n styles: K.createInnerElement(this.elementRef, r, \"styles\", i, n)\n };\n }\n }, {\n key: \"triggerImportPrompt\",\n value: function triggerImportPrompt(e) {\n e.onchange = this[\"import\"].bind(this, e), e.click();\n }\n }, {\n key: \"import\",\n value: function _import(e) {\n Vt.addFilesToType(Array.from(e.files || []), [this._fileAttachmentsType]), e.value = \"\";\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent(e, t) {\n var i = this.triggerImportPrompt.bind(this, this._inputElement),\n n = Ve.createTextModalFunc(e, t, i);\n this.elementRef.onclick = this.click.bind(this, n);\n }\n }, {\n key: \"click\",\n value: function click(e) {\n e && (this._openModalOnce === void 0 || this._openModalOnce === !0) ? (e(), this._openModalOnce === !0 && (this._openModalOnce = !1)) : this.triggerImportPrompt(this._inputElement);\n }\n }], [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var t = document.createElement(\"input\");\n return t.type = \"file\", t.accept = e || \"\", t.hidden = !0, t.multiple = !0, t;\n }\n }, {\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\", \"upload-file-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement(e, t) {\n var i = te.createSVGElement(t);\n return i.id = e, i;\n }\n }]);\n}(jt);\nvar Se = /*#__PURE__*/function () {\n function Se() {\n _classCallCheck(this, Se);\n }\n return _createClass(Se, null, [{\n key: \"create\",\n value: function create(e, t, i) {\n var n = Se.createElement(i);\n Se.addEvents(n, e, t), e.appendChild(n);\n }\n }, {\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"drag-and-drop\", _typeof(e) == \"object\" && Object.assign(t.style, e), t;\n }\n }, {\n key: \"addEvents\",\n value: function addEvents(e, t, i) {\n t.ondragenter = function (n) {\n n.preventDefault(), Se.display(e);\n }, e.ondragleave = function (n) {\n n.preventDefault(), Se.hide(e);\n }, e.ondragover = function (n) {\n n.preventDefault();\n }, e.ondrop = function (n) {\n n.preventDefault(), Se.uploadFile(i, n), Se.hide(e);\n };\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(e, t) {\n var n;\n var i = (n = t.dataTransfer) == null ? void 0 : n.files;\n i && e.addFilesToAnyType(Array.from(i));\n }\n }, {\n key: \"display\",\n value: function display(e) {\n e.style.display = \"block\";\n }\n }, {\n key: \"hide\",\n value: function hide(e) {\n e.style.display = \"none\";\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(e, t) {\n return t !== void 0 && t === !1 ? !1 : !!t || e.getNumberOfTypes() > 0;\n }\n }]);\n}();\nvar Be = /*#__PURE__*/function () {\n function Be() {\n _classCallCheck(this, Be);\n }\n return _createClass(Be, null, [{\n key: \"validate\",\n value:\n // prettier-ignore\n function validate(e, t, i, n, r) {\n var o = e(i, n, r);\n return o ? t.changeToSubmitIcon() : t.changeToDisabledIcon(), o;\n }\n // prettier-ignore\n }, {\n key: \"useValidationFunc\",\n value: function () {\n var _useValidationFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee115(e, t, i, n) {\n var r, o, a, l;\n return _regeneratorRuntime().wrap(function _callee115$(_context115) {\n while (1) switch (_context115.prev = _context115.next) {\n case 0:\n r = t.inputElementRef, o = r.classList.contains(We.PLACEHOLDER_TEXT_CLASS) ? \"\" : r.textContent;\n _context115.next = 3;\n return i.completePlaceholders();\n case 3:\n a = i.getAllFileData(), l = a == null ? void 0 : a.map(function (c) {\n return c.file;\n });\n return _context115.abrupt(\"return\", Be.validate(e, n, o, l));\n case 5:\n case \"end\":\n return _context115.stop();\n }\n }, _callee115);\n }));\n function useValidationFunc(_x203, _x204, _x205, _x206) {\n return _useValidationFunc.apply(this, arguments);\n }\n return useValidationFunc;\n }() // prettier-ignore\n }, {\n key: \"useValidationFuncProgrammatic\",\n value: function () {\n var _useValidationFuncProgrammatic = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee116(e, t, i) {\n var r, n;\n return _regeneratorRuntime().wrap(function _callee116$(_context116) {\n while (1) switch (_context116.prev = _context116.next) {\n case 0:\n n = (r = t.files) == null ? void 0 : r.map(function (o) {\n return o.file;\n });\n return _context116.abrupt(\"return\", Be.validate(e, i, t.text, n, !0));\n case 2:\n case \"end\":\n return _context116.stop();\n }\n }, _callee116);\n }));\n function useValidationFuncProgrammatic(_x207, _x208, _x209) {\n return _useValidationFuncProgrammatic.apply(this, arguments);\n }\n return useValidationFuncProgrammatic;\n }()\n }, {\n key: \"validateWebsocket\",\n value: function validateWebsocket(e, t) {\n return e.websocket && !B.canSendMessage(e.websocket) ? (t.changeToDisabledIcon(), !1) : !0;\n }\n // prettier-ignore\n }, {\n key: \"attach\",\n value: function attach(e, t, i, n, r) {\n var o = e.validateInput || ae.processValidateInput(e);\n e._validationHandler = /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee117(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee117$(_context117) {\n while (1) switch (_context117.prev = _context117.next) {\n case 0:\n if (!(r.status.loadingActive || r.status.requestInProgress || t.isSubmitProgrammaticallyDisabled === !0 || !Be.validateWebsocket(t, r))) {\n _context117.next = 2;\n break;\n }\n return _context117.abrupt(\"return\", !1);\n case 2:\n l = o || t.canSendMessage;\n return _context117.abrupt(\"return\", l ? a ? Be.useValidationFuncProgrammatic(l, a, r) : Be.useValidationFunc(l, i, n, r) : null);\n case 4:\n case \"end\":\n return _context117.stop();\n }\n }, _callee117);\n }));\n return function (_x210) {\n return _ref18.apply(this, arguments);\n };\n }();\n }\n }]);\n}();\nvar hs = /*#__PURE__*/function () {\n function hs() {\n _classCallCheck(this, hs);\n }\n return _createClass(hs, null, [{\n key: \"getFileName\",\n value: function getFileName(e, t) {\n var i = /* @__PURE__ */new Date(),\n n = String(i.getHours()).padStart(2, \"0\"),\n r = String(i.getMinutes()).padStart(2, \"0\"),\n o = String(i.getSeconds()).padStart(2, \"0\");\n return \"\".concat(e, \"-\").concat(n, \"-\").concat(r, \"-\").concat(o, \".\").concat(t);\n }\n }]);\n}();\nvar aa = /*#__PURE__*/function (_Pt2) {\n function aa(e, t) {\n var _this65;\n _classCallCheck(this, aa);\n var i, n;\n _this65 = _callSuper(this, aa, [t.button]), _this65._waitingForBrowserApproval = !1, _this65._audioType = e, _this65._extension = ((i = t.files) == null ? void 0 : i.format) || \"mp3\", _this65._maxDurationSeconds = (n = t.files) == null ? void 0 : n.maxDurationSeconds, _this65.elementRef.onclick = _this65.buttonClick.bind(_assertThisInitialized(_this65));\n return _this65;\n }\n _inherits(aa, _Pt2);\n return _createClass(aa, [{\n key: \"buttonClick\",\n value: function buttonClick() {\n this._waitingForBrowserApproval || (this.isActive ? this.stop() : (this._waitingForBrowserApproval = !0, this.record()));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this66 = this;\n return new Promise(function (e) {\n var t, i;\n _this66.changeToDefault(), (t = _this66._mediaRecorder) == null || t.stop(), (i = _this66._mediaStream) == null || i.getTracks().forEach(function (n) {\n return n.stop();\n }), setTimeout(function () {\n e();\n }, 10);\n });\n }\n }, {\n key: \"record\",\n value: function record() {\n var _this67 = this;\n navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (e) {\n _this67.changeToActive(), _this67._mediaRecorder = new MediaRecorder(e), _this67._audioType.addPlaceholderAttachment(_this67.stop.bind(_this67), _this67._maxDurationSeconds), _this67._mediaStream = e, _this67._mediaRecorder.addEventListener(\"dataavailable\", function (t) {\n _this67.createFile(t);\n }), _this67._mediaRecorder.start();\n })[\"catch\"](function (e) {\n console.error(e), _this67.stop();\n })[\"finally\"](function () {\n _this67._waitingForBrowserApproval = !1;\n });\n }\n }, {\n key: \"createFile\",\n value: function createFile(e) {\n var _this68 = this;\n var t = new Blob([e.data], {\n type: \"audio/\".concat(this._extension)\n }),\n i = hs.getFileName(this._newFilePrefix || \"audio\", this._extension),\n n = new File([t], i, {\n type: t.type\n }),\n r = new FileReader();\n r.readAsDataURL(n), r.onload = function (o) {\n _this68._audioType.completePlaceholderAttachment(n, o.target.result);\n };\n }\n }]);\n}(Pt);\nvar la = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\" \\\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"currentColor\\\" fill=\\\"none\\\" stroke-width=\\\"1\\\" viewBox=\\\"0 0 24 24\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n <line x1=\\\"22\\\" y1=\\\"2\\\" x2=\\\"11\\\" y2=\\\"14\\\"></line>\\n <polygon points=\\\"22 2 15 22 11 14 2 10 22 2\\\"></polygon>\\n</svg>\\n\";\nvar $ = /*#__PURE__*/function () {\n function $() {\n _classCallCheck(this, $);\n }\n return _createClass($, null, [{\n key: \"setPropertyValueIfDoesNotExist\",\n value: function setPropertyValueIfDoesNotExist(e, t, i) {\n var _e$n, _e$n2;\n var n = t[0];\n t.length === 1 ? (_e$n = e[n]) !== null && _e$n !== void 0 ? _e$n : e[n] = i : ((_e$n2 = e[n]) !== null && _e$n2 !== void 0 ? _e$n2 : e[n] = {}, t.shift(), $.setPropertyValueIfDoesNotExist(e[n], t, i));\n }\n }, {\n key: \"setPropertyValue\",\n value: function setPropertyValue(e, t, i) {\n var _e$n3;\n var n = t[0];\n t.length === 1 ? e[n] = i : ((_e$n3 = e[n]) !== null && _e$n3 !== void 0 ? _e$n3 : e[n] = {}, t.shift(), $.setPropertyValue(e[n], t, i));\n }\n }, {\n key: \"getObjectValue\",\n value: function getObjectValue(e, t) {\n var i = t[0],\n n = e[i];\n return n === void 0 || t.length === 1 ? n : $.getObjectValue(n, t.slice(1));\n }\n }, {\n key: \"overwritePropertyObjectFromAnother\",\n value: function overwritePropertyObjectFromAnother(e, t, i) {\n var n = $.getObjectValue(t, i);\n if (n) {\n var r = _objectSpread(_objectSpread({}, n), $.getObjectValue(e, i) || {});\n $.setPropertyValue(e, i, r);\n }\n }\n }]);\n}();\nvar Ge = /*#__PURE__*/function () {\n function Ge() {\n _classCallCheck(this, Ge);\n }\n return _createClass(Ge, null, [{\n key: \"resetSubmit\",\n value: function resetSubmit(e, t) {\n t ? e.unsetCustomStateStyles([\"loading\", \"submit\"]) : e.unsetCustomStateStyles([\"stop\", \"loading\", \"submit\"]), e.reapplyStateStyle(\"submit\");\n }\n }, {\n key: \"overwriteDefaultStyleWithSubmit\",\n value: function overwriteDefaultStyleWithSubmit(e, t) {\n if (!e.submit) return;\n var i = JSON.parse(JSON.stringify(e[t] || {}));\n $.overwritePropertyObjectFromAnother(i, e.submit, [\"container\", \"default\"]), $.overwritePropertyObjectFromAnother(i, e.submit, [\"text\", \"styles\", \"default\"]), $.overwritePropertyObjectFromAnother(i, e.submit, [\"svg\", \"styles\", \"default\"]), e[t] = i;\n }\n // prettier-ignore\n }, {\n key: \"setUpDisabledButton\",\n value: function setUpDisabledButton(e) {\n $.setPropertyValueIfDoesNotExist(e, [\"submit\", \"container\", \"default\", \"backgroundColor\"], \"\"), $.setPropertyValueIfDoesNotExist(e, [\"disabled\", \"container\", \"default\", \"backgroundColor\"], \"unset\"), $.setPropertyValueIfDoesNotExist(e.submit, [\"svg\", \"styles\", \"default\", \"filter\"], \"\"), $.setPropertyValueIfDoesNotExist(e.disabled, [\"svg\", \"styles\", \"default\", \"filter\"], \"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)\"), Ge.overwriteDefaultStyleWithSubmit(e, \"disabled\");\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t = JSON.parse(JSON.stringify(e || {}));\n return Ge.overwriteDefaultStyleWithSubmit(t, \"loading\"), Ge.overwriteDefaultStyleWithSubmit(t, \"stop\"), e != null && e.alwaysEnabled || Ge.setUpDisabledButton(t), t;\n }\n }]);\n}();\nvar k = /*#__PURE__*/function (_jt4) {\n // prettier-ignore\n function k(e, t, i, n, r, o) {\n var _this69;\n _classCallCheck(this, k);\n var a = Ge.process(e.submitButtonStyles);\n _this69 = _callSuper(this, k, [k.createButtonContainerElement(), a == null ? void 0 : a.position, a]), _this69._isSVGLoadingIconOverriden = !1, _this69.status = {\n requestInProgress: !1,\n loadingActive: !1\n }, _this69._messages = i, _this69._inputElementRef = t, _this69._fileAttachments = r, _this69._innerElements = _this69.createInnerElements(), _this69._abortStream = new AbortController(), _this69._stopClicked = {\n listener: function listener() {}\n }, _this69._serviceIO = n, _this69._alwaysEnabled = !!(a != null && a.alwaysEnabled), e.disableSubmitButton = _this69.disableSubmitButton.bind(_assertThisInitialized(_this69), n), _this69.attemptOverwriteLoadingStyle(e), o.microphone && _this69.setUpSpeechToText(o.microphone.button, e.speechToText), setTimeout(function () {\n var l;\n _this69._validationHandler = e._validationHandler, _this69.assignHandlers(_this69._validationHandler), (l = _this69._validationHandler) == null || l.call(_assertThisInitialized(_this69));\n });\n return _this69;\n }\n _inherits(k, _jt4);\n return _createClass(k, [{\n key: \"createInnerElements\",\n value: function createInnerElements() {\n var _this$createCustomEle = this.createCustomElements(),\n e = _this$createCustomEle.submit,\n t = _this$createCustomEle.loading,\n i = _this$createCustomEle.stop,\n n = e || k.createSubmitIconElement();\n return {\n submit: n,\n loading: t || k.createLoadingIconElement(),\n stop: i || k.createStopIconElement(),\n disabled: this.createDisabledIconElement(n)\n };\n }\n }, {\n key: \"createCustomElements\",\n value: function createCustomElements() {\n var _this70 = this;\n var e = K.createSpecificStateElement(this.elementRef, \"submit\", this._customStyles),\n t = {\n loading: void 0,\n stop: void 0\n };\n return Object.keys(t).forEach(function (i) {\n var n = i,\n r = K.createCustomElement(n, _this70._customStyles);\n r && (t[n] = r);\n }), t.submit = e, t;\n }\n }, {\n key: \"createDisabledIconElement\",\n value: function createDisabledIconElement(e) {\n return K.createCustomElement(\"disabled\", this._customStyles) || e.cloneNode(!0);\n }\n // prettier-ignore\n }, {\n key: \"attemptOverwriteLoadingStyle\",\n value: function attemptOverwriteLoadingStyle(e) {\n var t, i, n, r, o, a, l, c, d;\n if (!((i = (t = this._customStyles) == null ? void 0 : t.submit) != null && i.svg || (o = (r = (n = this._customStyles) == null ? void 0 : n.loading) == null ? void 0 : r.svg) != null && o.content || (c = (l = (a = this._customStyles) == null ? void 0 : a.loading) == null ? void 0 : l.text) != null && c.content) && (e.displayLoadingBubble === void 0 || e.displayLoadingBubble === !0)) {\n var h = document.createElement(\"style\");\n h.textContent = \"\\n .loading-button > * {\\n filter: brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(3044%) hue-rotate(322deg) brightness(100%)\\n contrast(96%) !important;\\n }\", (d = e.shadowRoot) == null || d.appendChild(h), this._isSVGLoadingIconOverriden = !0;\n }\n }\n }, {\n key: \"assignHandlers\",\n value: function assignHandlers(e) {\n this._serviceIO.completionsHandlers = {\n onFinish: this.resetSubmit.bind(this, e)\n }, this._serviceIO.streamHandlers = {\n onOpen: this.changeToStopIcon.bind(this),\n onClose: this.resetSubmit.bind(this, e),\n abortStream: this._abortStream,\n stopClicked: this._stopClicked\n };\n var t = this._serviceIO.stream;\n _typeof(t) == \"object\" && typeof t.simulation == \"number\" && (this._serviceIO.streamHandlers.simulationInterim = t.simulation);\n }\n }, {\n key: \"setUpSpeechToText\",\n value: function setUpSpeechToText(e, t) {\n this._microphoneButton = e, this._stopSTTAfterSubmit = _typeof(t) == \"object\" ? t.stopAfterSubmit : !1;\n }\n }, {\n key: \"resetSubmit\",\n value: function resetSubmit(e) {\n this.status.requestInProgress = !1, this.status.loadingActive = !1, e();\n }\n }, {\n key: \"submitFromInput\",\n value: function () {\n var _submitFromInput = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee118() {\n var e, t;\n return _regeneratorRuntime().wrap(function _callee118$(_context118) {\n while (1) switch (_context118.prev = _context118.next) {\n case 0:\n _context118.next = 2;\n return this._fileAttachments.completePlaceholders();\n case 2:\n e = this._fileAttachments.getAllFileData();\n if (this._inputElementRef.classList.contains(We.PLACEHOLDER_TEXT_CLASS)) this.attemptSubmit({\n text: \"\",\n files: e\n });else {\n t = this._inputElementRef.innerText.trim();\n this.attemptSubmit({\n text: t,\n files: e\n });\n }\n case 4:\n case \"end\":\n return _context118.stop();\n }\n }, _callee118, this);\n }));\n function submitFromInput() {\n return _submitFromInput.apply(this, arguments);\n }\n return submitFromInput;\n }()\n }, {\n key: \"programmaticSubmit\",\n value: function () {\n var _programmaticSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee119(e) {\n var _this71 = this;\n var t;\n return _regeneratorRuntime().wrap(function _callee119$(_context119) {\n while (1) switch (_context119.prev = _context119.next) {\n case 0:\n typeof e == \"string\" && (e = ae.processSubmitUserMessage(e));\n t = {\n text: e.text\n };\n e.files && (t.files = Array.from(e.files).map(function (i) {\n return {\n file: i,\n type: Te.getTypeFromBlob(i)\n };\n })), setTimeout(function () {\n return _this71.attemptSubmit(t, !0);\n });\n case 3:\n case \"end\":\n return _context119.stop();\n }\n }, _callee119);\n }));\n function programmaticSubmit(_x211) {\n return _programmaticSubmit.apply(this, arguments);\n }\n return programmaticSubmit;\n }() // TO-DO - should be disabled when loading history\n }, {\n key: \"attemptSubmit\",\n value: function () {\n var _attemptSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee120(e) {\n var t,\n r,\n o,\n a,\n i,\n n,\n _args120 = arguments;\n return _regeneratorRuntime().wrap(function _callee120$(_context120) {\n while (1) switch (_context120.prev = _context120.next) {\n case 0:\n t = _args120.length > 1 && _args120[1] !== undefined ? _args120[1] : !1;\n _context120.next = 3;\n return (r = this._validationHandler) == null ? void 0 : r.call(this, t ? e : void 0);\n case 3:\n _context120.t0 = _context120.sent;\n _context120.t1 = !1;\n if (!(_context120.t0 === _context120.t1)) {\n _context120.next = 7;\n break;\n }\n return _context120.abrupt(\"return\");\n case 7:\n this.changeToLoadingIcon();\n _context120.next = 10;\n return this.addNewMessage(e);\n case 10:\n this._serviceIO.isWebModel() || this._messages.addLoadingMessage();\n We.clear(this._inputElementRef);\n i = (o = e.files) == null ? void 0 : o.map(function (l) {\n return l.file;\n }), n = {\n text: e.text === \"\" ? void 0 : e.text,\n files: i\n };\n _context120.next = 15;\n return this._serviceIO.callAPI(n, this._messages);\n case 15:\n (a = this._fileAttachments) == null || a.removeAllFiles();\n case 16:\n case \"end\":\n return _context120.stop();\n }\n }, _callee120, this);\n }));\n function attemptSubmit(_x212) {\n return _attemptSubmit.apply(this, arguments);\n }\n return attemptSubmit;\n }()\n }, {\n key: \"addNewMessage\",\n value: function () {\n var _addNewMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee121(_ref19) {\n var e, t, i;\n return _regeneratorRuntime().wrap(function _callee121$(_context121) {\n while (1) switch (_context121.prev = _context121.next) {\n case 0:\n e = _ref19.text, t = _ref19.files;\n i = {\n role: b.USER_ROLE\n };\n e && (i.text = e);\n _context121.t0 = t;\n if (!_context121.t0) {\n _context121.next = 8;\n break;\n }\n _context121.next = 7;\n return this._messages.addMultipleFiles(t);\n case 7:\n i.files = _context121.sent;\n case 8:\n this._serviceIO.sessionId && (i._sessionId = this._serviceIO.sessionId);\n Object.keys(i).length > 0 && this._messages.addNewMessage(i);\n case 10:\n case \"end\":\n return _context121.stop();\n }\n }, _callee121, this);\n }));\n function addNewMessage(_x213) {\n return _addNewMessage.apply(this, arguments);\n }\n return addNewMessage;\n }()\n }, {\n key: \"stopStream\",\n value: function stopStream() {\n var e;\n this._abortStream.abort(), (e = this._stopClicked) == null || e.listener(), this._validationHandler && this.resetSubmit(this._validationHandler);\n }\n }, {\n key: \"changeToStopIcon\",\n value: function changeToStopIcon() {\n this._serviceIO.websocket || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS, k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.stop), this.reapplyStateStyle(\"stop\", [\"loading\", \"submit\"]), this.elementRef.onclick = this.stopStream.bind(this), this.status.loadingActive = !1);\n }\n }, {\n key: \"changeToLoadingIcon\",\n value: function changeToLoadingIcon() {\n this._serviceIO.websocket || (this._isSVGLoadingIconOverriden || this.elementRef.replaceChildren(this._innerElements.loading), this.elementRef.classList.remove(k.SUBMIT_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.LOADING_CLASS), this.reapplyStateStyle(\"loading\", [\"submit\"]), this.elementRef.onclick = function () {}, this.status.requestInProgress = !0, this.status.loadingActive = !0);\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToSubmitIcon\",\n value: function changeToSubmitIcon() {\n var _this72 = this;\n this.elementRef.classList.contains(k.SUBMIT_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.submit), Ge.resetSubmit(this, this.status.loadingActive), this.elementRef.onclick = function () {\n var e;\n _this72.submitFromInput(), (e = _this72._microphoneButton) != null && e.isActive && Nt.toggleSpeechAfterSubmit(_this72._microphoneButton.elementRef, !!_this72._stopSTTAfterSubmit);\n });\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToDisabledIcon\",\n value: function changeToDisabledIcon() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._alwaysEnabled && !e ? this.changeToSubmitIcon() : this.elementRef.classList.contains(k.DISABLED_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.SUBMIT_CLASS), this.elementRef.classList.add(k.DISABLED_CLASS), this.elementRef.replaceChildren(this._innerElements.disabled), this.reapplyStateStyle(\"disabled\", [\"submit\"]), this.elementRef.onclick = function () {});\n }\n }, {\n key: \"disableSubmitButton\",\n value: function disableSubmitButton(e, t) {\n var i;\n e.isSubmitProgrammaticallyDisabled = t !== !1, !(this.status.requestInProgress || this.status.loadingActive) && (t === !1 ? (i = this._validationHandler) == null || i.call(this) : this.changeToDisabledIcon(!0));\n }\n }], [{\n key: \"createButtonContainerElement\",\n value: function createButtonContainerElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSubmitIconElement\",\n value: function createSubmitIconElement() {\n var e = te.createSVGElement(la);\n return e.id = \"submit-icon\", e;\n }\n }, {\n key: \"createLoadingIconElement\",\n value: function createLoadingIconElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"dots-jumping\"), e;\n }\n }, {\n key: \"createStopIconElement\",\n value: function createStopIconElement() {\n var e = document.createElement(\"div\");\n return e.id = \"stop-icon\", e;\n }\n }]);\n}(jt);\nk.SUBMIT_CLASS = \"submit-button\", k.LOADING_CLASS = \"loading-button\", k.DISABLED_CLASS = \"disabled-button\";\nvar ln = k;\nvar ca = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z\\\"/>\\n</svg>\\n\",\n da = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>capture</title>\\n <path d=\\\"M0 16q0 3.264 1.28 6.208t3.392 5.12 5.12 3.424 6.208 1.248 6.208-1.248 5.12-3.424 3.392-5.12 1.28-6.208-1.28-6.208-3.392-5.12-5.088-3.392-6.24-1.28q-3.264 0-6.208 1.28t-5.12 3.392-3.392 5.12-1.28 6.208zM4 16q0-3.264 1.6-6.016t4.384-4.352 6.016-1.632 6.016 1.632 4.384 4.352 1.6 6.016-1.6 6.048-4.384 4.352-6.016 1.6-6.016-1.6-4.384-4.352-1.6-6.048z\\\"></path>\\n</svg>\\n\",\n ha = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\\\"/>\\n</svg>\",\n ua = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M4.89163 13.2687L9.16582 17.5427L18.7085 8\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\";\nvar vn = /*#__PURE__*/function (_Ve) {\n // prettier-ignore\n function vn(e, t, i, n) {\n var _this73;\n _classCallCheck(this, vn);\n _this73 = _callSuper(this, vn, [e, [\"modal-content\", \"modal-camera-content\"], i]), _this73._stopped = !1, _this73._format = \"image/png\", _this73._canvas = document.createElement(\"canvas\"), _this73._canvas.classList.add(\"camera-modal-canvas\");\n var _this73$addButtonsAnd = _this73.addButtonsAndTheirEvents(t),\n r = _this73$addButtonsAnd.captureButton,\n o = _this73$addButtonsAnd.submitButton;\n _this73._captureButton = r, _this73._submitButton = o, _this73._captureIcon = _this73._captureButton.children[0], _this73._refreshIcon = te.createSVGElement(ca), _this73._refreshIcon.classList.add(\"modal-svg-button-icon\", \"modal-svg-refresh-icon\"), (n == null ? void 0 : n.format) === \"jpeg\" && (_this73._format = \"image/jpeg\"), n != null && n.dimensions && (_this73._dimensions = n.dimensions), _this73._contentRef.appendChild(_this73._canvas), _this73.extensionCloseCallback = _this73.stop;\n return _this73;\n }\n _inherits(vn, _Ve);\n return _createClass(vn, [{\n key: \"addButtonsAndTheirEvents\",\n value: function addButtonsAndTheirEvents(e) {\n var t = Ve.createSVGButton(da);\n t.classList.add(\"modal-svg-camera-button\"), t.children[0].classList.add(\"modal-svg-camera-icon\");\n var i = this.addCloseButton(ha, !0);\n i.classList.add(\"modal-svg-close-button\"), i.children[0].classList.add(\"modal-svg-close-icon\");\n var n = Ve.createSVGButton(ua);\n return n.classList.add(\"modal-svg-submit-button\"), this.addButtons(t, n), this.addButtonEvents(t, i, n, e), {\n captureButton: t,\n submitButton: n\n };\n }\n // prettier-ignore\n }, {\n key: \"addButtonEvents\",\n value: function addButtonEvents(e, t, i, n) {\n var _this74 = this;\n e.onclick = function () {\n _this74.capture();\n }, t.addEventListener(\"click\", this.stop.bind(this)), i.onclick = function () {\n var r = _this74.getFile();\n r && Vt.addFilesToType([r], [n]), _this74.stop(), _this74.close();\n };\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this75 = this;\n this._mediaStream && this._mediaStream.getTracks().forEach(function (e) {\n return e.stop();\n }), this._stopped = !0, setTimeout(function () {\n _this75._captureButton.replaceChildren(_this75._captureIcon), _this75._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\");\n var e = _this75._canvas.getContext(\"2d\");\n e == null || e.clearRect(0, 0, _this75._canvas.width, _this75._canvas.height);\n }, Ve.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this76 = this;\n this._dataURL = void 0, this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._stopped = !1, navigator.mediaDevices.getUserMedia({\n video: this._dimensions || !0\n }).then(function (e) {\n if (_this76._mediaStream = e, !_this76.isOpen()) return _this76.stop();\n var t = document.createElement(\"video\");\n t.srcObject = e, t.play(), requestAnimationFrame(_this76.updateCanvas.bind(_this76, t, _this76._canvas));\n })[\"catch\"](function (e) {\n console.error(e), _this76.stop(), _this76.close();\n });\n }\n }, {\n key: \"capture\",\n value: function capture() {\n this._dataURL ? (this._captureButton.replaceChildren(this._captureIcon), this._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\"), this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._dataURL = void 0) : (this._captureButton.replaceChildren(this._refreshIcon), this._captureButton.classList.replace(\"modal-svg-camera-button\", \"modal-svg-refresh-button\"), this._submitButton.classList.remove(\"modal-svg-submit-disabled\"), this._dataURL = this._canvas.toDataURL());\n }\n }, {\n key: \"getFile\",\n value: function getFile() {\n if (this._dataURL) {\n var e = atob(this._dataURL.split(\",\")[1]),\n t = new Array(e.length);\n for (var a = 0; a < e.length; a++) t[a] = e.charCodeAt(a);\n var _i18 = new Uint8Array(t),\n n = new Blob([_i18], {\n type: this._format\n }),\n r = this._format === \"image/jpeg\" ? \"jpeg\" : \"png\",\n o = hs.getFileName(this._newFilePrefix || \"photo\", r);\n return new File([n], o, {\n type: n.type\n });\n }\n }\n }, {\n key: \"updateCanvas\",\n value: function updateCanvas(e, t) {\n if (!this._stopped) {\n if (!this._dataURL) {\n t.width = e.videoWidth, t.height = e.videoHeight;\n var _i19 = t.getContext(\"2d\");\n _i19 == null || _i19.drawImage(e, 0, 0, t.width, t.height);\n }\n requestAnimationFrame(this.updateCanvas.bind(this, e, t));\n }\n }\n }, {\n key: \"openCameraModal\",\n value: function openCameraModal(e) {\n this.displayModalElements(), e.start();\n }\n // prettier-ignore\n }], [{\n key: \"createCameraModalFunc\",\n value: function createCameraModalFunc(e, t, i, n) {\n var r = new vn(e, t, i, n);\n return r.openCameraModal.bind(r, r);\n }\n }]);\n}(Ve);\nvar fa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M29 7h-4.599l-2.401-4h-12l-2.4 4h-4.6c-1 0-3 1-3 2.969v16.031c0 1.657 1.5 3 2.792 3h26.271c1.313 0 2.938-1.406 2.938-2.968v-16.032c0-1-1-3-3-3zM30 26.032c0 0.395-0.639 0.947-0.937 0.969h-26.265c-0.232-0.019-0.797-0.47-0.797-1v-16.031c0-0.634 0.851-0.953 1-0.969h5.732l2.4-4h9.802l1.785 3.030 0.55 0.97h5.731c0.705 0 0.99 0.921 1 1v16.032zM16 10c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zM16 22c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\\\"></path>\\n</svg>\";\nvar gi = /*#__PURE__*/function (_jt5) {\n function gi(e, t, i) {\n var _this77;\n _classCallCheck(this, gi);\n var a, l, c, d;\n var n = (a = i == null ? void 0 : i.button) == null ? void 0 : a.position,\n r = ((d = (c = (l = i == null ? void 0 : i.button) == null ? void 0 : l.styles) == null ? void 0 : c.text) == null ? void 0 : d.content) || \"Photo\";\n _this77 = _callSuper(this, gi, [gi.createButtonElement(), n, (i == null ? void 0 : i.button) || {}, r]);\n var o = _this77.createInnerElements(_this77._customStyles, n === \"dropup-menu\");\n i && _this77.addClickEvent(e, t, i.modalContainerStyle, i.files), _this77.elementRef.classList.add(\"upload-file-button\"), _this77.elementRef.appendChild(o.styles), _this77.reapplyStateStyle(\"styles\");\n return _this77;\n }\n // prettier-ignore\n _inherits(gi, _jt5);\n return _createClass(gi, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n return {\n styles: K.createInnerElement(this.elementRef, gi.createSVGIconElement(), \"styles\", e, t)\n };\n }\n }, {\n key: \"addClickEvent\",\n value:\n // prettier-ignore\n function addClickEvent(e, t, i, n) {\n var r = vn.createCameraModalFunc(e, t, i, n);\n this.elementRef.onclick = r;\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = te.createSVGElement(fa);\n return e.id = \"camera-icon\", e;\n }\n }]);\n}(jt);\nvar wt = /*#__PURE__*/function () {\n function wt(e, t, i, n) {\n _classCallCheck(this, wt);\n this.elementRef = wt.createPanelElement(e.inputAreaStyle);\n var r = {},\n o = this.createFileUploadComponents(e, i, n, r),\n a = new We(e, i, o);\n e.speechToText && !r.microphone && (r.microphone = {\n button: new Nt(e, a, t.addNewErrorMessage.bind(t))\n });\n var l = new ln(e, a.inputElementRef, t, i, o, r);\n a.submit = l.submitFromInput.bind(l), Be.attach(e, i, a, o, l), e.submitUserMessage = l.programmaticSubmit.bind(l), r.submit = {\n button: l\n }, wt.addElements(this.elementRef, a, r, n, o, e.dropupStyles);\n }\n return _createClass(wt, [{\n key: \"createFileUploadComponents\",\n value:\n // prettier-ignore\n function createFileUploadComponents(e, t, i, n) {\n var o, a, l, c;\n var r = new Vt(this.elementRef, e.attachmentContainerStyle, t.demo);\n if (wt.createUploadButtons(e, t.fileTypes || {}, r, i, n), (o = t.camera) != null && o.files) {\n var d = ((a = n.images) == null ? void 0 : a.fileType) || r.addType(e, t.camera.files, \"images\");\n n.camera = {\n button: new gi(i, d, t.camera)\n };\n }\n if ((l = t.recordAudio) != null && l.files) {\n var _d = ((c = n.audio) == null ? void 0 : c.fileType) || r.addType(e, t.recordAudio.files, \"audio\");\n n.microphone = {\n button: new aa(_d, t.recordAudio)\n };\n }\n return Se.isEnabled(r, e.dragAndDrop) && Se.create(i, r, e.dragAndDrop), r;\n }\n // prettier-ignore\n }], [{\n key: \"createPanelElement\",\n value: function createPanelElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"input\", Object.assign(t.style, e), t;\n }\n }, {\n key: \"createUploadButtons\",\n value: function createUploadButtons(e, t, i, n, r) {\n Object.keys(t).forEach(function (o) {\n var a = o,\n l = t[a];\n if (l.files) {\n var c = i.addType(e, l.files, a),\n _Bo$a = Bo[a],\n d = _Bo$a.id,\n h = _Bo$a.svgString,\n u = _Bo$a.dropupText,\n f = new St(n, c, l, d, h, u);\n r[a] = {\n button: f,\n fileType: c\n };\n }\n });\n }\n // prettier-ignore\n }, {\n key: \"addElements\",\n value: function addElements(e, t, i, n, r, o) {\n q.addElements(e, t.elementRef);\n var a = ft.create(),\n l = G.addButtons(a, i, n, o);\n an.set(t.inputElementRef, a, r.elementRef, l), ft.add(e, a);\n }\n }]);\n}();\nvar yn = /*#__PURE__*/function () {\n function yn() {\n _classCallCheck(this, yn);\n }\n return _createClass(yn, null, [{\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var n = document.createElement(\"div\");\n n.id = \"chat-view\";\n var r = new Re(e, t, i);\n t.websocket && B.createConnection(t, r);\n var o = new wt(e, r, t, n);\n return q.addElements(n, r.elementRef, o.elementRef), n;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i, n) {\n var r = yn.createElements(e, i, n);\n t.replaceChildren(r);\n }\n }]);\n}();\nvar pa = \"#validate-property-key-view{height:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:8px}#large-loading-ring{display:inline-block;width:50px;height:50px}#large-loading-ring:after{content:\\\" \\\";display:block;width:38px;height:38px;margin:1px;border-radius:50%;border:5px solid #5fb2ff;border-color:#5fb2ff transparent #5fb2ff transparent;animation:large-loading-ring 1.4s linear infinite}@keyframes large-loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#insert-key-view{height:100%;position:relative}#insert-key-contents{text-align:center;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:82%;display:flex;max-width:700px}#insert-key-title{margin-bottom:15px}#insert-key-input-container{margin-right:2.7em;width:calc(100% - 80px)}#insert-key-input{padding:.3em 1.7em .3em .3em;border-width:1px;border-style:solid;border-radius:3px;width:100%;font-size:inherit}.insert-key-input-valid{border-color:gray}.insert-key-input-invalid{border-color:red}#visibility-icon-container{position:relative;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-icon{filter:brightness(0) saturate(100%) invert(63%) sepia(1%) saturate(9%) hue-rotate(43deg) brightness(98%) contrast(92%);position:absolute;right:-1.7em;top:-1.43em}#visible-icon{top:-1.4em}.visibility-icon:hover{filter:unset}.visibility-icon>*{pointer-events:none}#start-button{border:1px solid grey;color:#454545;border-radius:4px;width:3em;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.28em .3em;-webkit-user-select:none;user-select:none;background-color:#fff}#start-button:hover{background-color:#f2f2f2}#start-button:active{background-color:#d2d2d2}#insert-key-help-text-container{width:100%;position:absolute;margin-top:32px;margin-bottom:20px}#insert-key-help-text-contents{width:100%;position:absolute}#insert-key-input-invalid-text{display:block;margin-top:1em;margin-bottom:.5em;color:red}.insert-key-input-help-text{display:block;margin-top:16px}#loading-ring{display:inline-block;width:16px;height:16px}#loading-ring:after{content:\\\" \\\";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:2px solid #0084ff;border-color:#0084ff transparent #0084ff transparent;animation:loading-ring 1.2s linear infinite}@keyframes loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#error-view{color:red;font-size:1.2em;line-height:1.3em;margin-top:-5px;text-align:center;height:100%;display:flex;justify-content:center;align-items:center;padding-left:8px;padding-right:8px}.intro-panel{position:absolute;display:flex;justify-content:center;right:0;bottom:0;left:0;margin:auto;height:fit-content;top:-2.5em}#internal-intro-panel{width:250px;height:min-content;display:block;border-radius:5px;overflow:auto;border:1px solid rgb(203,203,203);padding:10px;max-height:calc(100% - 6.8em)}#internal-intro-panel>p{margin-block-start:.8em;margin-block-end:.8em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\\n Theme: a11y-dark\\n Author: @ericwbailey\\n Maintainer: @ericwbailey\\n\\n Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css\\n*/.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}#messages{overflow:auto}.outer-message-container:last-child{margin-bottom:5px}.inner-message-container{display:flex;margin-left:auto;margin-right:auto;width:calc(97.5% - 24px);max-width:100%}.message-bubble{margin-top:10px;word-wrap:break-word;width:fit-content;max-width:60%;border-radius:10px;padding:.42em .55em;height:fit-content;line-height:1.26em}.user-message-text{color:#fff;background-color:#0084ff;margin-right:0;margin-left:auto}.ai-message-text{color:#000;background-color:#e4e6eb;margin-left:0;margin-right:auto}.html-message{max-width:unset}.error-message-text{margin:14px auto 10px;background-color:#f4c0c0;color:#474747;text-align:center;max-width:95%}.loading-message-text{width:1em;padding:.6em .75em .6em 1.3em}.message-bubble>p:first-child{margin-top:0}.message-bubble>p:last-child{margin-bottom:0}pre{overflow:auto;display:block;word-break:break-all;word-wrap:break-word;border-radius:7px;background:#2b2b2b;color:#f8f8f2;margin-top:.8em;margin-bottom:.8em;padding:.6em;font-size:.9em;line-height:1.5em}.image-message{padding:0;display:flex;background-color:#ddd}.image-message>*,.image-message>*>*{width:100%;border-radius:8px;display:flex}.audio-message{width:60%;max-width:300px;height:2.2em;max-height:54px;padding:0;background-color:unset}.audio-player{width:100%;height:100%}.audio-player-safari{height:fit-content;width:40px}.audio-player-safari-left{float:left}.audio-player-safari-right{float:right}.any-file-message-bubble{padding:1px}.any-file-message-contents{display:flex}.any-file-message-icon-container{width:1.3em;min-width:1.3em;position:relative;border-radius:4px;margin-left:6px;margin-right:2px}.any-file-message-icon{background-color:#fff;border-radius:4px;position:absolute;width:1em;height:1.25em;padding:1px;margin-top:auto;margin-bottom:auto;top:0;bottom:0}.any-file-message-text{padding-top:5px;overflow-wrap:anywhere;padding-bottom:5px;padding-right:7px}.message-bubble>a{color:inherit}.left-item-position{margin-right:10px}.right-item-position{margin-left:10px}.avatar{padding-top:5px;width:1.5em;height:1.5em;border-radius:1px}.avatar-container{margin-top:9px}.name{margin-top:16px;font-size:15px}#drag-and-drop{position:absolute;display:none;z-index:10;height:calc(100% - 10px);width:calc(100% - 10px);background-color:#70c6ff4d;border:5px dashed #6dafff}#file-attachment-container{position:absolute;height:3.6em;width:calc(80% - 4px);top:-2.5em;border-radius:5px;overflow:auto;text-align:left;background-color:#d7d7d73b;padding-left:4px}.file-attachment{width:2.85em;height:2.85em;display:inline-flex;margin-right:.6em;margin-bottom:.44em;margin-top:4px;position:relative;background-color:#fff;border-radius:5px}.image-attachment{width:100%;height:100%;object-fit:cover;border-radius:5px}.border-bound-attachment{width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid #c3c3c3;border-radius:5px;overflow:hidden}.border-bound-attachment-safari{width:calc(100% - 1px);height:calc(100% - 1px)}.audio-attachment-icon-container{cursor:pointer}.audio-attachment-icon-container:hover{background-color:#f8f8f8}.attachment-icon{left:0;right:0;bottom:0;top:2px;margin:auto;position:absolute;width:25px;-webkit-user-select:none;user-select:none}.not-removable-attachment-icon{top:0;right:0;bottom:0;left:0}.play-icon{filter:brightness(0) saturate(100%) invert(17%) sepia(0%) saturate(1392%) hue-rotate(67deg) brightness(98%) contrast(97%)}.stop-icon{filter:brightness(0) saturate(100%) invert(29%) sepia(90%) saturate(1228%) hue-rotate(198deg) brightness(93%) contrast(98%)}.audio-placeholder-text-3-digits{padding-left:.26rem}.audio-placeholder-text-4-digits{padding-left:.1rem}.any-file-attachment{padding:2px 0}.file-attachment-text-container{position:absolute;width:inherit;display:flex;align-items:center;height:100%;top:-1px}.audio-placeholder-text-3-digits-container{padding-top:1px;cursor:default}.any-file-attachment-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:.13em;margin-left:auto;margin-right:auto}.remove-file-attachment-button{height:1.25em;width:1.25em;border:1px solid #cfcfcf;border-radius:25px;background-color:#fff;top:-4px;right:-5px;position:absolute;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.remove-file-attachment-button:hover{background-color:#e4e4e4}.remove-file-attachment-button:active{background-color:#d7d7d7}.x-icon{color:#4e4e4e;top:-.075em;position:relative;font-size:1.05em}.modal{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:80%;max-width:420px;max-height:80%;margin:auto;top:0;right:0;bottom:0;left:0;z-index:2}.modal-content{border-top:1px solid rgb(217,217,217);border-left:1px solid rgb(217,217,217);border-right:1px solid rgb(217,217,217);border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:#fff;overflow-y:auto;height:fit-content;max-height:calc(100% - 3.3em);width:100%}.modal-content>p{margin-left:1em;margin-right:1em}.modal-content>ul{margin-right:1em}.modal-button-panel{height:3.3em;border:1px solid;border-color:rgb(223,223,223) rgb(217,217,217) rgb(217,217,217);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-color:#fff;text-align:center;justify-content:center;display:flex;width:100%}.modal-button{min-width:2.5em;text-align:center;color:#fff;border-radius:5px;padding:.4em .4em .3em;height:1.25em;background-color:#3279b2;top:0;bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto .31em}.modal-button:hover{background-color:#276da7}.modal-button:active{background-color:#1b5687}.modal-svg-button{padding:0 0 2px;width:2em;height:1.8em}.modal-svg-button-icon{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(15%) saturate(4%) hue-rotate(346deg) brightness(101%) contrast(102%)}#modal-background-panel{position:absolute;width:100%;height:100%;background-color:#00000042;z-index:1;display:none}.show-modal-background{animation:fadeInBackground .3s ease-in-out}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}.show-modal{animation:fadeInModal .3s ease-in-out}@keyframes fadeInModal{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.hide-modal-background{animation:fadeOutBackground .2s ease-in-out}@keyframes fadeOutBackground{0%{opacity:1}to{opacity:0}}.hide-modal{animation:fadeOutModal .2s ease-in-out}@keyframes fadeOutModal{0%{opacity:1;scale:1}to{opacity:0;scale:.95}}.modal-camera-content{overflow:hidden;text-align:center;border:unset;height:100%;background-color:#2a2a2a;display:flex;justify-content:center}.camera-modal-canvas{max-width:100%;max-height:100%;margin-top:auto;margin-bottom:auto}.modal-svg-submit-button{background-color:green}.modal-svg-submit-button:hover{background-color:#007500}.modal-svg-submit-button:active{background-color:#006500}.modal-svg-submit-disabled{pointer-events:none;background-color:#747474}.modal-svg-close-button{height:1.56em;padding-top:.37em;padding-bottom:0;background-color:#c13e3e}.modal-svg-close-button:hover{background-color:#b43434}.modal-svg-close-button:active{background-color:#972929}.modal-svg-close-icon{width:80%;height:80%}.modal-svg-camera-button{height:1.6em;padding-top:.38em;padding-bottom:0}.modal-svg-camera-icon{height:76%}.modal-svg-refresh-icon{height:105%}.modal-svg-refresh-button{height:1.66em;padding-top:.11em;padding-bottom:.21em}.input-button-container{position:relative;z-index:1}.inside-right{position:absolute;right:calc(10% + .35em);bottom:.85em}.inside-left{position:absolute;left:calc(10% + .35em);bottom:.85em}.outside-left{position:absolute;right:calc(11px - .55em);bottom:.88em}.outside-right{position:absolute;left:calc(11px - .55em);bottom:.88em}#upload-images-icon{position:absolute;pointer-events:none;width:1.45em;height:1.45em;left:.11em;bottom:.08em;filter:brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(740%) hue-rotate(77deg) brightness(99%) contrast(92%)}#upload-gifs-icon{position:absolute;pointer-events:none;width:1.5em;height:1.48em;left:.07em;bottom:.08em;filter:brightness(0) saturate(100%) invert(49%) sepia(0%) saturate(2586%) hue-rotate(12deg) brightness(93%) contrast(90%)}#upload-audio-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.17em;bottom:.2em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%);transform:scaleX(.95)}#camera-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.23em;bottom:.2em;filter:brightness(0) saturate(100%) invert(52%) sepia(0%) saturate(161%) hue-rotate(164deg) brightness(91%) contrast(92%);transform:scaleX(.95)}#upload-mixed-files-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.2em;filter:brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(36%) hue-rotate(74deg) brightness(98%) contrast(93%);transform:scaleX(.95)}#interim-text{color:gray}#microphone-button{padding-top:.5px}.outer-button-container>#microphone-button{padding-bottom:1px}#microphone-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.25em}.default-microphone-icon{filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%)}.active-microphone-icon{filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(7495%) hue-rotate(0deg) brightness(101%) contrast(107%);border-radius:10px}.command-microphone-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(1067%) hue-rotate(77deg) brightness(99%) contrast(102%)}.unsupported-microphone{display:none}#submit-icon{height:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%);width:1.21em}#stop-icon{background-color:#acacac;position:absolute;width:.95em;height:.95em;left:.35em;bottom:.35em;border-radius:2px}.submit-button-enlarged{scale:1.1;margin-right:.3em;margin-left:.3em}.dots-jumping{position:relative;left:calc(-9990px + .275em);width:.22em;height:.22em;border-radius:5px;background-color:#848484;color:#848484;box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484;animation:dots-jumping 1.5s infinite linear;bottom:-.75em}@keyframes dots-jumping{0%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}16.667%{box-shadow:9990px -6px #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}33.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}50%{box-shadow:9990px 0 #848484,calc(9990px + .44em) -6px 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}66.667%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}83.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) -6px 0 0 #848484}to{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}}.dots-flashing{position:relative;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite linear alternate;animation-delay:.5s}.dots-flashing:before,.dots-flashing:after{content:\\\"\\\";display:inline-block;position:absolute;top:0}.dots-flashing:before{left:-.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:0s}.dots-flashing:after{left:.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:1s}@keyframes dots-flashing{0%{background-color:var(--message-dots-color)}50%,to{background-color:var(--message-dots-color-fade)}}.input-button{border-radius:4px;cursor:pointer;margin-bottom:.2em;-webkit-user-select:none;user-select:none}.input-button-svg{width:1.65em;height:1.65em}.input-button:hover{background-color:#9c9c9c2e}.input-button:active{background-color:#9c9c9c5e}.loading-button{cursor:auto}.loading-button:hover{background-color:unset}.text-button{filter:unset!important;display:flex;justify-content:center;align-items:center;margin-left:4px;margin-right:4px;height:1.6em}#text-input-container{background-color:#fff;width:80%;display:flex;border:1px solid #0000001a;border-radius:5px;margin-top:.8em;margin-bottom:.8em;box-shadow:#959da533 0 1px 12px;overflow-y:auto;max-height:200px;position:relative}.text-input-container-left-adjustment{margin-left:1.5em}.text-input-container-right-adjustment{margin-right:1.5em}.text-input-container-left-small-adjustment{margin-left:1.1em}.text-input-container-left-small-adjustment>.outside-left{right:calc(14px - .55em)}.text-input-container-right-small-adjustment{margin-right:1.1em}.text-input-container-right-small-adjustment>.outside-right{left:calc(14px - .55em)}#text-input{text-align:left;outline:none;word-wrap:break-word;line-break:auto}.text-input-styling{padding:.4em .5em;overflow:overlay;width:100%}.text-input-inner-left-adjustment{padding-left:2.2em}.text-input-inner-right-adjustment{padding-right:2em}.text-input-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.text-input-placeholder{color:gray}.outside-right>#dropup-menu,.inside-right>#dropup-menu{right:0}#dropup-icon{position:absolute;pointer-events:none;width:1.16em;height:1.2em;left:.265em;bottom:.43em;filter:brightness(0) saturate(100%) invert(54%) sepia(0%) saturate(724%) hue-rotate(6deg) brightness(92%) contrast(90%)}#dropup-menu{background-color:#fff;position:absolute;transform:translateY(-100%);border-radius:5px;z-index:1;top:-.49em;box-shadow:#0003 -1px 2px 10px,#0000001a 0 2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropup-menu-item{height:1.4em;padding:.28em .84em .28em .35em;display:flex;position:relative}.dropup-menu-item:first-child{padding-top:.49em;border-top-left-radius:inherit;border-top-right-radius:inherit}.dropup-menu-item:last-child{padding-bottom:.45em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.dropup-menu-item-icon{width:1.39em;position:relative;margin-right:.56em}.dropup-menu-item-icon>svg{bottom:0!important;top:0!important;margin-bottom:auto;margin-top:auto}.dropup-menu-item-text{margin-top:.08em;width:max-content}#input{width:100%;display:inline-flex;text-align:center;margin-left:auto;margin-right:auto;margin-top:auto;position:relative;justify-content:center}#chat-view{height:100%;display:grid;grid-template-columns:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background-color:#d0d0d0;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}\";\nvar ma = Object.defineProperty,\n ga = Object.getOwnPropertyDescriptor,\n S = function S(s, e, t, i) {\n for (var n = i > 1 ? void 0 : i ? ga(e, t) : e, r = s.length - 1, o; r >= 0; r--) (o = s[r]) && (n = (i ? o(e, t, n) : o(n)) || n);\n return i && n && ma(e, t, n), n;\n };\nvar x = /*#__PURE__*/function (_Zi) {\n function x() {\n var _this78;\n _classCallCheck(this, x);\n _this78 = _callSuper(this, x), _this78.getMessages = function () {\n return [];\n }, _this78.submitUserMessage = function () {\n return console.warn(\"submitUserMessage failed - please wait for chat view to render before calling this property.\");\n }, _this78.addMessage = function () {\n return console.warn(\"addMessage failed - please wait for chat view to render before calling this property.\");\n }, _this78.focusInput = function () {\n return Ei.focusFromParentElement(_this78._elementRef);\n }, _this78.refreshMessages = function () {}, _this78.clearMessages = function () {}, _this78.scrollToBottom = function () {}, _this78.disableSubmitButton = function () {}, _this78.setPlaceholderText = function () {}, _this78._hasBeenRendered = !1, _this78._auxiliaryStyleApplied = !1, _this78._elementRef = document.createElement(\"div\"), _this78._elementRef.id = \"container\", _this78.attachShadow({\n mode: \"open\"\n }).appendChild(_this78._elementRef), yt.apply(pa, _this78.shadowRoot), setTimeout(function () {\n _this78._hasBeenRendered || _this78.onRender();\n }, 20);\n return _this78;\n }\n _inherits(x, _Zi);\n return _createClass(x, [{\n key: \"changeToChatView\",\n value: function changeToChatView() {\n this._activeService && (this._activeService.validateKeyProperty = !1), this.onRender();\n }\n // prettier-ignore\n }, {\n key: \"onRender\",\n value: function onRender() {\n var _this$_childElement;\n Zt.attemptAppendStyleSheetToHead(this.style), ae.processConnect(this), (!this._activeService || this._activeService.demo) && (this._activeService = Ro.create(this)), this.auxiliaryStyle && !this._auxiliaryStyleApplied && (yt.apply(this.auxiliaryStyle, this.shadowRoot), this._auxiliaryStyleApplied = !0), yt.applyDefaultStyleToComponent(this.style, this.chatStyle), ae.checkForContainerStyles(this, this._elementRef), this._activeService.key && this._activeService.validateKeyProperty ? Xt.render(this._elementRef, this.changeToChatView.bind(this), this._activeService) : !(this._activeService instanceof z) || this._activeService.key ? ((_this$_childElement = this._childElement) !== null && _this$_childElement !== void 0 ? _this$_childElement : this._childElement = this.children[0], yn.render(this, this._elementRef, this._activeService, this._childElement)) : this._activeService instanceof z && U.render(this._elementRef, this.changeToChatView.bind(this), this._activeService), this._hasBeenRendered = !0, ei.onRender(this);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n It.chat = void 0;\n }\n }]);\n}(Zi);\nS([_(\"object\")], x.prototype, \"connect\", 2);\nS([_(\"object\")], x.prototype, \"directConnection\", 2);\nS([_(\"object\")], x.prototype, \"webModel\", 2);\nS([_(\"object\")], x.prototype, \"requestBodyLimits\", 2);\nS([_(\"function\")], x.prototype, \"requestInterceptor\", 2);\nS([_(\"function\")], x.prototype, \"responseInterceptor\", 2);\nS([_(\"function\")], x.prototype, \"validateInput\", 2);\nS([_(\"object\")], x.prototype, \"chatStyle\", 2);\nS([_(\"object\")], x.prototype, \"attachmentContainerStyle\", 2);\nS([_(\"object\")], x.prototype, \"dropupStyles\", 2);\nS([_(\"object\")], x.prototype, \"inputAreaStyle\", 2);\nS([_(\"object\")], x.prototype, \"textInput\", 2);\nS([_(\"object\")], x.prototype, \"submitButtonStyles\", 2);\nS([_(\"string\")], x.prototype, \"auxiliaryStyle\", 2);\nS([_(\"array\")], x.prototype, \"history\", 2);\nS([_(\"object\")], x.prototype, \"introMessage\", 2);\nS([_(\"object\")], x.prototype, \"avatars\", 2);\nS([_(\"object\")], x.prototype, \"names\", 2);\nS([_(\"boolean\")], x.prototype, \"displayLoadingBubble\", 2);\nS([_(\"object\")], x.prototype, \"errorMessages\", 2);\nS([_(\"object\")], x.prototype, \"messageStyles\", 2);\nS([_(\"object\")], x.prototype, \"textToSpeech\", 2);\nS([_(\"object\")], x.prototype, \"speechToText\", 2);\nS([_(\"object\")], x.prototype, \"images\", 2);\nS([_(\"object\")], x.prototype, \"gifs\", 2);\nS([_(\"object\")], x.prototype, \"camera\", 2);\nS([_(\"object\")], x.prototype, \"audio\", 2);\nS([_(\"object\")], x.prototype, \"microphone\", 2);\nS([_(\"object\")], x.prototype, \"mixedFiles\", 2);\nS([_(\"object\")], x.prototype, \"dragAndDrop\", 2);\nS([_(\"object\")], x.prototype, \"introPanelStyle\", 2);\nS([_(\"object\")], x.prototype, \"htmlClassUtilities\", 2);\nS([_(\"function\")], x.prototype, \"onMessage\", 2);\nS([_(\"function\")], x.prototype, \"onClearMessages\", 2);\nS([_(\"function\")], x.prototype, \"onComponentRender\", 2);\nS([_(\"function\")], x.prototype, \"onError\", 2);\nS([_(\"object\")], x.prototype, \"demo\", 2);\nS([_(\"object\")], x.prototype, \"_insertKeyViewStyles\", 2);\ncustomElements.define(\"deep-chat\", x);\nexport { x as DeepChat };\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?k:\"?\"===e[1]?H:\"@\"===e[1]?I:R}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=E.nextNode(),o++)}return E.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||\"\"===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const z={P:e,A:h,C:o,M:1,L:P,R:S,D:u,V:N,I:M,H:R,N:H,U:I,B:k,F:L},Z=t.litHtmlPolyfillSupport;Z?.(V,M),(t.litHtmlVersions??=[]).push(\"3.1.4\");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.6\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n","import toFinite from './toFinite.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nexport default toInteger;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import WeakMap from './_WeakMap.js';\n\n/** Used to store function metadata. */\nvar metaMap = WeakMap && new WeakMap;\n\nexport default metaMap;\n","import identity from './identity.js';\nimport metaMap from './_metaMap.js';\n\n/**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n};\n\nexport default baseSetData;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n/**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n}\n\nexport default createCtor;\n","import createCtor from './_createCtor.js';\nimport root from './_root.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n}\n\nexport default createBind;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n}\n\nexport default composeArgs;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\nfunction composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n}\n\nexport default composeArgsRight;\n","/**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\nfunction countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n}\n\nexport default countHolders;\n","/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nexport default baseLodash;\n","import baseCreate from './_baseCreate.js';\nimport baseLodash from './_baseLodash.js';\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = baseCreate(baseLodash.prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\nexport default LazyWrapper;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n","import metaMap from './_metaMap.js';\nimport noop from './noop.js';\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nexport default getData;\n","/** Used to lookup unminified function names. */\nvar realNames = {};\n\nexport default realNames;\n","import realNames from './_realNames.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nexport default getFuncName;\n","import baseCreate from './_baseCreate.js';\nimport baseLodash from './_baseLodash.js';\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nexport default LodashWrapper;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import LazyWrapper from './_LazyWrapper.js';\nimport LodashWrapper from './_LodashWrapper.js';\nimport copyArray from './_copyArray.js';\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\nexport default wrapperClone;\n","import LazyWrapper from './_LazyWrapper.js';\nimport LodashWrapper from './_LodashWrapper.js';\nimport baseLodash from './_baseLodash.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\nimport wrapperClone from './_wrapperClone.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nexport default lodash;\n","import LazyWrapper from './_LazyWrapper.js';\nimport getData from './_getData.js';\nimport getFuncName from './_getFuncName.js';\nimport lodash from './wrapperLodash.js';\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nexport default isLaziable;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetData from './_baseSetData.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\nvar setData = shortOut(baseSetData);\n\nexport default setData;\n","/** Used to match wrap detail comments. */\nvar reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n/**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\nfunction getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n}\n\nexport default getWrapDetails;\n","/** Used to match wrap detail comments. */\nvar reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;\n\n/**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\nfunction insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n}\n\nexport default insertWrapDetails;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","import arrayEach from './_arrayEach.js';\nimport arrayIncludes from './_arrayIncludes.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n/** Used to associate wrap methods with their bit flags. */\nvar wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n];\n\n/**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\nfunction updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n}\n\nexport default updateWrapDetails;\n","import getWrapDetails from './_getWrapDetails.js';\nimport insertWrapDetails from './_insertWrapDetails.js';\nimport setToString from './_setToString.js';\nimport updateWrapDetails from './_updateWrapDetails.js';\n\n/**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\nfunction setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n}\n\nexport default setWrapToString;\n","import isLaziable from './_isLaziable.js';\nimport setData from './_setData.js';\nimport setWrapToString from './_setWrapToString.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n}\n\nexport default createRecurry;\n","/**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\nfunction getHolder(func) {\n var object = func;\n return object.placeholder;\n}\n\nexport default getHolder;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import copyArray from './_copyArray.js';\nimport isIndex from './_isIndex.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\nfunction reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n}\n\nexport default reorder;\n","/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\nfunction replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n}\n\nexport default replaceHolders;\n","import composeArgs from './_composeArgs.js';\nimport composeArgsRight from './_composeArgsRight.js';\nimport countHolders from './_countHolders.js';\nimport createCtor from './_createCtor.js';\nimport createRecurry from './_createRecurry.js';\nimport getHolder from './_getHolder.js';\nimport reorder from './_reorder.js';\nimport replaceHolders from './_replaceHolders.js';\nimport root from './_root.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_ARY_FLAG = 128,\n WRAP_FLIP_FLAG = 512;\n\n/**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n}\n\nexport default createHybrid;\n","import apply from './_apply.js';\nimport createCtor from './_createCtor.js';\nimport createHybrid from './_createHybrid.js';\nimport createRecurry from './_createRecurry.js';\nimport getHolder from './_getHolder.js';\nimport replaceHolders from './_replaceHolders.js';\nimport root from './_root.js';\n\n/**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n}\n\nexport default createCurry;\n","import apply from './_apply.js';\nimport createCtor from './_createCtor.js';\nimport root from './_root.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1;\n\n/**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n}\n\nexport default createPartial;\n","import composeArgs from './_composeArgs.js';\nimport composeArgsRight from './_composeArgsRight.js';\nimport replaceHolders from './_replaceHolders.js';\n\n/** Used as the internal argument placeholder. */\nvar PLACEHOLDER = '__lodash_placeholder__';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\nfunction mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n}\n\nexport default mergeData;\n","import baseSetData from './_baseSetData.js';\nimport createBind from './_createBind.js';\nimport createCurry from './_createCurry.js';\nimport createHybrid from './_createHybrid.js';\nimport createPartial from './_createPartial.js';\nimport getData from './_getData.js';\nimport mergeData from './_mergeData.js';\nimport setData from './_setData.js';\nimport setWrapToString from './_setWrapToString.js';\nimport toInteger from './toInteger.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\nfunction createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n}\n\nexport default createWrap;\n","import createWrap from './_createWrap.js';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8;\n\n/**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\nfunction curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n}\n\n// Assign default placeholders.\ncurry.placeholder = {};\n\nexport default curry;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","/** Forked from polished.js https://github.com/styled-components/polished */\n\nimport { curry } from 'lodash-es';\n\n// #region Internals\ntype Styles = {\n [ruleOrSelector: string]: string | number | Styles;\n};\ntype RgbColor = {\n red: number;\n green: number;\n blue: number;\n};\n\ntype RgbaColor = {\n red: number;\n green: number;\n blue: number;\n alpha: number;\n};\n\nconst cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\nfunction stripUnit(value: string | number): string | number {\n if (typeof value !== 'string') return value;\n const matchedValue = value.match(cssRegex);\n return matchedValue ? parseFloat(value) : value;\n}\nfunction endsWith(string: string, suffix: string): boolean {\n return string.substr(-suffix.length) === suffix;\n}\n\nclass PolishedError extends Error {\n constructor(code: string | number, ...args: any[]) {\n super(\n `An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#${code} for more information.`\n );\n }\n}\nconst pixelsto =\n (to: string) =>\n (pxval: string | number, base: string | number = '16px'): string => {\n let newPxval = pxval;\n let newBase = base;\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return `${newPxval / newBase}${to}`;\n };\n\nfunction getValueAndUnit(value: string | number): any {\n if (typeof value !== 'string') return [value, ''];\n const matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n\nconst defaultFontSize = 16;\n\nfunction convertBase(base: string | number): number {\n const deconstructedValue = getValueAndUnit(base);\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base.toString());\n }\n\n if (deconstructedValue[1] === '%') {\n return (parseFloat(base.toString()) / 100) * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc(): number {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n const rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n return defaultFontSize;\n}\n\ntype ConversionFunction = (red: number, green: number, blue: number) => string;\n\nfunction colorToInt(color: number): number {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red: number, green: number, blue: number): string {\n return `${colorToInt(red)},${colorToInt(green)},${colorToInt(blue)}`;\n}\n\nfunction hslToRgb(\n hue: number,\n saturation: number,\n lightness: number,\n convert: ConversionFunction = convertToInt\n): string {\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n }\n\n // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n const huePrime = (((hue % 360) + 360) % 360) / 60;\n const chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n const secondComponent = chroma * (1 - Math.abs((huePrime % 2) - 1));\n\n let red = 0;\n let green = 0;\n let blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n const lightnessModification = lightness - chroma / 2;\n const finalRed = red + lightnessModification;\n const finalGreen = green + lightnessModification;\n const finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\nconst namedColorMap: Record<string, string> = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n\nfunction nameToHex(color: string): string {\n if (typeof color !== 'string') return color;\n const normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? `#${namedColorMap[normalizedColorName]}` : color;\n}\n\nconst reduceHexValue = (value: string): string => {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return `#${value[1]}${value[3]}${value[5]}`;\n }\n return value;\n};\nfunction toHex(value: number): string {\n const hex = value.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\nfunction guard(lowerBoundary: number, upperBoundary: number, value: number): number {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n// #endregion\n\nexport const rem: (value: string | number, base?: string | number) => string = pixelsto('rem');\nexport function hideVisually(): Styles {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\nexport function remToPx(value: string | number, base?: string | number): string {\n const deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n const newBase = base ? convertBase(base) : getBaseFromDoc();\n return `${deconstructedValue[0] * newBase}px`;\n}\n\nexport const transparentize: (amount: number | string, color: string) => string = curry(function (\n amount: number | string,\n color: string\n): string {\n if (color === 'transparent') return color;\n const parsedColor = parseToRgb(color);\n const alpha: number = 'alpha' in parsedColor && typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n const colorWithAlpha = {\n ...parsedColor,\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount.toString()) * 100).toFixed(2) / 100)\n };\n return rgba(colorWithAlpha);\n});\n\nconst mix: (weight: number | string, color: string, otherColor: string) => string = curry(function (\n weight: number | string,\n color: string,\n otherColor: string\n): string {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n const parsedColor1 = parseToRgb(color);\n const color1 = {\n ...parsedColor1,\n alpha: 'alpha' in parsedColor1 && typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n };\n\n const parsedColor2 = parseToRgb(otherColor);\n const color2 = {\n ...parsedColor2,\n alpha: 'alpha' in parsedColor2 && typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n };\n\n // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n const alphaDelta = color1.alpha - color2.alpha;\n const x = parseFloat(weight.toString()) * 2 - 1;\n const y = x * alphaDelta === -1 ? x : x + alphaDelta;\n const z = 1 + x * alphaDelta;\n const weight1 = (y / z + 1) / 2.0;\n const weight2 = 1 - weight1;\n\n const mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight.toString()) + color2.alpha * (1 - parseFloat(weight.toString()))\n };\n\n return rgba(mixedColor);\n});\n\nexport const shade: (percentage: number | string, color: string) => string = curry(function (\n percentage: number | string,\n color: string\n): string {\n if (color === 'transparent') return color;\n return mix(parseFloat(percentage.toString()), 'rgb(0, 0, 0)', color);\n});\n\nconst hexRegex = /^#[a-fA-F0-9]{6}$/;\nconst hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nconst reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nconst reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nconst rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nconst rgbaRegex =\n /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nconst hslRegex =\n /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nconst hslaRegex =\n /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n\nexport function rgba(\n firstValue: RgbaColor | number | string,\n secondValue?: number,\n thirdValue?: number,\n fourthValue?: number\n): string {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n const rgbValue = parseToRgb(firstValue);\n return `rgba(${rgbValue.red},${rgbValue.green},${rgbValue.blue},${secondValue})`;\n } else if (\n typeof firstValue === 'number' &&\n typeof secondValue === 'number' &&\n typeof thirdValue === 'number' &&\n typeof fourthValue === 'number'\n ) {\n return fourthValue >= 1\n ? rgb(firstValue, secondValue, thirdValue)\n : `rgba(${firstValue},${secondValue},${thirdValue},${fourthValue})`;\n } else if (\n typeof firstValue === 'object' &&\n secondValue === undefined &&\n thirdValue === undefined &&\n fourthValue === undefined\n ) {\n return firstValue.alpha >= 1\n ? rgb(firstValue.red, firstValue.green, firstValue.blue)\n : `rgba(${firstValue.red},${firstValue.green},${firstValue.blue},${firstValue.alpha})`;\n }\n\n throw new PolishedError(7);\n}\n\nexport function rgb(value: RgbColor | number, green?: number, blue?: number): string {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(`#${toHex(value)}${toHex(green)}${toHex(blue)}`);\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(`#${toHex(value.red)}${toHex(value.green)}${toHex(value.blue)}`);\n }\n\n throw new PolishedError(6);\n}\n\nexport function parseToRgb(color: string): RgbColor | RgbaColor {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n const normalizedColor = nameToHex(color);\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(`${normalizedColor[1]}${normalizedColor[2]}`, 16),\n green: parseInt(`${normalizedColor[3]}${normalizedColor[4]}`, 16),\n blue: parseInt(`${normalizedColor[5]}${normalizedColor[6]}`, 16)\n };\n }\n if (normalizedColor.match(hexRgbaRegex)) {\n const alpha = parseFloat((parseInt(`${normalizedColor[7]}${normalizedColor[8]}`, 16) / 255).toFixed(2));\n return {\n red: parseInt(`${normalizedColor[1]}${normalizedColor[2]}`, 16),\n green: parseInt(`${normalizedColor[3]}${normalizedColor[4]}`, 16),\n blue: parseInt(`${normalizedColor[5]}${normalizedColor[6]}`, 16),\n alpha\n };\n }\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(`${normalizedColor[1]}${normalizedColor[1]}`, 16),\n green: parseInt(`${normalizedColor[2]}${normalizedColor[2]}`, 16),\n blue: parseInt(`${normalizedColor[3]}${normalizedColor[3]}`, 16)\n };\n }\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n const alpha = parseFloat((parseInt(`${normalizedColor[4]}${normalizedColor[4]}`, 16) / 255).toFixed(2));\n return {\n red: parseInt(`${normalizedColor[1]}${normalizedColor[1]}`, 16),\n green: parseInt(`${normalizedColor[2]}${normalizedColor[2]}`, 16),\n blue: parseInt(`${normalizedColor[3]}${normalizedColor[3]}`, 16),\n alpha\n };\n }\n const rgbMatched = rgbRegex.exec(normalizedColor);\n if (rgbMatched) {\n return {\n red: parseInt(`${rgbMatched[1]}`, 10),\n green: parseInt(`${rgbMatched[2]}`, 10),\n blue: parseInt(`${rgbMatched[3]}`, 10)\n };\n }\n const rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n if (rgbaMatched) {\n return {\n red: parseInt(`${rgbaMatched[1]}`, 10),\n green: parseInt(`${rgbaMatched[2]}`, 10),\n blue: parseInt(`${rgbaMatched[3]}`, 10),\n alpha:\n parseFloat(`${rgbaMatched[4]}`) > 1\n ? parseFloat(`${rgbaMatched[4]}`) / 100\n : parseFloat(`${rgbaMatched[4]}`)\n };\n }\n const hslMatched = hslRegex.exec(normalizedColor);\n if (hslMatched) {\n const hue = parseInt(`${hslMatched[1]}`, 10);\n const saturation = parseInt(`${hslMatched[2]}`, 10) / 100;\n const lightness = parseInt(`${hslMatched[3]}`, 10) / 100;\n const rgbColorString = `rgb(${hslToRgb(hue, saturation, lightness)})`;\n const hslRgbMatched = rgbRegex.exec(rgbColorString);\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n return {\n red: parseInt(`${hslRgbMatched[1]}`, 10),\n green: parseInt(`${hslRgbMatched[2]}`, 10),\n blue: parseInt(`${hslRgbMatched[3]}`, 10)\n };\n }\n const hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n if (hslaMatched) {\n const hue = parseInt(`${hslaMatched[1]}`, 10);\n const saturation = parseInt(`${hslaMatched[2]}`, 10) / 100;\n const lightness = parseInt(`${hslaMatched[3]}`, 10) / 100;\n const rgbColorString = `rgb(${hslToRgb(hue, saturation, lightness)})`;\n const hslRgbMatched = rgbRegex.exec(rgbColorString);\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n return {\n red: parseInt(`${hslRgbMatched[1]}`, 10),\n green: parseInt(`${hslRgbMatched[2]}`, 10),\n blue: parseInt(`${hslRgbMatched[3]}`, 10),\n alpha:\n parseFloat(`${hslaMatched[4]}`) > 1\n ? parseFloat(`${hslaMatched[4]}`) / 100\n : parseFloat(`${hslaMatched[4]}`)\n };\n }\n throw new PolishedError(5);\n}\n","import { rgba } from '../../library/polished';\nimport tokens from './__generated__/tokens.json' assert { type: 'json' };\n\nexport const semantic = {\n content: {\n primary: tokens.colors.base.greys.tone900,\n secondary: tokens.colors.base.greys.tone600,\n error: tokens.colors.base.error.tone500,\n success: tokens.colors.base.success.tone500,\n information: tokens.colors.base.information.tone500,\n warning: tokens.colors.base.warning.tone500\n },\n background: {\n primary: tokens.colors.base.greys.tone000,\n secondary: tokens.colors.base.greys.tone100,\n loyalty: tokens.colors.laredoute.calmBlue.tone500,\n information: tokens.colors.base.information.tone100,\n warning: tokens.colors.base.warning.tone100,\n error: tokens.colors.base.error.tone100,\n success: tokens.colors.base.success.tone100\n },\n\n action: {\n background: {\n primary: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.greys.tone800,\n active: tokens.colors.base.greys.tone600,\n disabled: rgba(tokens.colors.base.greys.tone900, 0.6),\n reversed: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone100,\n active: tokens.colors.base.greys.tone300,\n disabled: rgba(tokens.colors.base.greys.tone000, 0.6)\n }\n },\n secondary: {\n default: 'transparent',\n hover: rgba(tokens.colors.base.greys.tone900, 0.2),\n active: rgba(tokens.colors.base.greys.tone900, 0.6),\n disabled: 'transparent',\n reversed: {\n default: 'transparent',\n hover: rgba(tokens.colors.base.greys.tone000, 0.2),\n active: rgba(tokens.colors.base.greys.tone000, 0.6),\n disabled: 'transparent'\n }\n },\n tertiary: {\n default: rgba(tokens.colors.base.greys.tone900, 0.1),\n hover: rgba(tokens.colors.base.greys.tone900, 0.2),\n active: rgba(tokens.colors.base.greys.tone900, 0.6),\n disabled: rgba(tokens.colors.base.greys.tone900, 0.1),\n reversed: {\n default: rgba(tokens.colors.base.greys.tone000, 0.2),\n hover: rgba(tokens.colors.base.greys.tone000, 0.4),\n active: rgba(tokens.colors.base.greys.tone000, 0.8),\n disabled: rgba(tokens.colors.base.greys.tone000, 0.2)\n }\n }\n },\n content: {\n primary: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone000,\n active: tokens.colors.base.greys.tone000,\n disabled: tokens.colors.base.greys.tone000,\n reversed: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone900,\n disabled: tokens.colors.base.greys.tone900\n }\n },\n secondary: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone000,\n disabled: rgba(tokens.colors.base.greys.tone900, 0.6),\n reversed: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone000,\n active: tokens.colors.base.greys.tone900,\n disabled: rgba(tokens.colors.base.greys.tone000, 0.6)\n }\n },\n tertiary: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone000,\n disabled: rgba(tokens.colors.base.greys.tone900, 0.6),\n reversed: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone000,\n active: tokens.colors.base.greys.tone900,\n disabled: rgba(tokens.colors.base.greys.tone000, 0.6)\n }\n },\n link: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.coral.tone500,\n active: tokens.colors.base.coral.tone600,\n disabled: tokens.colors.base.greys.tone500,\n reversed: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone900,\n disabled: tokens.colors.base.greys.tone500\n }\n }\n },\n border: {\n secondary: {\n default: tokens.colors.base.greys.tone900,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone900,\n disabled: rgba(tokens.colors.base.greys.tone900, 0.6),\n reversed: {\n default: tokens.colors.base.greys.tone000,\n hover: tokens.colors.base.greys.tone000,\n active: tokens.colors.base.greys.tone000,\n disabled: rgba(tokens.colors.base.greys.tone000, 0.6)\n }\n }\n }\n },\n fields: {\n content: {\n default: tokens.colors.base.greys.tone900,\n disabled: tokens.colors.base.greys.tone700,\n hover: tokens.colors.base.greys.tone900,\n active: tokens.colors.base.greys.tone900,\n error: tokens.colors.base.error.tone900,\n success: tokens.colors.base.success.tone900\n },\n border: {\n default: tokens.colors.base.greys.tone400,\n disabled: tokens.colors.base.greys.tone500,\n hover: tokens.colors.base.greys.tone700,\n active: tokens.colors.base.greys.tone900,\n error: tokens.colors.base.error.tone500,\n success: tokens.colors.base.success.tone500\n },\n background: {\n disabled: tokens.colors.base.greys.tone100\n }\n },\n dimmer: {\n white: rgba(tokens.colors.base.greys.tone000, 0.85),\n black: rgba(tokens.colors.base.greys.tone900, 0.5)\n },\n focus: tokens.colors.base.information.tone500\n};\n\nexport const colors = {\n ...tokens.colors,\n base: {\n ...tokens.colors.base,\n black: tokens.colors.base.greys.tone900,\n white: tokens.colors.base.greys.tone000\n },\n semantic\n};\n","import { rem } from '../../library/polished';\n\nconst defaults = {\n radius: rem('8px')\n};\n\nexport { defaults };\n","import { type DevicesModel } from '../../types/DeviceModel';\n\nexport const devices: DevicesModel = {\n mobile: { min: 0, max: 767 },\n tablet: { min: 768, max: 991 },\n laptop: { min: 992, max: 1199 },\n computer: { min: 1200, max: 1359 },\n widescreen: { min: 1360 }\n};\n","import { rem } from '../../library/polished';\n\nconst SPACING_BASE = 8;\nexport const spacing = (amount: number) => rem(`${amount * SPACING_BASE}px`);\n","// const fonts = {\n// defaultRegular: {\n// fontFamily: 'Poppins, Arial, sans-serif',\n// fontWeight: 400\n// },\n// defaultBolder: {\n// fontFamily: 'Poppins, Arial, sans-serif',\n// fontWeight: 600\n// },\n// creative: {\n// fontFamily: \"'Barlow Condensed', Arial, sans-serif\",\n// fontWeight: 600\n// },\n// creativeAlternative: {\n// fontFamily: \"'Roboto Condensed', Arial, sans-serif\",\n// fontWeight: 700\n// },\n// alternativeRegular: {\n// fontFamily: \"'Source Sans Pro', Arial, sans-serif\",\n// fontWeight: 400\n// },\n// alternativeBolder: {\n// fontFamily: \"'Source Sans Pro', Arial, sans-serif\",\n// fontWeight: 600\n// }\n// };\n\nexport const fontWeights = {\n regular: 400,\n bolder: 600\n};\n\nexport const letterSpacings = {\n none: '0px',\n lg: '0.04em',\n md: '0.02em',\n sm: '0.01em'\n};\n\nexport const fontSizes = {\n desktop: {\n title: {\n sm: '31px',\n md: '39px',\n lg: '49px',\n xs: '25px',\n xl: '61px',\n spe: {\n sm: '35px',\n md: '44px',\n lg: '56px',\n xs: '28px',\n xl: '70px'\n }\n },\n body: {\n lg: '20px',\n sm: '14px',\n xs: '13px',\n md: '16px'\n }\n },\n mobile: {\n title: {\n sm: '20px',\n md: '23px',\n lg: '26px',\n xs: '18px',\n xl: '30px',\n spe: {\n sm: '23px',\n md: '26px',\n lg: '30px',\n xs: '20px',\n xl: '34px'\n }\n },\n body: {\n lg: '16px',\n sm: '12px',\n xs: '10px',\n md: '14px'\n }\n },\n tablet: {\n title: {\n sm: '26px',\n md: '30px',\n lg: '38px',\n xs: '22px',\n xl: '45px',\n spe: {\n sm: '30px',\n md: '34px',\n lg: '44px',\n xs: '25px',\n xl: '52px'\n }\n },\n body: {\n lg: '18px',\n sm: '13px',\n xs: '12px',\n md: '15px'\n }\n }\n};\n\nexport const fontFamilies = {\n poppins: '\"Poppins\", Arial, sans-serif',\n barlow: '\"Barlow Condensed\", Arial, sans-serif'\n};\n\nexport const lineHeights = {\n desktop: {\n body: {\n lg: '28px',\n md: '24px',\n sm: '20px',\n xs: '16px'\n },\n title: {\n lg: '76px',\n md: '60px',\n sm: '48px',\n xs: '40px',\n xl: '92px'\n }\n },\n tablet: {\n body: {\n lg: '28px',\n md: '20px',\n sm: '16px',\n xs: '12px'\n },\n title: {\n lg: '52px',\n md: '40px',\n sm: '36px',\n xs: '32px',\n xl: '60px'\n }\n },\n mobile: {\n body: {\n lg: '24px',\n md: '20px',\n sm: '16px',\n xs: '12px'\n },\n title: {\n lg: '36px',\n md: '32px',\n sm: '28px',\n xs: '24px',\n xl: '40px'\n }\n }\n};\n\nexport const textStyles = {\n 'body.lg.regUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.lg\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.lg\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.lg\n }\n },\n 'body.lg.semiUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.lg\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.lg\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.lg,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.lg\n }\n },\n 'body.lg.semi': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.lg,\n lineHeight: lineHeights.tablet.body.lg\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.lg,\n lineHeight: lineHeights.mobile.body.lg\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.lg,\n lineHeight: lineHeights.desktop.body.lg\n }\n },\n 'body.lg.semiUnder': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.lg,\n lineHeight: lineHeights.tablet.body.lg,\n textDecoration: 'underline'\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.lg,\n lineHeight: lineHeights.mobile.body.lg,\n textDecoration: 'underline'\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.lg,\n lineHeight: lineHeights.desktop.body.lg,\n textDecoration: 'underline'\n }\n },\n 'body.lg.reg': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.lg,\n lineHeight: lineHeights.tablet.body.lg\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.lg,\n lineHeight: lineHeights.mobile.body.lg\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.lg,\n lineHeight: lineHeights.desktop.body.lg\n }\n },\n 'body.xs.regUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.xs\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.xs\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.xs\n }\n },\n 'body.xs.semiUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.xs\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.xs\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.xs,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.xs\n }\n },\n\n 'body.xs.semi': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.xs,\n lineHeight: lineHeights.tablet.body.xs\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.xs,\n lineHeight: lineHeights.mobile.body.xs\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.xs,\n lineHeight: lineHeights.desktop.body.xs\n }\n },\n 'body.xs.semiUnder': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.xs,\n lineHeight: lineHeights.tablet.body.xs,\n textDecoration: 'underline'\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.xs,\n lineHeight: lineHeights.mobile.body.xs,\n textDecoration: 'underline'\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.xs,\n lineHeight: lineHeights.desktop.body.xs,\n textDecoration: 'underline'\n }\n },\n 'body.xs.reg': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.xs,\n lineHeight: lineHeights.tablet.body.xs\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.xs,\n lineHeight: lineHeights.mobile.body.xs\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.xs,\n lineHeight: lineHeights.desktop.body.xs\n }\n },\n 'body.sm.regUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.sm\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.sm\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.sm\n }\n },\n 'body.sm.semiUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.sm\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.sm\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.sm,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.sm\n }\n },\n 'body.sm.semi': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.sm,\n lineHeight: lineHeights.tablet.body.sm\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.sm,\n lineHeight: lineHeights.mobile.body.sm\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.sm,\n lineHeight: lineHeights.desktop.body.sm\n }\n },\n 'body.sm.semiUnder': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.sm,\n lineHeight: lineHeights.tablet.body.sm,\n textDecoration: 'underline'\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.sm,\n lineHeight: lineHeights.mobile.body.sm,\n textDecoration: 'underline'\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.sm,\n lineHeight: lineHeights.desktop.body.sm,\n textDecoration: 'underline'\n }\n },\n 'body.sm.reg': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.sm,\n lineHeight: lineHeights.tablet.body.sm\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.sm,\n lineHeight: lineHeights.mobile.body.sm\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.sm,\n lineHeight: lineHeights.desktop.body.sm\n }\n },\n 'body.md.regUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.md\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.md\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.md\n }\n },\n 'body.md.semiUpper': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.tablet.body.md\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.mobile.body.md\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.md,\n textTransform: 'uppercase',\n lineHeight: lineHeights.desktop.body.md\n }\n },\n 'body.md.semi': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.md,\n lineHeight: lineHeights.tablet.body.md\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.md,\n lineHeight: lineHeights.mobile.body.md\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.md,\n lineHeight: lineHeights.desktop.body.md\n }\n },\n 'body.md.semiUnder': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.body.md,\n lineHeight: lineHeights.tablet.body.md,\n textDecoration: 'underline'\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.body.md,\n lineHeight: lineHeights.mobile.body.md,\n textDecoration: 'underline'\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.body.md,\n lineHeight: lineHeights.desktop.body.md,\n textDecoration: 'underline'\n }\n },\n 'body.md.reg': {\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.tablet.body.md,\n lineHeight: lineHeights.tablet.body.md\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.mobile.body.md,\n lineHeight: lineHeights.mobile.body.md\n },\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.regular,\n fontSize: fontSizes.desktop.body.md,\n lineHeight: lineHeights.desktop.body.md\n }\n },\n 'title.md.default': {\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.md,\n lineHeight: lineHeights.desktop.title.md\n },\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.md,\n lineHeight: lineHeights.tablet.title.md\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.md,\n lineHeight: lineHeights.mobile.title.md\n }\n },\n 'title.md.styled': {\n desktop: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.spe.md,\n lineHeight: lineHeights.desktop.title.md,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n tablet: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.spe.md,\n lineHeight: lineHeights.tablet.title.md,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n mobile: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.spe.md,\n lineHeight: lineHeights.mobile.title.md,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n }\n },\n 'title.xs.default': {\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.xs,\n lineHeight: lineHeights.desktop.title.xs\n },\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.xs,\n lineHeight: lineHeights.tablet.title.xs\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.xs,\n lineHeight: lineHeights.mobile.title.xs\n }\n },\n 'title.xs.styled': {\n desktop: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.spe.xs,\n lineHeight: lineHeights.desktop.title.xs,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n tablet: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.spe.xs,\n lineHeight: lineHeights.tablet.title.xs,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n mobile: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.spe.xs,\n lineHeight: lineHeights.mobile.title.xs,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n }\n },\n 'title.xl.default': {\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.xl,\n lineHeight: lineHeights.desktop.title.xl\n },\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.xl,\n lineHeight: lineHeights.tablet.title.xl\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.xl,\n lineHeight: lineHeights.mobile.title.xl\n }\n },\n 'title.xl.styled': {\n desktop: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.spe.xl,\n lineHeight: lineHeights.desktop.title.xl,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n tablet: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.spe.xl,\n lineHeight: lineHeights.tablet.title.xl,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n mobile: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.spe.xl,\n lineHeight: lineHeights.mobile.title.xl,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n }\n },\n 'title.lg.default': {\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.lg,\n lineHeight: lineHeights.desktop.title.lg\n },\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.lg,\n lineHeight: lineHeights.tablet.title.lg\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.lg,\n lineHeight: lineHeights.mobile.title.lg\n }\n },\n 'title.lg.styled': {\n desktop: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.spe.lg,\n lineHeight: lineHeights.desktop.title.lg,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n tablet: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.spe.lg,\n lineHeight: lineHeights.tablet.title.lg,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n mobile: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.spe.lg,\n lineHeight: lineHeights.mobile.title.lg,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n }\n },\n 'title.sm.default': {\n desktop: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.sm,\n lineHeight: lineHeights.desktop.title.sm\n },\n tablet: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.sm,\n lineHeight: lineHeights.tablet.title.sm\n },\n mobile: {\n fontFamily: fontFamilies.poppins,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.sm,\n lineHeight: lineHeights.mobile.title.sm\n }\n },\n 'title.sm.styled': {\n desktop: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.desktop.title.spe.sm,\n lineHeight: lineHeights.desktop.title.sm,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n tablet: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.tablet.title.spe.sm,\n lineHeight: lineHeights.tablet.title.sm,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n },\n mobile: {\n fontFamily: fontFamilies.barlow,\n fontWeight: fontWeights.bolder,\n fontSize: fontSizes.mobile.title.spe.sm,\n lineHeight: lineHeights.mobile.title.sm,\n letterSpacing: letterSpacings.md,\n textTransform: 'uppercase'\n }\n }\n};\n","import { colors } from './colors';\nimport { defaults } from './defaults';\nimport { devices } from './devices';\nimport { spacing } from './spaces';\nimport * as typography from './typography';\n\nconst theme = {\n name: 'theme-v2',\n colors,\n defaults,\n spacing,\n devices,\n ...typography\n};\n\nexport { theme };\n","import { theme as themev2 } from './theme-v2';\n\nconst currentTheme = themev2;\n\nexport { currentTheme as theme };\n","import { css, unsafeCSS } from 'lit';\nimport { theme } from '@atlas/shared/client/ui/theming';\n\nexport const pillStyle = css`\n .sr-only {\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n -webkit-clip-path: inset(50%) !important;\n clip-path: inset(50%) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n }\n :host {\n --font-family: var(--lr-poppins);\n --font-size: var(--lr-text-14);\n --font-weight: var(--lr-font-600);\n --background-color: var(--lr-greys-900);\n --color: var(--lr-greys-000);\n --padding: var(--lr-py-10) var(--lr-px-16);\n --media-size: '${unsafeCSS(theme.devices.mobile.max)} px';\n --border-color: transparent;\n --border-size: 1px;\n font-family: var(--font-family);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n\n label {\n background-color: var(--background-color);\n display: inline-block;\n padding: var(--padding);\n border: var(--border-size) solid var(--border-color);\n border-radius: 20px;\n transition: all 0.4s ease;\n display: inline-flex;\n cursor: pointer;\n &[disabled] {\n cursor: not-allowed;\n }\n &[checked] {\n color: 'white';\n }\n @media (min-width: var(--media-size)) {\n padding: var(--lr-pill-padding-mobile);\n }\n }\n\n span {\n padding: var(--lr-pill-label-padding);\n background: var(--lr-button-primary-background);\n border-radius: 20px;\n color: var(--color);\n &:hover {\n background: var(--lr-pill-background-hover);\n }\n }\n ::slotted(img) {\n width: 1rem;\n }\n }\n\n :host::part(label-text) {\n display: inline-flex;\n align-items: stretch;\n gap: 0.5rem;\n }\n\n :host([variant='suggestion']) {\n --border-size: 2px;\n --border-color: #e4e7ec;\n --font-size: var(--lr-text-12);\n --padding: var(--lr-py-8) var(--lr-px-12);\n --color: var(--lr-greys-000);\n label {\n --background-color: var(--lr-greys-000);\n &[checked] {\n --border-size: 0;\n --background-color: var(--lr-greys-900);\n span {\n --color: var(--lr-greys-000);\n }\n }\n span {\n --color: var(--lr-greys-900);\n }\n }\n }\n\n :host([iconPosition='right'])::part(label-text) {\n display: inline-flex;\n align-items: stretch;\n flex-direction: row-reverse;\n gap: 0.5rem;\n }\n`;\n","import { theme } from '@atlas/shared/client/ui/theming';\nimport { unsafeCSS, css } from 'lit';\n\nexport const superElementStyle = css`\n :host {\n /* FONTS */\n --lr-poppins: ${unsafeCSS(theme.fontFamilies.poppins)};\n /* PRIMARY COLORS */\n --lr-background-primary: ${unsafeCSS(theme.colors.semantic.action.background.primary.default)};\n --lr-background-primary-hover: ${unsafeCSS(theme.colors.semantic.action.background.primary.hover)};\n --lr-background-primary-active: ${unsafeCSS(theme.colors.semantic.action.background.primary.active)};\n --lr-background-primary-disabled: ${unsafeCSS(theme.colors.semantic.action.background.primary.disabled)};\n --lr-background-primary-reversed: ${unsafeCSS(\n theme.colors.semantic.action.background.primary.reversed.default\n )};\n --lr-background-primary-reversed-hover: ${unsafeCSS(\n theme.colors.semantic.action.background.primary.reversed.hover\n )};\n --lr-background-primary-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.background.primary.reversed.active\n )};\n --lr-background-primary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.background.primary.reversed.disabled\n )};\n --lr-color-primary: ${unsafeCSS(theme.colors.semantic.action.content.primary.default)};\n --lr-color-primary-hover: ${unsafeCSS(theme.colors.semantic.action.content.primary.hover)};\n --lr-color-primary-active: ${unsafeCSS(theme.colors.semantic.action.content.primary.active)};\n --lr-color-primary-disabled: ${unsafeCSS(theme.colors.semantic.action.content.primary.disabled)};\n --lr-color-primary-reversed: ${unsafeCSS(theme.colors.semantic.action.content.primary.reversed.default)};\n --lr-color-primary-reversed-hover: ${unsafeCSS(theme.colors.semantic.action.content.primary.reversed.hover)};\n --lr-color-primary-reversed-active: ${unsafeCSS(theme.colors.semantic.action.content.primary.reversed.active)};\n --lr-color-primary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.content.primary.reversed.disabled\n )};\n /* SECONDARY COLORS */\n --lr-background-secondary: ${unsafeCSS(theme.colors.semantic.action.background.secondary.default)};\n --lr-background-secondary-hover: ${unsafeCSS(theme.colors.semantic.action.background.secondary.hover)};\n --lr-background-secondary-active: ${unsafeCSS(theme.colors.semantic.action.background.secondary.active)};\n --lr-background-secondary-disabled: ${unsafeCSS(theme.colors.semantic.action.background.secondary.disabled)};\n --lr-background-secondary-reversed: ${unsafeCSS(\n theme.colors.semantic.action.background.secondary.reversed.default\n )};\n --lr-background-secondary-reversed-hover: ${unsafeCSS(\n theme.colors.semantic.action.background.secondary.reversed.hover\n )};\n --lr-background-secondary-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.background.secondary.reversed.active\n )};\n --lr-background-secondary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.background.secondary.reversed.disabled\n )};\n --lr-color-secondary: ${unsafeCSS(theme.colors.semantic.action.content.secondary.default)};\n --lr-color-secondary-hover: ${unsafeCSS(theme.colors.semantic.action.content.secondary.hover)};\n --lr-color-secondary-active: ${unsafeCSS(theme.colors.semantic.action.content.secondary.active)};\n --lr-color-secondary-disabled: ${unsafeCSS(theme.colors.semantic.action.content.secondary.disabled)};\n --lr-color-secondary-reversed: ${unsafeCSS(theme.colors.semantic.action.content.secondary.reversed.default)};\n --lr-color-secondary-reversed-hover: ${unsafeCSS(\n theme.colors.semantic.action.content.secondary.reversed.hover\n )};\n --lr-color-secondary-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.content.secondary.reversed.active\n )};\n --lr-color-secondary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.content.secondary.reversed.disabled\n )};\n /* TERTIARY COLORS */\n --lr-background-tertiary: ${unsafeCSS(theme.colors.semantic.action.background.tertiary.default)};\n --lr-background-tertiary-hover: ${unsafeCSS(theme.colors.semantic.action.background.tertiary.hover)};\n --lr-background-tertiary-active: ${unsafeCSS(theme.colors.semantic.action.background.tertiary.active)};\n --lr-background-tertiary-disabled: ${unsafeCSS(theme.colors.semantic.action.background.tertiary.disabled)};\n --lr-background-tertiary-reversed: ${unsafeCSS(\n theme.colors.semantic.action.background.tertiary.reversed.default\n )};\n --lr-background-tertiary-reversed-hover: ${unsafeCSS(\n theme.colors.semantic.action.background.tertiary.reversed.hover\n )};\n --lr-background-tertiary-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.background.tertiary.reversed.active\n )};\n --lr-background-tertiary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.background.tertiary.reversed.disabled\n )};\n --lr-color-tertiary: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.default)};\n --lr-color-tertiary-hover: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.hover)};\n --lr-color-tertiary-active: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.active)};\n --lr-color-tertiary-disabled: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.disabled)};\n --lr-color-tertiary-reversed: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.reversed.default)};\n --lr-color-tertiary-reversed-hover: ${unsafeCSS(theme.colors.semantic.action.content.tertiary.reversed.hover)};\n --lr-color-tertiary-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.content.tertiary.reversed.active\n )};\n --lr-color-tertiary-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.content.tertiary.reversed.disabled\n )};\n /* LINK COLOR */\n --lr-color-link: ${unsafeCSS(theme.colors.semantic.action.content.link.default)};\n --lr-color-link-hover: ${unsafeCSS(theme.colors.semantic.action.content.link.hover)};\n --lr-color-link-active: ${unsafeCSS(theme.colors.semantic.action.content.link.active)};\n --lr-color-link-disabled: ${unsafeCSS(theme.colors.semantic.action.content.link.disabled)};\n --lr-color-link-reversed: ${unsafeCSS(theme.colors.semantic.action.content.link.reversed.default)};\n --lr-color-link-reversed-hover: ${unsafeCSS(theme.colors.semantic.action.content.link.reversed.hover)};\n --lr-color-link-reversed-active: ${unsafeCSS(theme.colors.semantic.action.content.link.reversed.active)};\n --lr-color-link-reversed-disabled: ${unsafeCSS(theme.colors.semantic.action.content.link.reversed.disabled)};\n /* SECONDARY BORDER */\n --lr-border-secondary-color: ${unsafeCSS(theme.colors.semantic.action.border.secondary.default)};\n --lr-border-secondary-color-hover: ${unsafeCSS(theme.colors.semantic.action.border.secondary.hover)};\n --lr-border-secondary-color-active: ${unsafeCSS(theme.colors.semantic.action.border.secondary.active)};\n --lr-border-secondary-color-disabled: ${unsafeCSS(theme.colors.semantic.action.border.secondary.disabled)};\n --lr-border-secondary-color-reversed: ${unsafeCSS(\n theme.colors.semantic.action.border.secondary.reversed.default\n )};\n --lr-border-secondary-color-reversed-hover: ${unsafeCSS(\n theme.colors.semantic.action.border.secondary.reversed.hover\n )};\n --lr-border-secondary-color-reversed-active: ${unsafeCSS(\n theme.colors.semantic.action.border.secondary.reversed.active\n )};\n --lr-border-secondary-color-reversed-disabled: ${unsafeCSS(\n theme.colors.semantic.action.border.secondary.reversed.disabled\n )};\n /* GREYS COLORS */\n --lr-greys-000: ${unsafeCSS(theme.colors.base.greys.tone000)};\n --lr-greys-100: ${unsafeCSS(theme.colors.base.greys.tone100)};\n --lr-greys-200: ${unsafeCSS(theme.colors.base.greys.tone200)};\n --lr-greys-300: ${unsafeCSS(theme.colors.base.greys.tone300)};\n --lr-greys-400: ${unsafeCSS(theme.colors.base.greys.tone400)};\n --lr-greys-500: ${unsafeCSS(theme.colors.base.greys.tone500)};\n --lr-greys-600: ${unsafeCSS(theme.colors.base.greys.tone600)};\n --lr-greys-700: ${unsafeCSS(theme.colors.base.greys.tone700)};\n --lr-greys-800: ${unsafeCSS(theme.colors.base.greys.tone800)};\n --lr-greys-900: ${unsafeCSS(theme.colors.base.greys.tone900)};\n /* PADDINGS SIZES VERTICAL */\n --lr-px-12: ${unsafeCSS(theme.spacing(1.5))}; /* 0.75rem 12px */\n --lr-px-14: ${unsafeCSS(theme.spacing(1.75))}; /* 0.875rem 14px */\n --lr-px-16: ${unsafeCSS(theme.spacing(2))}; /* 1rem 16px */\n --lr-px-18: ${unsafeCSS(theme.spacing(2.25))}; /* 1.125rem 18px */\n --lr-px-20: ${unsafeCSS(theme.spacing(2.5))}; /* 1.25rem 20px */\n --lr-px-26: ${unsafeCSS(theme.spacing(3.25))}; /* 1.625rem 16px */\n --lr-px-32: ${unsafeCSS(theme.spacing(4))}; /* 2rem 16px */\n /* PADDINGS SIZES HORIZONTAL */\n --lr-py-8: ${unsafeCSS(theme.spacing(1))}; /* 0.5rem 8px */\n --lr-py-10: ${unsafeCSS(theme.spacing(1.25))}; /* 0.625rem 10px */\n --lr-py-12: ${unsafeCSS(theme.spacing(1.5))}; /* 0.75rem 12px */\n --lr-py-14: ${unsafeCSS(theme.spacing(1.75))}; /* 0.875rem 14px */\n --lr-py-16: ${unsafeCSS(theme.spacing(2))}; /* 1rem 16px */\n --lr-py-18: ${unsafeCSS(theme.spacing(2.25))}; /* 1.125rem 18px */\n --lr-py-20: ${unsafeCSS(theme.spacing(2.5))}; /* 1.25rem 20px */\n --lr-padding-small: var(--lr-py-12) var(--lr-px-20);\n --lr-padding-medium: var(--lr-py-14) var(--lr-px-26);\n --lr-padding-big: var(--lr-py-14) var(--lr-px-32);\n /* FONTS SIZES */\n --lr-text-12: ${unsafeCSS(theme.spacing(1.5))}; /* 0.75rem 12px */\n --lr-text-14: ${unsafeCSS(theme.spacing(1.75))}; /* 0.875rem 14px */\n --lr-text-16: ${unsafeCSS(theme.spacing(2))}; /* 1rem 16px */\n --lr-text-18: ${unsafeCSS(theme.spacing(2.25))}; /* 1.125rem 18px */\n /* FONTS WEIGHT */\n --lr-font-100: 100;\n --lr-font-200: 200;\n --lr-font-300: 300;\n --lr-font-400: 400;\n --lr-font-500: 500;\n --lr-font-600: 600;\n --lr-font-700: 700;\n --lr-font-800: 800;\n --lr-font-900: 900;\n /* BORDERS RADIUS */\n --lr-border-radius: ${unsafeCSS(theme.defaults.radius)};\n }\n`;\n","import { superElementStyle } from './SuperElement.styles';\nimport { html, LitElement, css, type CSSResultGroup } from 'lit';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('super-element')\nexport abstract class SuperElement extends LitElement {\n static styles = css`\n ${superElementStyle}\n ` as CSSResultGroup;\n}\n","import { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { pillStyle } from './Pill.styles';\nimport { SuperElement } from '../super/SuperElement';\n\nexport type PillVariant = 'on-dark' | 'on-dark-transparent' | 'on-light' | 'on-light-transparent' | 'suggestion';\nexport type PillIconPosition = 'left' | 'right';\nexport type PillSize = 'small' | 'medium' | 'large';\n\n@customElement('lr-pill')\nexport class Pill extends SuperElement {\n @property({ type: String })\n label: string = '';\n\n @property({ type: String })\n size: PillSize = 'small';\n\n @property({ type: String })\n icon?: string;\n\n @property({ type: String })\n iconPosition: PillIconPosition = 'left';\n\n @property({ type: Boolean })\n disabled: boolean = false;\n\n @property({ type: String })\n variant: PillVariant = 'on-dark';\n\n static styles = [SuperElement.styles, pillStyle];\n\n render() {\n return html`\n <label ?disabled=${this.disabled}>\n <input type=\"checkbox\" tabindex=\"-1\" hidden />\n <span class=\"sr-only\">${this.label}</span>\n <span part=\"label-text\" aria-label=${this.label}>\n <slot name=\"icon\"></slot>\n ${this.label}\n </span>\n </label>\n `;\n }\n}\n","import { css } from 'lit';\n\nexport const buttonStyle = css`\n :host .button {\n --font-family: var(--lr-poppins);\n --font-size: var(--lr-text-14);\n --background-color: var(--lr-background-primary);\n --color: var(--lr-color-primary);\n --padding: var(--lr-padding-medium);\n --border-color: var(--lr-border-primary-color);\n --border-radius: var(--lr-border-radius);\n font-family: var(--font-family);\n background-color: var(--background-color);\n color: var(--color);\n padding: var(--padding);\n font-size: var(--font-size);\n justify-content: center;\n display: inline-flex;\n align-items: center;\n text-align: center;\n cursor: pointer;\n overflow: hidden;\n transition: color 0.2s, background-color 0.2s, border-color 0.2s;\n z-index: 1;\n border: 0;\n text-decoration: none;\n vertical-align: middle;\n position: relative;\n font-weight: 600;\n border-radius: var(--border-radius);\n width: inherit;\n &[disabled] {\n cursor: not-allowed;\n }\n &:not([disabled]):active {\n box-shadow: none !important;\n }\n\n &[disabled] {\n --background-color: var(--lr-background-primary-disabled);\n --color: var(--lr-color-primary-disabled);\n }\n &:not([disabled]):hover {\n --color: var(--lr-color-primary-hover);\n --background-color: var(--lr-background-primary-hover);\n &::before {\n opacity: 1;\n }\n }\n &:not([disabled]):active {\n --background-color: var(--lr-background-primary-active);\n --color: var(--lr-color-primary-active);\n &::before {\n opacity: 0;\n }\n }\n }\n\n :host([variant='primary']) .button::before {\n position: absolute;\n content: '';\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n transition: opacity 0.2s ease-out;\n opacity: 0;\n }\n\n :host([reversed]) .button {\n --background-color: var(--lr-background-primary-reversed);\n --color: var(--lr-color-primary-reversed);\n &[disabled] {\n --background-color: var(--lr-background-primary-reversed-disabled);\n --color: var(--lr-color-primary-reversed-disabled);\n }\n &:not([disabled]):hover {\n --background-color: var(--lr-background-primary-reversed-hover);\n --color: var(--lr-color-primary-reversed-hover);\n }\n &:not([disabled]):active {\n --background-color: var(--lr-background-primary-reversed-active);\n --color: var(--lr-color-primary-reversed-active);\n }\n }\n\n :host([size='small']) .button {\n --padding: var(--lr-padding-small);\n --font-size: var(--lr-text-12);\n }\n :host([size='big']) .button {\n --padding: var(--lr-padding-big);\n --font-size: var(--lr-text-18);\n }\n\n :host([iconPosition='left']) .button {\n flex-direction: row;\n gap: 0.5rem;\n }\n :host([iconPosition='right']) .button {\n flex-direction: row-reverse;\n gap: 0.5rem;\n }\n\n :host([variant='secondary']) .button {\n --border-color: var(--lr-border-secondary-color);\n --background-color: var(--lr-background-secondary);\n --color: var(--lr-color-secondary);\n border: 2px solid var(--border-color);\n &[disabled] {\n --border-color: var(--lr-border-secondary-color-disabled);\n --background-color: var(--lr-background-secondary-disabled);\n --color: var(--lr-color-secondary-disabled);\n }\n &:not([disabled]):hover {\n --border-color: var(--lr-border-secondary-color-hover);\n --background-color: var(--lr-background-secondary-hover);\n --color: var(--lr-color-secondary-hover);\n }\n &:not([disabled]):active {\n --border-color: var(--lr-border-secondary-color-active);\n --background-color: var(--lr-background-secondary-active);\n --color: var(--lr-color-secondary-active);\n }\n }\n\n :host([variant='secondary'][reversed]) .button {\n --border-color: var(--lr-border-secondary-color-reversed);\n --background-color: var(--lr-background-secondary-reversed);\n --color: var(--lr-color-secondary-reversed);\n &[disabled] {\n --border-color: var(--lr-border-secondary-color-reversed-disabled);\n --background-color: var(--lr-background-secondary-reversed-disabled);\n --color: var(--lr-color-secondary-reversed-disabled);\n }\n &:not([disabled]):hover {\n --border-color: var(--lr-border-secondary-color-reversed-active);\n --background-color: var(--lr-background-secondary-reversed-active);\n --color: var(--lr-color-secondary-reversed-active);\n }\n &:not([disabled]):active {\n --border-color: var(--lr-border-secondary-color-reversed-active);\n --background-color: var(--lr-background-secondary-reversed-active);\n --color: var(--lr-color-secondary-reversed-active);\n }\n }\n\n :host([variant='tertiary']) .button {\n --background-color: var(--lr-background-tertiary);\n --color: var(--lr-color-tertiary);\n &[disabled] {\n --background-color: var(--lr-background-tertiary-disabled);\n --color: var(--lr-color-tertiary-disabled);\n }\n &:not([disabled]):hover {\n --background-color: var(--lr-background-tertiary-hover);\n --color: var(--lr-color-tertiary-hover);\n }\n &:not([disabled]):active {\n --background-color: var(--lr-background-tertiary-active);\n --color: var(--lr-color-tertiary-active);\n }\n }\n\n :host([variant='tertiary'][reversed]) .button {\n --background-color: var(--lr-background-tertiary-reversed);\n --color: var(--lr-color-tertiary-reversed);\n &:not([disabled]):hover {\n --background-color: var(--lr-background-tertiary-reversed-hover);\n --color: var(--lr-color-tertiary-reversed-hover);\n }\n &:not([disabled]):active {\n --background-color: var(--lr-background-tertiary-reversed-active);\n --color: var(--lr-color-tertiary-reversed-active);\n }\n }\n\n :host([variant='link']) .button {\n background-color: transparent;\n --color: var(--lr-color-link);\n padding: 0;\n &[disabled] {\n --color: var(--lr-color-link-disabled);\n }\n &:not([disabled]):hover {\n --color: var(--lr-color-link-hover);\n }\n &:not([disabled]):active {\n --color: var(--lr-color-link-active);\n }\n }\n\n :host([variant='link'][reversed]) .button {\n background-color: transparent;\n --color: var(--lr-color-link-reversed);\n &[disabled] {\n --color: var(--lr-color-link-reversed-disabled);\n }\n &:not([disabled]):hover {\n --color: var(--lr-color-link-reversed-hover);\n }\n &:not([disabled]):active {\n --color: var(--lr-color-link-reversed-active);\n }\n &:not([disabled]):focus-visible {\n outline-offset: 0px;\n }\n }\n\n :host ::slotted(img) {\n width: 1rem;\n }\n :host([variant='link']) ::slotted(img) {\n margin: 0;\n transform: scale(0.75);\n width: 2rem;\n }\n`;\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { buttonStyle } from './Button.styles';\nimport { html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { SuperElement } from '../super/SuperElement';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'tertiary-transparent' | 'link';\nexport type ButtonSize = 'big' | 'medium' | 'small';\nexport type ButtonIconPosition = 'left' | 'right';\nexport type ButtonType = 'submit' | 'button' | 'reset';\n\n@customElement('lr-button')\nexport class Button extends SuperElement {\n @property({ type: String })\n label: string = '';\n\n @property({ type: Boolean })\n disabled: boolean = false;\n\n @property({ type: String })\n variant: ButtonVariant = 'primary';\n\n @property({ type: String })\n size: ButtonSize = 'small';\n\n @property({ type: String })\n icon?: string;\n\n @property({ type: String })\n iconPosition: ButtonIconPosition = 'left';\n\n @property({ type: String })\n buttonType?: ButtonType = 'button';\n\n @property({ type: Boolean })\n resetStyle?: boolean;\n\n @property({ type: Boolean })\n reversed: boolean = false;\n\n static styles = [SuperElement.styles, buttonStyle];\n\n render() {\n const classes = classMap({\n button: this.buttonType === 'button'\n });\n return html`\n <button\n aria-label=\"${ifDefined(this.label)}\"\n aria-disabled=${this.disabled}\n ?disabled=${this.disabled}\n data-variant=${this.variant}\n class=${classes}\n id=\"chatbot-button\"\n part=\"button\"\n >\n <slot name=\"icon\"></slot> ${this.label}\n </button>\n `;\n }\n}\n","import { css, unsafeCSS } from 'lit';\nimport { type DeepChat } from 'deep-chat';\nimport { theme } from '@atlas/shared/client/ui/theming';\n\nexport const chatbotStyle = css`\n :host {\n --font-family: var(--lr-poppins);\n font-family: var(--font-family);\n }\n :host #chat-wrapper {\n position: relative;\n }\n #chat-wrapper[data-opened='true'] {\n display: block;\n font-family: var(--font-poppins);\n }\n #chat-wrapper[data-sticky='true'] {\n position: fixed;\n bottom: 0;\n right: 7%;\n z-index: 99999;\n width: 360px;\n }\n #chat-wrapper-menu {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n background-color: ${unsafeCSS(theme.colors.base.coral.tone300)};\n color: white;\n padding: 0.625rem 1rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n #chat-wrapper-menu-button-container {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n }\n #chat-wrapper-menu-title {\n font-size: 1.25rem;\n font-weight: 600;\n color: ${unsafeCSS(theme.colors.base.coral.tone900)};\n }\n .chat-wrapper-menu-button {\n border: none;\n background-color: transparent;\n cursor: pointer;\n display: contents;\n }\n #chat-minimized[data-minimized='true'] {\n position: fixed;\n bottom: 5%;\n right: 5%;\n z-index: 99999;\n background-color: ${unsafeCSS(theme.colors.base.coral.tone300)};\n border-radius: 16px;\n color: white;\n padding: 1rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n cursor: pointer;\n }\n #chat-minimized[data-minimized='false'] {\n position: fixed;\n bottom: 5%;\n right: 5%;\n z-index: 99999;\n background-color: ${unsafeCSS(theme.colors.base.coral.tone300)};\n border-radius: 16px;\n color: white;\n padding: 1rem;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n cursor: pointer;\n }\n #chat-minimized-icon {\n transform: scale(1.5);\n }\n #chat-minimized-text {\n color: ${unsafeCSS(theme.colors.base.coral.tone900)};\n font-family: var(--font-poppins);\n }\n p {\n margin: 0;\n font-size: 0.9rem;\n font-weight: 600;\n }\n #overlay {\n position: absolute;\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 2rem;\n background-color: #f9f9fb;\n z-index: 1;\n height: calc(100% - 6rem);\n p {\n font-size: 0.75rem;\n font-weight: 400;\n text-align: center;\n }\n div {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n width: fit-content;\n margin: 2rem auto;\n lr-button {\n width: 100%;\n }\n }\n }\n`;\n\nexport const DeepChatStyle: Partial<DeepChat> = {\n avatars: {\n ai: {\n src: new URL('../../icons/lr.svg', import.meta.url).href\n },\n user: {\n src: new URL('../../icons/user.svg', import.meta.url).href\n },\n lr: {\n src: new URL('../../icons/lr.svg', import.meta.url).href,\n styles: {\n avatar: {\n display: 'none'\n },\n container: {\n display: 'none',\n margin: '0'\n }\n }\n },\n default: {\n styles: {\n container: {\n backgroundColor: theme.colors.base.white,\n borderRadius: '50%',\n padding: theme.spacing(1),\n width: '20px',\n height: '20px',\n marginTop: '0'\n },\n avatar: {\n padding: '0',\n width: '20px',\n height: '20px'\n }\n }\n }\n },\n chatStyle: {\n width: '360px',\n fontFamily: theme.fontFamilies.poppins,\n border: 'none',\n backgroundColor: theme.colors.base.greys.tone100,\n maxWidth: '360px',\n height: '465px'\n },\n messageStyles: {\n default: {\n shared: {\n bubble: {\n backgroundColor: theme.colors.base.white,\n color: theme.colors.base.greys.tone900,\n fontSize: '0.75rem',\n padding: '0.625rem',\n fontFamily: theme.fontFamilies.poppins,\n lineHeight: '18px',\n maxWidth: 'calc(100% - 4rem)',\n width: '100%',\n marginTop: '0'\n },\n innerContainer: {\n alignItems: 'center'\n },\n outerContainer: {\n margin: `${theme.spacing(2)} 0`\n }\n },\n lr: {\n bubble: {\n background: theme.colors.base.coral.tone300,\n color: theme.colors.base.coral.tone900,\n padding: '0.625rem',\n fontSize: '0.75rem',\n borderBottomLeftRadius: '0.5rem',\n borderBottomRightRadius: '0.5rem',\n borderTopRightRadius: '0',\n borderTopLeftRadius: '0',\n border: '2px solid white',\n width: '100%',\n maxWidth: '100%'\n },\n outerContainer: {\n margin: '0'\n },\n innerContainer: {\n margin: '0',\n width: '100%'\n }\n }\n },\n loading: {\n bubble: {\n padding: '.6em .75em .6em 1.3em',\n width: '1em'\n }\n }\n },\n textInput: {\n characterLimit: 256,\n styles: {\n container: {\n border: '0',\n borderRadius: '0',\n margin: '0',\n display: 'flex',\n boxShadow: 'none',\n width: '90%'\n }\n }\n },\n submitButtonStyles: {\n submit: {\n svg: {\n content: `<svg width=\"18\" height=\"18\" viewBox=\"0 0 23 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.95622 0.777695L22.2495 11.1088C22.9779 11.4797 22.9779 12.5203 22.2495 12.8911L1.95622 23.2223C1.19182 23.6114 0.32436 22.9207 0.532399 22.0886L2.61818 13.7454L13.0909 12L2.61818 10.2545L0.532399 1.91139C0.32436 1.07924 1.19182 0.388542 1.95622 0.777695Z\" fill=\"#CDD2DA\"/>\n </svg>\n `,\n styles: {\n default: {\n width: '20px',\n margin: '0',\n padding: '0',\n position: 'relative',\n filter: 'brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)'\n }\n }\n },\n container: {\n default: {\n position: 'revert',\n width: 'auto',\n height: 'auto',\n marginBottom: '0',\n cursor: 'default'\n },\n hover: {\n background: 'none',\n cursor: 'pointer'\n }\n }\n },\n position: 'outside-right',\n loading: {\n svg: {\n content: `<svg width=\"18\" height=\"18\" viewBox=\"0 0 23 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.95622 0.777695L22.2495 11.1088C22.9779 11.4797 22.9779 12.5203 22.2495 12.8911L1.95622 23.2223C1.19182 23.6114 0.32436 22.9207 0.532399 22.0886L2.61818 13.7454L13.0909 12L2.61818 10.2545L0.532399 1.91139C0.32436 1.07924 1.19182 0.388542 1.95622 0.777695Z\" fill=\"#CDD2DA\"/>\n </svg>\n `,\n styles: {\n default: {\n filter: 'none'\n }\n }\n }\n }\n },\n inputAreaStyle: {\n background: 'white',\n padding: '0.5rem 0.75em',\n justifyContent: 'space-between',\n alignItems: 'center',\n fontSize: '0.75rem'\n },\n htmlClassUtilities: {\n 'chatbot-button-container': {\n styles: {\n default: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5rem'\n }\n }\n }\n }\n};\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export const SUPPORTED_COUNTRIES = ['fr', 'pt', 'nl', 'be', 'lu', 'de', 'ch', 'es', 'it', 'uk'] as const;\nexport type AppCountry = (typeof SUPPORTED_COUNTRIES)[number];\n","import { type AppCountry } from './AppCountry';\n\nexport const SUPPORTED_LANGUAGES = {\n fr: 'fr-FR' as const,\n pt: 'pt-PT' as const,\n nl: 'nl-NL' as const,\n be: ['fr-BE', 'nl-BE'] as const,\n lu: 'fr-BE' as const,\n ch: ['fr-CH', 'de-CH', 'it-CH', 'en-CH'] as const,\n de: 'de-DE' as const,\n es: 'es-ES' as const,\n it: 'it-IT' as const,\n uk: 'en-GB' as const\n} satisfies Record<AppCountry, Readonly<string | string[]>>;\n\nexport type SupportedLanguages = typeof SUPPORTED_LANGUAGES;\n\nexport type AppLanguage = MergeAppLanguage<(typeof SUPPORTED_LANGUAGES)[keyof typeof SUPPORTED_LANGUAGES]>;\n\n// Typescript utils to merge all language keys from record above\ntype FlattenTuple<T> = T extends readonly [infer A, infer B] ? A | B : T;\ntype MergeAppLanguage<T> = T extends string\n ? T\n : T extends readonly [infer A, ...infer Rest]\n ? FlattenTuple<A> | MergeAppLanguage<Rest>\n : never;\n","import { type AppLanguage } from '../models';\nimport type { TranslationSchema } from '../models/TranslationSchema';\n\nexport abstract class BaseFallbacksLoader<Language extends string, Schema extends object> {\n abstract getTranslationsMaps(): Record<Language, () => Promise<Schema>>;\n\n async getLanguageFallbacks(languageCode: Language, scopes?: string[]): Promise<Schema> {\n const translationsMap = this.getTranslationsMaps();\n if (translationsMap[languageCode]) {\n const module = await translationsMap[languageCode]();\n return module;\n } else {\n throw new Error(`Translations fallbacks for ${languageCode} not found.`);\n }\n }\n}\n\nexport class FallbacksLoader extends BaseFallbacksLoader<AppLanguage, TranslationSchema> {\n override getTranslationsMaps(): Record<AppLanguage, () => Promise<TranslationSchema>> {\n return {\n 'fr-FR': async () => (await import('../fallbacks/fr/fr-FR')).translations,\n 'pt-PT': async () => (await import('../fallbacks/pt/pt-PT')).translations,\n 'nl-NL': async () => (await import('../fallbacks/nl/nl-NL')).translations,\n 'fr-BE': async () => (await import('../fallbacks/be/fr-BE')).translations,\n 'nl-BE': async () => (await import('../fallbacks/be/nl-BE')).translations,\n 'es-ES': async () => (await import('../fallbacks/es/es-ES')).translations,\n 'it-IT': async () => (await import('../fallbacks/it/it-IT')).translations,\n 'de-DE': async () => (await import('../fallbacks/de/de-DE')).translations,\n 'fr-CH': async () => (await import('../fallbacks/ch/fr-CH')).translations,\n 'it-CH': async () => (await import('../fallbacks/ch/it-CH')).translations,\n 'de-CH': async () => (await import('../fallbacks/ch/de-CH')).translations,\n 'en-CH': async () => (await import('../fallbacks/ch/en-CH')).translations,\n 'en-GB': async () => (await import('../fallbacks/fr/fr-FR')).translations\n };\n }\n}\n","import { isString } from 'lodash-es';\n\nconst regex = /((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\\*)(;q=[0-1](\\.[0-9]+)?)?)*/g;\n\ntype ParseResult = {\n code: string;\n region: string;\n quality: number;\n script: string | null;\n};\n\nexport function parse(al: string) {\n const strings = (al || '').match(regex);\n return (\n (strings || [])\n .map(function (m): ParseResult | undefined {\n if (!m) {\n return;\n }\n\n const bits = m.split(';');\n const ietf = bits[0].split('-');\n const hasScript = ietf.length === 3;\n\n return {\n code: ietf[0],\n script: hasScript ? ietf[1] : null,\n region: hasScript ? ietf[2] : ietf[1],\n quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0\n };\n })\n .filter((r) => !!r) as ParseResult[]\n ).sort((a: ParseResult, b: ParseResult) => {\n return b.quality - a.quality;\n });\n}\n\nexport function pick(supportedLanguages: string[], al: string, options: { loose?: boolean } = {}) {\n options = options || {};\n let acceptLanguage: ReturnType<typeof parse> = [];\n if (!supportedLanguages?.length || !al) {\n return null;\n }\n\n if (isString(al)) {\n acceptLanguage = parse(al);\n }\n\n const supported = supportedLanguages.map(function (support) {\n const bits = support.split('-');\n const hasScript = bits.length === 3;\n\n return {\n code: bits[0],\n script: hasScript ? bits[1] : null,\n region: hasScript ? bits[2] : bits[1]\n };\n });\n\n for (const lang of acceptLanguage) {\n const langCode = lang.code.toLowerCase();\n const langRegion = lang.region ? lang.region.toLowerCase() : lang.region;\n const langScript = lang.script ? lang.script.toLowerCase() : lang.script;\n for (let j = 0; j < supported.length; j++) {\n const supportedCode = supported[j].code.toLowerCase();\n const supportedScript = supported[j].script ? supported[j].script?.toLowerCase() : supported[j].script;\n const supportedRegion = supported[j].region ? supported[j].region.toLowerCase() : supported[j].region;\n if (\n langCode === supportedCode &&\n (options.loose || !langScript || langScript === supportedScript) &&\n (options.loose || !langRegion || langRegion === supportedRegion)\n ) {\n return supportedLanguages[j];\n }\n }\n }\n\n return null;\n}\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar __toString = Object.prototype.toString\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var dec = opt.decode || decode;\n\n var index = 0\n while (index < str.length) {\n var eqIdx = str.indexOf('=', index)\n\n // no more cookie pairs\n if (eqIdx === -1) {\n break\n }\n\n var endIdx = str.indexOf(';', index)\n\n if (endIdx === -1) {\n endIdx = str.length\n } else if (endIdx < eqIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(';', eqIdx - 1) + 1\n continue\n }\n\n var key = str.slice(index, eqIdx).trim()\n\n // only assign once\n if (undefined === obj[key]) {\n var val = str.slice(eqIdx + 1, endIdx).trim()\n\n // quoted values\n if (val.charCodeAt(0) === 0x22) {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n\n index = endIdx + 1\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n var expires = opt.expires\n\n if (!isDate(expires) || isNaN(expires.valueOf())) {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + expires.toUTCString()\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.partitioned) {\n str += '; Partitioned'\n }\n\n if (opt.priority) {\n var priority = typeof opt.priority === 'string'\n ? opt.priority.toLowerCase()\n : opt.priority\n\n switch (priority) {\n case 'low':\n str += '; Priority=Low'\n break\n case 'medium':\n str += '; Priority=Medium'\n break\n case 'high':\n str += '; Priority=High'\n break\n default:\n throw new TypeError('option priority is invalid')\n }\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction decode (str) {\n return str.indexOf('%') !== -1\n ? decodeURIComponent(str)\n : str\n}\n\n/**\n * URL-encode value.\n *\n * @param {string} val\n * @returns {string}\n */\n\nfunction encode (val) {\n return encodeURIComponent(val)\n}\n\n/**\n * Determine if value is a Date.\n *\n * @param {*} val\n * @private\n */\n\nfunction isDate (val) {\n return __toString.call(val) === '[object Date]' ||\n val instanceof Date\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","import { SUPPORTED_LANGUAGES, type AppCountry, type AppLanguage } from '../models';\nimport { pick } from './accept-language-parser';\nimport cookie from 'cookie';\n\nexport const getSupportedLanguages = (country: AppCountry): AppLanguage[] => {\n const languages = Array.isArray(SUPPORTED_LANGUAGES[country])\n ? (SUPPORTED_LANGUAGES[country] as unknown as AppLanguage[])\n : [SUPPORTED_LANGUAGES[country] as AppLanguage];\n return languages;\n};\n\nexport const isSupportedLanguage = (country: AppCountry, language: AppLanguage) => {\n const languages = getSupportedLanguages(country);\n return languages.find((l) => l === language);\n};\n\nexport const getCurrentLanguage = (opts: {\n country: AppCountry;\n cookies: string;\n isFromWebview?: boolean;\n acceptLanguageHeader?: string;\n}) => {\n const { country, cookies, isFromWebview, acceptLanguageHeader } = opts;\n let language: AppLanguage | null = null;\n\n if (isFromWebview) {\n const acceptLanguage = acceptLanguageHeader;\n if (acceptLanguage) {\n const supportedLanguages = getSupportedLanguages(country);\n const parsedLanguage = pick(supportedLanguages as string[], acceptLanguage);\n if (parsedLanguage) {\n language = parsedLanguage as AppLanguage;\n }\n }\n }\n\n // If no language found, try to pick it from cookie BaseDirectory\n if (!language) {\n const languageCookie = cookie.parse(cookies)['BaseDirectory'];\n if (languageCookie) {\n language = `${languageCookie.toLocaleLowerCase()}-${country?.toLocaleUpperCase()}` as AppLanguage;\n }\n // If no cookie, use the default supported language for the country (if multiple we use the first)\n else {\n const supportedLanguages = getSupportedLanguages(country);\n if (supportedLanguages) {\n language = supportedLanguages[0];\n } else {\n language = 'fr-FR';\n }\n }\n }\n\n return language;\n};\n","import { SUPPORTED_COUNTRIES, type AppCountry } from '../models/AppCountry';\n\nconst DEFAULT_COUNTRY: AppCountry = 'fr';\n\nexport const getCurrentCountry = (hostname: string) => {\n const splits = hostname.split('.');\n let country: AppCountry = DEFAULT_COUNTRY;\n\n if (splits.length > 1) {\n const domain = splits.pop()?.toLocaleLowerCase() as AppCountry;\n if (domain && isSupportedCountry(domain)) {\n country = domain;\n }\n }\n\n return country;\n};\n\nexport const isSupportedCountry = (country: AppCountry) => {\n return SUPPORTED_COUNTRIES.includes(country);\n};\n","import type { AppLanguage, FallbacksSchema } from '@atlas/shared/universal/i18n';\nimport { BaseFallbacksLoader } from '@atlas/shared/universal/i18n';\nimport * as fr_FR from '@atlas/shared/universal/i18n/fallbacks/fr/fr-FR/chatbot.json' assert { type: 'json' };\n\nexport type ChatbotTranslationsKeys = typeof fr_FR;\n\nexport class ChatbotFallbacksLoader extends BaseFallbacksLoader<AppLanguage, FallbacksSchema<ChatbotTranslationsKeys>> {\n override getTranslationsMaps(): Record<AppLanguage, () => Promise<FallbacksSchema<ChatbotTranslationsKeys>>> {\n return {\n 'fr-FR': async () => (await import('@atlas/shared/universal/i18n/fallbacks/fr/fr-FR/chatbot.json')).default,\n 'pt-PT': async () => {\n throw Error('Not available yet');\n },\n 'nl-NL': async () => {\n throw Error('Not available yet');\n },\n 'fr-BE': async () => {\n throw Error('Not available yet');\n },\n 'nl-BE': async () => {\n throw Error('Not available yet');\n },\n 'es-ES': async () => {\n throw Error('Not available yet');\n },\n 'it-IT': async () => {\n throw Error('Not available yet');\n },\n 'de-DE': async () => {\n throw Error('Not available yet');\n },\n 'fr-CH': async () => {\n throw Error('Not available yet');\n },\n 'it-CH': async () => {\n throw Error('Not available yet');\n },\n 'de-CH': async () => {\n throw Error('Not available yet');\n },\n 'en-CH': async () => {\n throw Error('Not available yet');\n },\n 'en-GB': async () => {\n throw Error('Not available yet');\n }\n };\n }\n}\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.8\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios, {\n type AxiosError,\n type AxiosInstance,\n type AxiosRequestConfig,\n type AxiosRequestHeaders,\n type AxiosResponse,\n type ResponseType\n} from 'axios';\ndeclare module 'axios' {\n export interface AxiosRequestConfig {\n topMostError?: Error;\n }\n export interface AxiosError<T> {\n originalStack?: string;\n }\n}\n\nexport type QueryParamsType = Record<string | number, any>;\n\nexport interface FullRequestParams extends Omit<AxiosRequestConfig, 'data' | 'params' | 'url' | 'responseType'> {\n /** set parameter to `true` for call `securityWorker` for this request */\n secure?: boolean;\n /** request path */\n path: string;\n /** content type of request body */\n type?: ContentType;\n /** query params */\n query?: QueryParamsType;\n /** format of response (i.e. response.json() -> format: \"json\") */\n format?: ResponseType;\n /** request body */\n body?: unknown;\n}\n\nexport type RequestParams = Omit<FullRequestParams, 'body' | 'method' | 'query' | 'path'>;\n\nexport interface IApiConfig<T = any> extends Omit<AxiosRequestConfig, 'data' | 'cancelToken'> {\n format?: ResponseType;\n successHandler?: <T = any>(response: AxiosResponse<any, any>) => T;\n}\n\nexport type ContentType = 'application/json' | 'multipart/form-data' | 'application/x-www-form-urlencoded';\n\ninterface IErrorBase<E> {\n type: 'axios-error' | 'stock-error';\n error: Error | E;\n}\n\ninterface IAxiosError<E> extends IErrorBase<E> {\n error: AxiosError<E>;\n type: 'axios-error';\n}\n\ninterface IStockError<E> extends IErrorBase<E> {\n error: Error;\n type: 'stock-error';\n}\n\nconst isError = (error: unknown): error is Error => Object.prototype.toString.call(error) === '[object Error]';\n\nexport class HttpClient {\n public instance: AxiosInstance;\n private format?: ResponseType;\n private successHandler?: <T = any>(response: AxiosResponse) => T;\n\n static setDefaults = (baseurl: string, headers: Record<string, string>) => {\n // default uri\n axios.defaults.baseURL = baseurl;\n axios.defaults.withCredentials = true;\n\n // default header\n if (headers) {\n Object.entries(headers).forEach(([key, value]) => {\n axios.defaults.headers.common[key] = value;\n });\n }\n };\n\n constructor({ format, successHandler, ...axiosConfig }: IApiConfig<any> = {}) {\n this.instance = axios.create({ ...axiosConfig });\n this.format = format;\n this.successHandler = successHandler;\n }\n\n private createFormData(input: Record<string, unknown>): FormData {\n return Object.keys(input || {}).reduce((formData, key) => {\n const property = input[key];\n formData.append(\n key,\n property instanceof Blob\n ? property\n : typeof property === 'object' && property !== null\n ? JSON.stringify(property)\n : `${property}`\n );\n return formData;\n }, new FormData());\n }\n\n private axiosErrorHandler = <T>(callback: (err: IAxiosError<T> | IStockError<T>) => void) => {\n return (error: Error | AxiosError<T>) => {\n if (axios.isAxiosError(error)) {\n if (error.response?.data) {\n callback({\n error: error as AxiosError<T>,\n type: 'axios-error'\n });\n } else {\n /** no data provided by the server */\n callback({ error: error, type: 'stock-error' });\n }\n } else {\n callback({\n error: error,\n type: 'stock-error'\n });\n }\n };\n };\n\n public request = async <T = any, E = any>({\n secure,\n path,\n type,\n query,\n format,\n body,\n ...params\n }: FullRequestParams): Promise<T> => {\n const responseFormat = (format && this.format) ?? void 0;\n\n if (type === 'multipart/form-data' && body && body !== null && typeof body === 'object') {\n if (params.headers) {\n params.headers.common = 'Accept: */*';\n params.headers.post = '';\n params.headers.put = '';\n }\n\n body = this.createFormData(body as Record<string, unknown>);\n }\n\n return this.instance\n .request({\n ...params,\n headers: {\n ...(type && type !== 'multipart/form-data' ? { 'Content-Type': type } : {}),\n ...(params.headers ?? {})\n },\n params: query,\n responseType: responseFormat,\n data: body,\n url: path,\n topMostError: new Error('Enhanced stack trace')\n })\n .then(this.successHandler<T> ?? ((response) => response.data))\n .catch(\n this.axiosErrorHandler<E>((res) => {\n if (res.type === 'axios-error') {\n const error = res.error as AxiosError;\n error.config = {\n headers: error.config?.headers as AxiosRequestHeaders,\n method: error.config?.method,\n data: error.config?.data,\n baseURL: error.config?.baseURL\n };\n }\n throw res.error;\n })\n );\n };\n}\n","import axios, { type AxiosError } from 'axios';\n\nexport const isOfErrorType = <T>(error: unknown, status: number): error is AxiosError<T> =>\n axios.isAxiosError(error) && error?.response?.status === status;\n","/*\nTHIS FILE IS AUTO-GENERATED, NO MANUAL CHANGES IS ALLOWED\n*/\n\nimport { isOfErrorType } from '@atlas/shared/data-access/shared';\nimport axios, { type AxiosError } from 'axios';\nimport type {\n BadRequestProblemDetailsModel,\n InternalServerErrorProblemDetailsModel,\n NotFoundProblemDetailsModel,\n ServiceUnavailableProblemDetailsModel,\n UnauthorizedProblemDetailsModel\n} from '../../models';\n\nexport type ChatbotConversationsGetErrorModel = AxiosError<\n NotFoundProblemDetailsModel | InternalServerErrorProblemDetailsModel | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ChatbotConversationsSummaryGetErrorModel = AxiosError<\n NotFoundProblemDetailsModel | InternalServerErrorProblemDetailsModel | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ChatbotConversationsPostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ChatbotConversationsRatePostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ChatbotConversationsMessagesRatePostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ChatbotIntegrationsPostErrorModel = AxiosError<\n BadRequestProblemDetailsModel | UnauthorizedProblemDetailsModel | NotFoundProblemDetailsModel\n>;\n\nexport class ChatbotServiceErrorGuards {\n static ChatbotConversationsGet = class {\n static isNotFoundProblemDetails = (\n error: ChatbotConversationsGetErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ChatbotConversationsGetErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ChatbotConversationsGetErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ChatbotConversationsSummaryGet = class {\n static isNotFoundProblemDetails = (\n error: ChatbotConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ChatbotConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ChatbotConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ChatbotConversationsPost = class {\n static isBadRequestProblemDetails = (\n error: ChatbotConversationsPostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ChatbotConversationsPostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ChatbotConversationsPostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ChatbotConversationsPostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ChatbotConversationsRatePost = class {\n static isBadRequestProblemDetails = (\n error: ChatbotConversationsRatePostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ChatbotConversationsRatePostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ChatbotConversationsRatePostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ChatbotConversationsRatePostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ChatbotConversationsMessagesRatePost = class {\n static isBadRequestProblemDetails = (\n error: ChatbotConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ChatbotConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ChatbotConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ChatbotConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ChatbotIntegrationsPost = class {\n static isBadRequestProblemDetails = (\n error: ChatbotIntegrationsPostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isUnauthorizedProblemDetails = (\n error: ChatbotIntegrationsPostErrorModel | unknown\n ): error is AxiosError<UnauthorizedProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<UnauthorizedProblemDetailsModel>(error, 401);\n };\n static isNotFoundProblemDetails = (\n error: ChatbotIntegrationsPostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n };\n}\n","/*\nTHIS FILE IS AUTO-GENERATED, NO MANUAL CHANGES IS ALLOWED\n*/\n\nimport { HttpClient, type RequestParams } from '@atlas/shared/data-access/shared';\nimport type {\n ConversationQuestionRequestModel,\n ConversationQuestionResponseModel,\n ConversationResponseModel,\n ConversationSummaryResponseModel,\n IntegrationRequestModel,\n IntegrationResponseModel,\n RateConversationMessageRequestModel,\n RateConversationRequestModel\n} from '../models';\nimport {\n ChatbotServiceErrorGuards,\n type ChatbotConversationsGetErrorModel,\n type ChatbotConversationsMessagesRatePostErrorModel,\n type ChatbotConversationsPostErrorModel,\n type ChatbotConversationsRatePostErrorModel,\n type ChatbotConversationsSummaryGetErrorModel,\n type ChatbotIntegrationsPostErrorModel\n} from './errors/ChatbotServiceErrors';\n\nexport class ChatbotService extends HttpClient {\n /** ChatbotService API static endpoints */\n static Endpoints = {\n chatbotConversationsGet: ({ id }: any) => `/api/chatbot/conversations/${id}`,\n chatbotConversationsSummaryGet: ({ id }: any) => `/api/chatbot/conversations/${id}/summary`,\n chatbotConversationsPost: '/api/chatbot/conversations',\n chatbotConversationsRatePost: ({ id }: any) => `/api/chatbot/conversations/${id}/rate`,\n chatbotConversationsMessagesRatePost: ({ id, messageId }: any) =>\n `/api/chatbot/conversations/${id}/messages/${messageId}/rate`,\n chatbotIntegrationsPost: '/api/chatbot/integrations'\n };\n\n /** ChatbotService API static errors typeguards */\n static Errors = ChatbotServiceErrorGuards;\n\n /** ChatbotService API methods */\n /**\n * @description Gets a current user conversation\n * @tags Chatbot\n * @name ChatbotConversationsGet\n * @summary Gets a conversation\n * @request GET:/api/chatbot/conversations/{id}\n */\n chatbotConversationsGet = (id: string, requestParams: RequestParams = {}) =>\n this.request<ConversationResponseModel, ChatbotConversationsGetErrorModel>({\n path: ChatbotService.Endpoints.chatbotConversationsGet({ id }),\n method: 'GET',\n format: 'json',\n ...requestParams\n });\n /**\n * @description Gets a current user conversation summary\n * @tags Chatbot\n * @name ChatbotConversationsSummaryGet\n * @summary Gets a conversation summary\n * @request GET:/api/chatbot/conversations/{id}/summary\n */\n chatbotConversationsSummaryGet = (id: string, requestParams: RequestParams = {}) =>\n this.request<ConversationSummaryResponseModel, ChatbotConversationsSummaryGetErrorModel>({\n path: ChatbotService.Endpoints.chatbotConversationsSummaryGet({ id }),\n method: 'GET',\n format: 'json',\n ...requestParams\n });\n /**\n * @description Asks a new question on the current or new conversation\n * @tags Chatbot\n * @name ChatbotConversationsPost\n * @summary Starts or continues a conversation\n * @request POST:/api/chatbot/conversations\n */\n chatbotConversationsPost = (data: ConversationQuestionRequestModel, requestParams: RequestParams = {}) =>\n this.request<ConversationQuestionResponseModel, ChatbotConversationsPostErrorModel>({\n path: ChatbotService.Endpoints.chatbotConversationsPost,\n method: 'POST',\n body: data,\n type: 'application/json',\n format: 'json',\n ...requestParams\n });\n /**\n * @description Rates an existing conversation\n * @tags Chatbot\n * @name ChatbotConversationsRatePost\n * @summary Rates a conversation\n * @request POST:/api/chatbot/conversations/{id}/rate\n */\n chatbotConversationsRatePost = (\n id: string,\n data: RateConversationRequestModel,\n requestParams: RequestParams = {}\n ) =>\n this.request<void, ChatbotConversationsRatePostErrorModel>({\n path: ChatbotService.Endpoints.chatbotConversationsRatePost({ id }),\n method: 'POST',\n body: data,\n type: 'application/json',\n ...requestParams\n });\n /**\n * @description Rates an existing message from within a conversation\n * @tags Chatbot\n * @name ChatbotConversationsMessagesRatePost\n * @summary Rates a message inside a conversation\n * @request POST:/api/chatbot/conversations/{id}/messages/{message_id}/rate\n */\n chatbotConversationsMessagesRatePost = (\n id: string,\n messageId: string,\n data: RateConversationMessageRequestModel,\n requestParams: RequestParams = {}\n ) =>\n this.request<void, ChatbotConversationsMessagesRatePostErrorModel>({\n path: ChatbotService.Endpoints.chatbotConversationsMessagesRatePost({ id, messageId }),\n method: 'POST',\n body: data,\n type: 'application/json',\n ...requestParams\n });\n /**\n * No description\n * @tags Chatbot\n * @name ChatbotIntegrationsPost\n * @summary Initiates an integration asynchronously.\n * @request POST:/api/chatbot/integrations\n */\n chatbotIntegrationsPost = (data: IntegrationRequestModel, requestParams: RequestParams = {}) =>\n this.request<IntegrationResponseModel, ChatbotIntegrationsPostErrorModel>({\n path: ChatbotService.Endpoints.chatbotIntegrationsPost,\n method: 'POST',\n body: data,\n type: 'application/json',\n format: 'json',\n ...requestParams\n });\n}\n\nexport * from './errors/ChatbotServiceErrors';\n","import { type InitOptions } from 'i18next';\n\nexport const i18nConfig: InitOptions = {\n fallbackLng: 'fr',\n postProcess: 'displayKeys',\n appendNamespaceToMissingKey: true,\n interpolation: {\n escapeValue: false\n },\n keySeparator: '.',\n returnNull: false,\n react: {\n transSupportBasicHtmlNodes: true,\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'b', 'ul', 'ol', 'li', 'a', 'br', 'span'],\n useSuspense: false\n }\n};\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import 'deep-chat';\nimport '../pill/Pill';\nimport '../button/Button';\nimport { html, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { DeepChatStyle, chatbotStyle } from './Chatbot.styles';\nimport { type DeepChat } from 'deep-chat';\nimport i18next, { t } from 'i18next';\nimport { getCurrentCountry, getCurrentLanguage, type AppCountry, type AppLanguage } from '@atlas/shared/universal/i18n';\nimport { ChatbotFallbacksLoader } from '../../services/ChatbotFallbacksLoader';\nimport { ChatbotService, type ConversationQuestionRequestModel } from '@atlas/shared/data-access/chatbot';\nimport { i18nConfig } from '@atlas/shared/client/i18n/config.ts';\nimport { SuperElement } from '../super/SuperElement';\nimport { animate, flyBelow, fadeIn, fadeOut } from '@lit-labs/motion';\ndeclare const __PKG_VERSION__: string;\n\n@customElement('lr-chatbot')\nexport class Chatbot extends SuperElement {\n private _chatElementRef?: DeepChat | null = null;\n\n @property({ type: String })\n accessor apiUrl: string = '';\n\n @property({ type: Boolean })\n accessor opened: boolean = false;\n\n @property({ type: Boolean })\n accessor minimized: boolean = false;\n\n @property({ type: Boolean })\n accessor sticky: boolean = false;\n\n @property({ type: String })\n accessor country: AppCountry = typeof window !== 'undefined' ? getCurrentCountry(window.location.hostname) : 'fr';\n\n @property({ type: String })\n accessor language: AppLanguage =\n typeof window !== 'undefined'\n ? getCurrentLanguage({ country: this.country, cookies: document.cookie })\n : 'fr-FR';\n\n @property({ type: Boolean })\n accessor overlay: boolean = false;\n\n static styles = [SuperElement.styles, chatbotStyle];\n\n static getVersion() {\n return 'LR Chatbot - ' + __PKG_VERSION__;\n }\n\n protected async performUpdate(): Promise<unknown> {\n await this.initTranslations();\n return super.performUpdate();\n }\n\n firstUpdated(): void {\n this.initChat();\n }\n\n async getChatHistory(conversationId: string | null): Promise<void> {\n const chat = this._chatElementRef!;\n if (conversationId) {\n const service = new ChatbotService({\n baseURL: this.apiUrl,\n withCredentials: true,\n method: 'GET'\n });\n const historyResponse = await service.chatbotConversationsGet(conversationId);\n if (historyResponse.messages) {\n chat.history = [\n ...chat?.history!,\n ...historyResponse.messages.map((msg) => ({\n role: msg.sender === 'system' ? 'ai' : 'user',\n text: msg.message ?? ''\n }))\n ];\n }\n }\n }\n\n initChat(): void {\n this._chatElementRef = this.shadowRoot?.getElementById('chat-element') as DeepChat;\n const conversationId = localStorage.getItem('conversation_id');\n if (this._chatElementRef) {\n this.setChatStyle();\n this.setChatInitialMessages();\n this.setChatTranslations();\n this.getChatHistory(conversationId ?? null);\n this.setChatConnection(conversationId ?? null);\n }\n }\n\n private async initTranslations() {\n const loader = new ChatbotFallbacksLoader();\n const fallbacks = await loader.getLanguageFallbacks(this.language);\n if (!i18next.isInitialized) {\n await i18next.init({\n ...i18nConfig,\n lng: this.language,\n resources: {\n [this.language]: { chatbot: fallbacks }\n }\n });\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n // TODO : CLEAN UP ON DISCONNECT.\n }\n\n private setChatTranslations() {\n const chat = this._chatElementRef!;\n if (chat && i18next.isInitialized) {\n chat.history = [\n ...chat.history!,\n {\n role: 'ai',\n html: `${t('chatbot:introMessage', {\n iconWhatsapp: new URL('../../icons/whatsapp.svg', import.meta.url).href\n })}`\n }\n ];\n chat.textInput = {\n ...chat.textInput,\n placeholder: { text: t('chatbot:inputPlaceholder') }\n };\n }\n }\n\n postUserMessage(event: any) {\n const chat = this._chatElementRef!;\n const text = event.target.label;\n chat.submitUserMessage({ text });\n }\n\n private setChatStyle() {\n const chat = this._chatElementRef!;\n chat.avatars = DeepChatStyle.avatars;\n chat.chatStyle = DeepChatStyle.chatStyle;\n chat.messageStyles = DeepChatStyle.messageStyles;\n chat.textInput = DeepChatStyle.textInput;\n chat.submitButtonStyles = DeepChatStyle.submitButtonStyles;\n chat.inputAreaStyle = DeepChatStyle.inputAreaStyle;\n chat.htmlClassUtilities = {\n ...DeepChatStyle.htmlClassUtilities,\n test: {\n events: {\n click: (event: any) => this.postUserMessage(event)\n }\n }\n };\n }\n\n private setChatInitialMessages() {\n const chat = this._chatElementRef!;\n chat.history = [\n {\n role: 'lr',\n html: t('chatbot:legalInformation')\n }\n ];\n }\n\n private setChatConnection(conversationId?: string | null) {\n const chat = this._chatElementRef!;\n chat.connect = {\n handler: async (body, signals) => {\n try {\n const message = body.messages[0].text;\n const service = new ChatbotService({\n baseURL: this.apiUrl,\n withCredentials: true,\n method: 'POST'\n });\n const postData: ConversationQuestionRequestModel = {\n language: this.language.split('-')[0].toLocaleUpperCase(),\n question: message,\n source: {\n platform: 'Web',\n channel: 'Channel'\n },\n context: []\n };\n if (conversationId) {\n postData['conversation_id'] = conversationId;\n }\n const questionResponse = await service.chatbotConversationsPost(postData);\n\n if (!questionResponse.message) {\n throw Error();\n }\n if (questionResponse.conversation_id && conversationId === null) {\n localStorage.setItem('conversation_id', questionResponse.conversation_id);\n conversationId = questionResponse.conversation_id;\n }\n\n signals.onResponse({ text: questionResponse.message, role: 'ai' });\n } catch (err) {\n signals.onResponse({\n html: `${t('chatbot:errorMessage', {\n iconWhatsapp: new URL('../../icons/whatsapp.svg', import.meta.url).href\n })}`\n });\n }\n }\n };\n chat.responseInterceptor = async (response) => {\n return response;\n };\n }\n\n close() {\n localStorage.removeItem('conversation_id');\n this.opened = false;\n this.minimized = false;\n }\n\n minimize() {\n this.minimized = true;\n this.opened = false;\n }\n\n async open() {\n this.opened = true;\n this.minimized = false;\n await this.updateComplete;\n this.initChat();\n }\n\n render() {\n if (!this.opened && !this.minimized) {\n return nothing;\n }\n if (this.opened && !this.minimized) {\n return html`\n <div\n id=\"chat-wrapper\"\n aria-hidden=${!this.opened}\n data-opened=\"${this.opened}\"\n data-sticky=\"${this.sticky}\"\n aria-label=\"chat window\"\n role=\"region\"\n part=\"wrapper\"\n ${animate({\n in: flyBelow,\n out: flyBelow\n })}\n >\n <div id=\"chat-wrapper-menu\" part=\"menu\">\n <span id=\"chat-wrapper-menu-title\">${t('chatbot:title')}</span>\n <div id=\"chat-wrapper-menu-button-container\">\n <button\n class=\"chat-wrapper-menu-button\"\n id=\"chat-wrapper-menu-button-minimize\"\n name=\"chat-wrapper-menu-button-minimize\"\n aria-label=\"Minimize chat\"\n aria-controls=\"chat-wrapper\"\n aria-expanded=${this.opened}\n @click=${this.minimize}\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5 11H4.5H19.5H20.5V13H19.5H4.5H3.5V11Z\"\n fill=\"#6A1A22\"\n />\n </svg>\n </button>\n <button\n class=\"chat-wrapper-menu-button\"\n id=\"chat-wrapper-menu-button-close\"\n aria-label=\"Close chat\"\n aria-controls=\"chat-wrapper\"\n @click=${() => (this.overlay = true)}\n >\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.75003 5.33582L7.45714 6.04292L12.0001 10.5859L16.5431 6.04292L17.2502 5.33582L18.6644 6.75003L17.9573 7.45714L13.4143 12.0001L17.9571 16.5429L18.6642 17.25L17.25 18.6642L16.5429 17.9571L12.0001 13.4143L7.45729 17.9571L6.75018 18.6642L5.33597 17.25L6.04307 16.5429L10.5859 12.0001L6.04292 7.45714L5.33582 6.75003L6.75003 5.33582Z\"\n fill=\"#6A1A22\"\n />\n </svg>\n </button>\n </div>\n </div>\n ${this.overlay\n ? html`\n <div\n ${animate({\n in: fadeIn,\n out: fadeOut\n })}\n id=\"overlay\"\n aria-hidden=${!this.overlay}\n >\n <p>\n Etes-vous sûr de vouloir quitter le chat ? En quittant ce Chat vous perdrez\n l’historique de votre conversation\n </p>\n <div>\n <lr-button\n @click=${() => (this.overlay = false)}\n label=${t('chatbot:returnToConversation')}\n variant=\"secondary\"\n size=\"small\"\n ></lr-button>\n <lr-button\n size=\"small\"\n @click=${this.close}\n label=${t('chatbot:quitConversation')}\n ></lr-button>\n </div>\n </div>\n `\n : nothing}\n <deep-chat id=\"chat-element\" part=\"chat-element\"></deep-chat>\n </div>\n `;\n }\n if (this.minimized && !this.opened) {\n return html`\n <div\n id=\"chat-minimized\"\n @click=${this.open}\n aria-hidden=${!this.minimized}\n aria-label=\"Open chat\"\n aria-expanded=${!this.minimized}\n data-minimized=\"${this.minimized}\"\n part=\"wrapper-minimized\"\n ${animate({\n in: flyBelow,\n out: flyBelow\n })}\n >\n <svg\n id=\"chat-minimized-icon\"\n width=\"32\"\n height=\"33\"\n viewBox=\"0 0 32 33\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.14591 5.5C5.96795 5.5 5 6.46795 5 7.64591V18.958C5 20.136 5.96795 21.104 7.14591 21.104H10.3575C10.9097 21.104 11.3575 21.5517 11.3575 22.104L11.3575 26.0714L16.2515 21.3819C16.4377 21.2035 16.6855 21.1039 16.9434 21.1039H24.8541C26.032 21.1039 27 20.136 27 18.958V7.64591C27 6.46795 26.032 5.5 24.8541 5.5H7.14591ZM3 7.64591C3 5.36338 4.86338 3.5 7.14591 3.5H24.8541C27.1366 3.5 29 5.36338 29 7.64591V18.958C29 21.2406 27.1366 23.1039 24.8541 23.1039H17.3451L11.0494 29.1366C10.7601 29.4138 10.3334 29.4916 9.96499 29.3344C9.59656 29.1771 9.35751 28.8152 9.35751 28.4146L9.35747 23.104H7.14591C4.86338 23.104 3 21.2406 3 18.958V7.64591ZM8 13.5C8 12.3954 8.89543 11.5 10 11.5C11.1046 11.5 12 12.3954 12 13.5C12 14.6046 11.1046 15.5 10 15.5C8.89543 15.5 8 14.6046 8 13.5ZM14 13.5C14 12.3954 14.8954 11.5 16 11.5C17.1046 11.5 18 12.3954 18 13.5C18 14.6046 17.1046 15.5 16 15.5C14.8954 15.5 14 14.6046 14 13.5ZM20 13.5C20 12.3954 20.8954 11.5 22 11.5C23.1046 11.5 24 12.3954 24 13.5C24 14.6046 23.1046 15.5 22 15.5C20.8954 15.5 20 14.6046 20 13.5Z\"\n fill=\"#6A1A22\"\n />\n </svg>\n <p id=\"chat-minimized-text\">Chat</p>\n </div>\n `;\n }\n }\n}\n"],"names":["_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","_arrayLikeToArray","_createForOfIteratorHelper","o","allowArrayLike","it","i","F","_e2","normalCompletion","didErr","err","step","_e3","minLen","n","len","arr2","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","t","e","r","_isNativeReflectConstruct","p","fn","_callSuper","_possibleConstructorReturn","self","call","_typeof","_assertThisInitialized","_inherits","subClass","superClass","_regeneratorRuntime","a","c","u","define","wrap","Generator","Context","makeInvokeMethod","tryCatch","h","l","s","GeneratorFunction","GeneratorFunctionPrototype","d","v","values","g","defineIteratorMethods","AsyncIterator","invoke","callInvokeWithMethodAndArg","maybeInvokeDelegate","pushTryEntry","resetTryEntry","next","handle","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","_asyncToGenerator","args","ownKeys","_objectSpread","_defineProperty","obj","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","us","Xt","M","je","Zt","st","yt","P","pt","ot","Ue","Ei","Wi","fs","W","_this","_this2","_t2","_t$disabled","_t$placeholder","_i$text","We","xn","ps","cn","ms","gs","bs","_n","A","bi","_len","_key","q","vi","at","ae","vs","ys","se","b","_i2","_i3","_i4","Yt","ye","_i5","_i6","_i7","Qt","ce","_loop","_ret","ze","Es","xs","$i","Sn","Pe","ee","ht","Gt","Qn","_s","Ss","es","ws","At","ts","Ki","Ts","Cs","ks","$e","As","Ms","Rs","Is","J","Je","is","dn","ie","Ls","Xe","Mt","Ps","Os","Ji","ns","ss","rs","Ns","Ds","Fs","Bs","f","wn","Fi","js","m","Us","Hs","qs","zs","Vs","Gs","Tn","Ws","Cn","kn","tt","$s","E","Bi","os","Ze","Ks","Js","Xs","Zs","An","Mn","Ys","Qs","j","V","Ae","X","Z","D","Ne","gt","er","tr","ir","as","nr","sr","rr","or","ji","ar","Wt","lr","cr","dr","$t","hn","hr","ur","fr","pr","mr","gr","un","Rn","br","vr","yr","Er","xr","In","Ln","_r","Sr","wr","Tr","Cr","kr","Ar","Mr","Rr","Ir","Lr","Pr","xi","Or","Nr","Dr","Fr","Br","jr","Ur","Hr","qr","zr","Vr","Gr","Wr","$r","Kr","Jr","Xr","Zr","Ui","_i","Yr","Qr","eo","to","io","ls","Ce","Rt","Ee","ei","H","lt","_this3","_this4","_this5","Ie","_i8","_endStreamAfterFileDownloaded","_callee","_yield$t","_context","endStreamAfterFileDownloaded","_x","_x2","me","He","_tempRemoveContentHeader","_callee2","_context2","tempRemoveContentHeader","_x7","_x8","_x9","_fetch","fetch","_x3","_x4","_x5","_x6","_processRequestInterceptor","_callee3","_context3","processRequestInterceptor","_x10","_x11","no","_x12","_x13","_no","_callee122","_context122","so","oo","ro","Pn","ao","Xi","lo","On","co","ho","_R","_callee4","_context4","C","_request","_callee7","y","_yield$v$processReque","_e$streamHandlers","_args7","_context7","we","ge","R","_callee5","_context5","_callee6","_context6","De","request","_x14","_x15","_x16","_r2","_i9","qe","_callee8","_context8","B","_this6","_ref2","_callee9","_context9","_x17","_sendWebsocket","_callee10","_yield$v$processReque2","_args10","_context10","sendWebsocket","_x18","_x19","_x20","_i$o","_request2","_callee12","_context12","_ref3","_callee11","_context11","_x24","_x21","_x22","_x23","_ref4","_callee13","_context13","_x25","_this7","_ref5","_callee14","_context14","_x26","T","_request3","_callee16","_yield$v$processReque3","_args16","_context16","_ref6","_callee15","_context15","_x30","_x27","_x28","_x29","_ref7","_callee17","_context17","_x31","_poll","_callee18","_yield$v$processReque4","_args18","_context18","poll","_x32","_x33","_x34","ut","I","_l$files","_u$maxNumberOfFiles","_l$files2","_e$files","_i$acceptedFormats","_n$maxNumberOfFiles","Ke","_a$url","_request4","_callee19","_args19","_context19","_x35","_x36","_callAPIWithText","_callee20","_o$headers","_a$ContentType","_context20","callAPIWithText","_x37","_x38","_callApiWithFiles","_callee21","_context21","callApiWithFiles","_x39","_x40","_x41","_callServiceAPI","_callee22","_context22","callServiceAPI","_x42","_x43","_x44","_callAPI","_callee23","_context23","callAPI","_x45","_x46","_extractResultData","_callee24","_context24","extractResultData","_x47","z","_Ke","_this8","_i$headers","_this$keyVerification","ti","xe","_HTMLElement","_this9","Zi","uo","fo","te","Le","Yi","U","_o2","_U$createHelpTextCont","Y","It","_loop2","ii","Nn","w","_Ke2","_this10","_this11","_this12","_this13","_configureInit","_callee25","_context25","configureInit","_x48","_init","_callee26","_context26","init","_x49","_loadModel","_callee27","_this14","_this$getConfig","_f","_context27","loadModel","_x50","_x51","_unloadChat","_callee28","_context28","unloadChat","_x52","_immediateResp","_callee29","_context29","immediateResp","_x53","_x54","_x55","_streamResp","_callee31","_this15","_context31","_ref8","_callee30","_context30","_x59","_x60","streamResp","_x56","_x57","_x58","_generateRespByType","_callee32","_context32","generateRespByType","_x61","_x62","_x63","_x64","_generateResp","_callee33","_yield$v$processReque5","_context33","generateResp","_x65","_x66","_x67","_callServiceAPI2","_callee34","_context34","_x68","_x69","_processResponse","_callee35","_context35","processResponse","_x70","_x71","_x72","ni","Tt","_z","_this16","_n$options","_callServiceAPI3","_callee36","_context36","_x73","_x74","_x75","ke","Ft","_ke","_this17","_callServiceAPI4","_callee37","_context37","_x76","_x77","_x78","po","_Ft","_extractPollResultData","_callee38","_context38","extractPollResultData","_x79","mo","_Ft2","_extractPollResultData2","_callee39","_context39","_x80","Bt","be","Si","_z2","_this18","si","_Si","_this19","_callServiceAPI5","_callee40","_context40","_x81","_x82","_x83","_extractResultData2","_callee41","_context41","_x84","ri","_Si2","_this20","_callServiceAPI6","_callee42","_context42","_x85","_x86","_x87","_extractResultData3","_callee43","_context43","_x88","go","_Ft3","_extractPollResultData3","_callee44","_context44","_x89","bo","_ke2","_extractResultData4","_callee45","_context45","_x90","vo","_ke3","_this21","_extractResultData5","_callee46","_context46","_x91","yo","_ke4","_extractResultData6","_callee47","_context47","_x92","Eo","_ke5","_this22$maxMessages","_this22","_i$options","_extractResultData7","_callee48","_context48","_x93","oi","_Si3","_this23","_callServiceAPI7","_callee49","_context49","_x94","_x95","_x96","_extractResultData8","_callee50","_context50","_x97","xo","_ke6","_extractResultData9","_callee51","_context51","_x98","ai","_Si4","_this24","_callServiceAPI8","_callee52","_context52","_x99","_x100","_extractResultData10","_callee53","_context53","_x101","_o","_ke7","_this25","_extractResultData11","_callee54","_context54","_x102","li","_z3","_this26","So","_fn","_callServiceAPI9","_callee55","_context55","_x103","_x104","_extractResultData12","_callee56","_context56","_x105","wo","_fn2","_callServiceAPI10","_callee57","_context57","_x106","_x107","_extractResultData13","_callee58","_context58","_x108","O","_directFetch","_callee59","_args59","_context59","directFetch","_x109","_x110","_x111","rt","_z4","_o$model","_a$voice","_this27","_callServiceAPI11","_callee60","_context60","_x112","_x113","_extractResultData14","_callee61","_context61","_x114","Qi","de","_z5","_o$model2","_this28","_callServiceAPI12","_callee62","_context62","_x115","_x116","_x117","_extractResultData15","_callee63","_context63","_x118","en","oe","To","_z6","_this29","Co","_To","_a$language","_this30","_callServiceAPI13","_callee64","_context64","_x119","_x120","_extractResultData16","_callee65","_i10","_context65","_x121","_extractPollResultData4","_callee66","_iterator","_step","_i11","_context66","_x122","Et","_poll2","_callee67","_context67","_x123","_x124","pn","_z7","_this31","_callServiceAPI14","_callee68","_context68","_x125","_x126","_x127","_extractResultData17","_callee69","_context69","_x128","cs","_z8","_this32","yi","_cs","_a$lang","_l$name","_c$gender","_this33","_callServiceAPI15","_callee70","_context70","_x129","_x130","_extractResultData18","_callee71","_context71","_x131","tn","Ct","_cs2","_this34","_callServiceAPI16","_callee72","_context72","_x132","_x133","_x134","_extractResultData19","_callee73","_context73","_x135","nn","ko","_z9","_this35","_callServiceAPI17","_callee74","_context74","_x136","_x137","_extractResultData20","_callee75","_context75","_x138","Q","_storeFiles","_callee77","_context77","_ref9","_callee76","_context76","_x142","storeFiles","_x139","_x140","_x141","_getFiles","_callee78","_context78","_ref10","getFiles","_x143","_x144","_getFilesAndNewText","_callee79","_context79","getFilesAndNewText","_x145","_x146","_x147","_x148","_getFilesAndText","_callee80","_context80","getFilesAndText","_x149","_x150","_x151","_ref11","_callee82","_context82","_ref12","_callee81","_context81","_x153","_x152","_processStreamMessages","_callee83","_context83","processStreamMessages","_x154","_x155","_processAPIMessages","_callee84","_context84","processAPIMessages","_x156","_x157","_x158","ve","L","_z10","_c$headers","_d$OpenAIBeta","_this36","_this36$config","_ref13","_fetchHistoryFunc","_callee85","_this37","_context85","fetchHistoryFunc","_ref14","_ref15","_a","_n2","_callServiceAPI18","_callee86","_r$assistant_id","_context86","_x159","_x160","_x161","_createNewAssistant","_callee87","_context87","createNewAssistant","_extractResultData21","_callee88","_context88","_x162","_assignThreadAndRun","_callee89","_context89","assignThreadAndRun","_x163","_getThreadMessages","_callee90","_args90","_context90","getThreadMessages","_x164","_extractPollResultData5","_callee91","_this38","_o$shift","_context91","_x165","_handleTools","_callee92","_context92","handleTools","_x166","_handleStream","_callee93","_context93","handleStream","_x167","_parseStreamResult","_callee94","_a2","_l","_context94","parseStreamResult","_x168","_createStreamRun","_callee95","_context95","createStreamRun","_x169","sn","he","_z11","_this39","_callServiceAPI19","_callee96","_context96","_x170","_x171","_x172","_extractResultData22","_callee97","_context97","_x173","rn","xt","_z12","_this40$maxMessages","_l$model","_this40","_ref16","_i$max_tokens","_callServiceAPI20","_callee98","_context98","_x174","_x175","_extractResultData23","_callee99","_context99","_x176","_x177","_x178","_extractStreamResult","_callee100","_this41","_context100","extractStreamResult","_x179","_x180","_x181","_handleTools2","_callee101","_u","_context101","_x182","_x183","_x184","Ao","_fn3","_this42$maxMessages","_this42","_callServiceAPI21","_callee102","_context102","_x185","_x186","_extractResultData24","_callee103","_context103","_x187","ci","Mo","_z13","_this43$maxMessages","_n$model","_this43","_callServiceAPI22","_callee104","_context104","_x188","_x189","_extractResultData25","_callee105","_context105","_x190","Ro","En","on","_","mn","di","Io","Lo","Me","_addNewImageMessage","_callee106","_context106","addNewImageMessage","_x191","_x192","_x193","Re","_lt","_this44","_i12","_this45","_fetchHistory","_callee107","_this46","_context107","fetchHistory","_x194","_i13","_addMultipleFiles","_callee108","_context108","_n3","addMultipleFiles","_x195","_e$displayLoadingBubb","_i14","N","an","ft","Dn","K","Po","fe","jt","_i15","Lt","Fe","gn","_this47","ct","_jt","_this48","_this49","G","Oo","No","Do","Fo","Bo","jo","Pt","_jt2","_this50","ds","wi","Ti","Ut","Ye","Oe","Uo","Ho","Fn","qo","mt","vt","Ht","Ci","re","_this51","ki","zo","qt","zt","bn","Qe","Vo","_i16","et","_t","_a3","Bn","Go","Wo","jn","Un","ne","Ai","$o","bt","hi","Mi","Ko","Hn","ui","qn","Jo","zn","Kt","Hi","pe","qi","Vn","Gn","zi","Xo","Wn","$n","Zo","fi","_Zo$Speech","_this52","_this52$_extractText","_i17","Ri","dt","Ii","Li","Yo","Pi","Oi","Vi","pi","_getNewSpeechConfig","_callee109","_context109","getNewSpeechConfig","_x196","_x197","_get","_callee110","_context110","get","_x198","_x199","Ni","Ot","Di","Qo","ea","Kn","Jn","Gi","Xn","ta","mi","_ta$Speech","_this53","_startAsync","_callee111","_context111","startAsync","_x200","_instantiateService","_callee112","_context112","instantiateService","_x201","_Xn$AzureTranscript$e","_Xn$AzureTranscript$e2","_this54","Zn","ia","le","na","nt","Jt","sa","_this55","Nt","kt","_Pt","_this56","_this56$processConfig","_i$displayInterimResu","_i$textColor","_i$translations","_i$commands","_i$events","_this57","Te","_this58","_r3","Dt","_r4","ra","Yn","_e","_Te","_this59","_this60","oa","Vt","_completePlaceholders","_callee114","_context114","_ref17","_callee113","_context113","_x202","completePlaceholders","ue","_this61","_len2","_key2","_this62","_this63","_i$classList","Ve","St","_jt3","_this64","Se","Be","_useValidationFunc","_callee115","_context115","useValidationFunc","_x203","_x204","_x205","_x206","_useValidationFuncProgrammatic","_callee116","_context116","useValidationFuncProgrammatic","_x207","_x208","_x209","_ref18","_callee117","_context117","_x210","hs","aa","_Pt2","_this65","_this66","_this67","_this68","la","$","_e$n","_e$n2","_e$n3","Ge","k","_jt4","_this69","_this$createCustomEle","_this70","_submitFromInput","_callee118","_context118","submitFromInput","_programmaticSubmit","_callee119","_this71","_context119","programmaticSubmit","_x211","_attemptSubmit","_callee120","_args120","_context120","attemptSubmit","_x212","_addNewMessage","_callee121","_ref19","_context121","addNewMessage","_x213","_this72","ln","ca","da","ha","ua","vn","_Ve","_this73","_this73$addButtonsAnd","_this74","_this75","_this76","_i18","_i19","fa","gi","_jt5","_this77","wt","_d","_Bo$a","yn","pa","ma","S","x","_Zi","_this78","_this$_childElement","n$5","b$1","_b","s$1","freeGlobal","freeSelf","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","result","objectToString","nullTag","undefinedTag","baseGetTag","isObjectLike","symbolTag","isSymbol","isArray","reWhitespace","trimmedEndIndex","string","index","reTrimStart","baseTrim","isObject","type","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","other","isBinary","INFINITY","MAX_INTEGER","toFinite","sign","toInteger","remainder","identity","asyncTag","funcTag","genTag","proxyTag","isFunction","coreJsData","maskSrcKey","uid","isMasked","func","funcProto","funcToString","toSource","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","pattern","getValue","object","getNative","WeakMap","metaMap","baseSetData","data","objectCreate","baseCreate","proto","createCtor","Ctor","thisBinding","WRAP_BIND_FLAG","createBind","bitmask","thisArg","isBind","wrapper","apply","nativeMax","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","offset","countHolders","array","placeholder","length","baseLodash","MAX_ARRAY_LENGTH","LazyWrapper","noop","getData","realNames","getFuncName","otherFunc","LodashWrapper","chainAll","copyArray","source","wrapperClone","lodash","isLaziable","funcName","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","count","lastCalled","stamp","remaining","setData","reWrapDetails","reSplitDetails","getWrapDetails","match","reWrapComment","insertWrapDetails","details","lastIndex","constant","defineProperty","baseSetToString","setToString","arrayEach","iteratee","baseFindIndex","predicate","fromIndex","fromRight","baseIsNaN","strictIndexOf","baseIndexOf","arrayIncludes","WRAP_BIND_KEY_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","wrapFlags","updateWrapDetails","pair","setWrapToString","reference","WRAP_CURRY_BOUND_FLAG","createRecurry","wrapFunc","argPos","ary","arity","isCurry","newHolders","newHoldersRight","newPartials","newPartialsRight","newData","getHolder","MAX_SAFE_INTEGER","reIsUint","isIndex","nativeMin","reorder","indexes","arrLength","oldArray","PLACEHOLDER","replaceHolders","resIndex","createHybrid","partialsRight","holdersRight","isAry","isBindKey","isFlip","holdersCount","createCurry","createPartial","mergeData","srcBitmask","newBitmask","isCommon","isCombo","FUNC_ERROR_TEXT","createWrap","setter","curry","guard","stringTag","isString","cssRegex","stripUnit","endsWith","suffix","PolishedError","code","pixelsto","pxval","base","newPxval","newBase","colorToInt","color","convertToInt","red","green","blue","hslToRgb","hue","saturation","lightness","convert","huePrime","chroma","secondComponent","lightnessModification","finalRed","finalGreen","finalBlue","namedColorMap","nameToHex","normalizedColorName","reduceHexValue","toHex","hex","lowerBoundary","upperBoundary","rem","amount","parsedColor","parseToRgb","alpha","colorWithAlpha","rgba","mix","weight","otherColor","parsedColor1","color1","parsedColor2","color2","alphaDelta","weight1","weight2","mixedColor","percentage","hexRegex","hexRgbaRegex","reducedHexRegex","reducedRgbaHexRegex","rgbRegex","rgbaRegex","hslRegex","hslaRegex","firstValue","secondValue","thirdValue","fourthValue","rgbValue","rgb","normalizedColor","rgbMatched","rgbaMatched","hslMatched","rgbColorString","hslRgbMatched","hslaMatched","semantic","tokens","colors","defaults","devices","SPACING_BASE","spacing","fontWeights","letterSpacings","fontSizes","fontFamilies","lineHeights","textStyles","theme","typography","currentTheme","themev2","pillStyle","css","unsafeCSS","superElementStyle","SuperElement","LitElement","__decorateClass","customElement","Pill","html","property","buttonStyle","i$1","Button","classes","classMap","ifDefined","chatbotStyle","DeepChatStyle","input","hint","prim","res","toPrimitive","toPropertyKey","setPrototypeOf","assertThisInitialized","_arrayWithHoles","arrayLikeToArray","_nonIterableRest","_toArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys$6","enumerableOnly","keys","symbols","sym","_objectSpread$6","consoleLogger","Logger","concreteLogger","options","bool","_len3","_key3","_len4","_key4","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","cloned","observer","_cloned","defer","rej","promise","makeString","copy","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","setPath","newValue","_getLastOfPath","pushPath","concat","_getLastOfPath2","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","escape","isIE10","chars","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","deepFind","paths","current","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","NewTarget","ResourceStore","_EventEmitter","_super","lng","ignoreJSONStructure","resources","deep","pack","postProcessor","module","processors","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","resolved","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","lastKey","returnDetails","_this$extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","handleAsObject","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValue","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","language","skipOnVariables","nestBef","nb","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsZeroSuffixLookup","needsContextHandling","codes","finalKeys","pluralSuffix","zeroSuffix","contextKey","possibleKey","option","capitalize","LanguageUtil","specialCases","part","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","createRules","rules","set","PluralResolver","languageUtils","rule","pluralCategory1","pluralCategory2","pluralCategory","number","idx","returnSuffix","ownKeys$3","_objectSpread$3","deepFindWithDefaults","Interpolator","iOpts","regexpStr","regexpUnescapeStr","nestingRegexpStr","replaces","regexSafe","val","handleFormat","missingInterpolationHandler","todos","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","opts","opt","_opt$split","_opt$split2","rest","createCachedFormatter","cache","formatter","Formatter","name","_format","formats","mem","_parseFormatStr","formatted","valOptions","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","ret","transformOptions","_createSuper","bindMemberFunctions","inst","mems","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","load","finish","usedCallback","append","lngInLngs","setLngProps","done","setLng","keyPrefix","fixedT","resultKey","_this$translator","_this$translator2","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","rtlLngs","mergedOptions","clone","membersToCopy","SUPPORTED_COUNTRIES","SUPPORTED_LANGUAGES","BaseFallbacksLoader","languageCode","scopes","translationsMap","regex","parse","al","bits","ietf","hasScript","pick","supportedLanguages","acceptLanguage","supported","support","lang","langCode","langRegion","langScript","supportedCode","supportedScript","supportedRegion","cookie","serialize","__toString","fieldContentRegExp","dec","decode","eqIdx","endIdx","tryDecode","enc","encode","maxAge","expires","isDate","priority","sameSite","getSupportedLanguages","country","getCurrentLanguage","cookies","isFromWebview","acceptLanguageHeader","parsedLanguage","languageCookie","DEFAULT_COUNTRY","getCurrentCountry","hostname","splits","domain","isSupportedCountry","ChatbotFallbacksLoader","bind","toString","getPrototypeOf","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","isNumber","isBoolean","isPlainObject","prototype","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","trim","forEach","allOwnKeys","findKey","_global","isContextDefined","context","merge","caseless","assignValue","targetKey","extend","stripBOM","content","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","merged","searchString","position","toArray","isTypedArray","TypedArray","forEachEntry","iterator","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","size","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","utils$1","AxiosError","message","config","response","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","token","isFlatArray","predicates","toFormData","formData","metaTokens","visitor","defaultVisitor","useBlob","convertValue","el","exposedHelpers","build","charMap","AxiosURLSearchParams","params","encoder","_encode","buildURL","url","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","id","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","method","ignoreDuplicateOf","parseHeaders","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","format","normalized","targets","asStrings","first","computed","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","CanceledError","settle","validateStatus","secure","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","total","progressBytes","rate","inRange","isXHRAdapterSupported","xhrAdapter","requestData","requestHeaders","responseType","withXSRFToken","onCanceled","username","password","fullPath","onloadend","responseHeaders","timeoutErrorMessage","xsrfValue","cancel","protocol","knownAdapters","renderReason","reason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","desc","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","spread","isAxiosError","payload","HttpStatusCode","createInstance","defaultConfig","axios","promises","HttpClient","successHandler","axiosConfig","__publicField","query","body","responseFormat","_c","baseurl","isOfErrorType","ChatbotServiceErrorGuards","_ChatbotService","requestParams","messageId","ChatbotService","i18nConfig","f$1","_apiUrl","_opened","_minimized","_sticky","_country","_language","_overlay","Chatbot","__privateAdd","__privateGet","__privateSet","conversationId","chat","historyResponse","msg","i18next","text","signals","service","postData","questionResponse","nothing","animate","flyBelow","fadeIn","fadeOut"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,92,93,94,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,119,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,171,172,173,174]}