lr-chatbot 0.6.0 → 0.6.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chatbot.js","sources":["../../../../../../../../node_modules/.pnpm/deep-chat@1.4.11/node_modules/deep-chat/dist/deepChat.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/themes/theme-v2/colors.ts","../../../../../../../../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","../../../../../../../../libs/shared/client/ui/src/themes/theme-v2/typography.ts","../../../../../../../../libs/shared/client/features/chatbot/src/components/button/Button.styles.ts","../../../../../../../../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","../../../../../../../../libs/shared/client/features/chatbot/src/components/button/Button.ts","../../../../../../../../libs/shared/client/ui/src/themes/theme-v2/spaces.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/ConversationsServiceErrors.ts","../../../../../../../../libs/shared/data-access/chatbot/src/__generated__/services/ConversationsService.ts","../../../../../../../../libs/shared/client/i18n/src/config.ts","../../../../../../../../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 new 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 new 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 new 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 : String(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 _s = /*#__PURE__*/function () {\n function _s() {\n _classCallCheck(this, _s);\n }\n _createClass(_s, 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 return _s;\n}();\nvar Bt = /*#__PURE__*/function () {\n function Bt() {\n _classCallCheck(this, Bt);\n }\n _createClass(Bt, 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 = Bt.createElements(),\n r = {\n onSuccess: t,\n onFail: _s.render.bind(this, e, \"Your 'key' has failed authentication\"),\n onLoad: Bt.onLoad.bind(this, n)\n };\n i.key && i.verifyKey(i.key, r), e.replaceChildren(n);\n }\n }]);\n return Bt;\n}();\nvar C = /*#__PURE__*/function () {\n function C() {\n _classCallCheck(this, C);\n }\n _createClass(C, 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 && C.unsetStyle(e, t.click), t.hover && C.unsetStyle(e, t.hover);\n }\n }, {\n key: \"unsetAllCSSMouseStates\",\n value: function unsetAllCSSMouseStates(e, t) {\n C.unsetActivityCSSMouseStates(e, t), t[\"default\"] && C.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 return C;\n}();\nvar qn = /*#__PURE__*/function () {\n function jt() {\n _classCallCheck(this, jt);\n }\n _createClass(jt, null, [{\n key: \"apply\",\n value: function apply(e, t) {\n if (t) try {\n jt.applyStyleSheet(e, t);\n } catch (_unused) {\n jt.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 && C.applyToStyleIfNotDefined(e, t), C.applyToStyleIfNotDefined(e, jt.DEFAULT_COMPONENT_STYLE);\n }\n }]);\n return jt;\n}();\nqn.DEFAULT_COMPONENT_STYLE = {\n height: \"350px\",\n width: \"320px\",\n border: \"1px solid #cacaca\",\n fontFamily: \"'Inter', sans-serif, Avenir, Helvetica, Arial\",\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 wi = qn;\nvar R = /* @__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}(R || {});\nvar ye = /*#__PURE__*/_createClass(function ye() {\n _classCallCheck(this, ye);\n});\nye.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nye.IS_CHROMIUM = window.chrome;\nvar Hn = /*#__PURE__*/function () {\n function rt() {\n _classCallCheck(this, rt);\n }\n _createClass(rt, null, [{\n key: \"add\",\n value: function add(e, t, i) {\n t !== void 0 && e.addEventListener(\"keydown\", rt.onKeyDown.bind(this, t)), e.oninput = rt.onInput.bind(this, t, i);\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 && !rt.PERMITTED_KEYS.has(t.key) && !rt.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), ii.focusEndOfInput(n)), t == null || t();\n }\n }]);\n return rt;\n}();\nHn.PERMITTED_KEYS = /* @__PURE__ */new Set([R.BACKSPACE, R.DELETE, R.ARROW_RIGHT, R.ARROW_LEFT, R.ARROW_DOWN, R.ARROW_UP, R.META, R.CONTROL, R.ENTER]);\nvar Ss = Hn;\nvar ws = /*#__PURE__*/function () {\n function ws() {\n _classCallCheck(this, ws);\n }\n _createClass(ws, 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 (n = document.execCommand) == null || n.call(document, \"insertText\", !1, t);\n }\n }]);\n return ws;\n}();\nvar Gn = /*#__PURE__*/function () {\n function Ve(e, t) {\n var _this = this;\n _classCallCheck(this, Ve);\n var n;\n var i = Ve.processConfig(t, e.textInput);\n this.elementRef = Ve.createContainerElement((n = i == null ? void 0 : i.styles) == null ? void 0 : n.container), this.inputElementRef = this.createInputElement(i), this._config = i, this.elementRef.appendChild(this.inputElementRef), setTimeout(function () {\n var r;\n Ss.add(_this.inputElementRef, (r = e.textInput) == null ? void 0 : r.characterLimit, e._validationHandler);\n });\n }\n _createClass(Ve, [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var i, n, r;\n var t = document.createElement(\"div\");\n return t.id = Ve.TEXT_INPUT_ID, t.classList.add(\"text-input-styling\", \"text-input-placeholder\"), t.innerText = ((i = e == null ? void 0 : e.placeholder) == null ? void 0 : i.text) || \"Ask me anything!\", ye.IS_CHROMIUM && Ve.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, (n = e == null ? void 0 : e.styles) == null ? void 0 : n.text), Object.assign(t.style, (r = e == null ? void 0 : e.placeholder) == null ? void 0 : r.style), t;\n }\n }, {\n key: \"removeTextIfPlaceholder\",\n value: function removeTextIfPlaceholder() {\n var e, t, i, n;\n this.inputElementRef.classList.contains(\"text-input-placeholder\") && !this.inputElementRef.classList.contains(\"text-input-disabled\") && ((e = this._config.placeholder) != null && e.style && (C.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)), Ve.clear(this.inputElementRef), this.inputElementRef.classList.remove(\"text-input-placeholder\"));\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.onpaste = ws.sanitizePastedTextContent;\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(e) {\n var _this2 = this;\n ye.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 C.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 === R.ENTER && !e.ctrlKey && !e.shiftKey && (e.preventDefault(), (t = this.submit) == null || t.call(this));\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 = \"\"), ye.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 return Ve;\n}();\nGn.TEXT_INPUT_ID = \"text-input\";\nvar Gi = Gn;\nvar ii = /*#__PURE__*/function () {\n function ii() {\n _classCallCheck(this, ii);\n }\n _createClass(ii, 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(Gi.TEXT_INPUT_ID));\n t && ii.focusEndOfInput(t);\n }\n }]);\n return ii;\n}();\nfunction an(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nfunction Ms(s) {\n return s && JSON.stringify(s);\n}\nfunction Vi(s, e, t, i) {\n var n = \"\\n\".concat(an(e), \" message: \").concat(JSON.stringify(s), \" \\n\"),\n r = t ? \"\".concat(an(e), \" message after interceptor: \").concat(Ms(i), \" \\n\") : \"\";\n return n + r;\n}\nfunction Ts(s, e, t, i) {\n return \"\".concat(Vi(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 Cs(s, e, t) {\n var i = \"response\";\n return \"\".concat(Vi(s, i, e, t), \"Make sure the \").concat(i, \" message is using the {text: string} format, e.g: {text: \\\"Model Response\\\"}\");\n}\nfunction As(s, e) {\n var t = \"request\";\n return \"\".concat(Vi(s, t, e), \"Make sure the \").concat(t, \" message is using the {body: {text: string}} format, e.g: {body: {text: \\\"Model Response\\\"}}\");\n}\nvar ln = \"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: Ts,\n INVALID_MODEL_REQUEST: As,\n INVALID_MODEL_RESPONSE: Cs,\n INVALID_STREAM_EVENT: ln,\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(ln)\n },\n Vn = /*#__PURE__*/function () {\n function Wn() {\n _classCallCheck(this, Wn);\n }\n _createClass(Wn, 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 - Wn.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 return Wn;\n }();\nVn.CODE_SNIPPET_GENERATION_JUMP = 0.5;\nvar G = Vn;\nvar Jn = /*#__PURE__*/function () {\n function $n() {\n _classCallCheck(this, $n);\n }\n _createClass($n, 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 }, $n.LOAD_VOICES_MS);\n }\n }]);\n return $n;\n}();\nJn.LOAD_VOICES_MS = 200;\nvar Ft = Jn;\nvar Re = /*#__PURE__*/function () {\n function Re() {\n _classCallCheck(this, Re);\n }\n _createClass(Re, 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: \"processInitialMessageFile\",\n value: function processInitialMessageFile(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 return Re;\n}();\nvar ks = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIGZpbGw9IiMwMDAwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIAoJCXZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cgk8cGF0aCBkPSJNMjMsMzAuMzZIOWMtMi40MDQsMC00LjM2LTEuOTU2LTQuMzYtNC4zNlYxNWMwLTIuNDA0LDEuOTU2LTQuMzYsNC4zNi00LjM2aDMuNjU5CgkJYzAuMTY3LTEuNTY2LDEuNDE1LTIuODEzLDIuOTgxLTIuOTgxVjUuMzMzYy0xLjEzMS0wLjE3NC0yLTEuMTU0LTItMi4zMzNjMC0xLjMwMSwxLjA1OS0yLjM2LDIuMzYtMi4zNgoJCWMxLjMwMiwwLDIuMzYsMS4wNTksMi4zNiwyLjM2YzAsMS4xNzktMC44NjksMi4xNTktMiwyLjMzM1Y3LjY2YzEuNTY2LDAuMTY3LDIuODE0LDEuNDE1LDIuOTgxLDIuOTgxSDIzCgkJYzIuNDA0LDAsNC4zNiwxLjk1Niw0LjM2LDQuMzZ2MTFDMjcuMzYsMjguNDA0LDI1LjQwNCwzMC4zNiwyMywzMC4zNnogTTksMTEuMzZjLTIuMDA3LDAtMy42NCwxLjYzMy0zLjY0LDMuNjR2MTEKCQljMCwyLjAwNywxLjYzMywzLjY0LDMuNjQsMy42NGgxNGMyLjAwNywwLDMuNjQtMS42MzMsMy42NC0zLjY0VjE1YzAtMi4wMDctMS42MzMtMy42NC0zLjY0LTMuNjRIOXogTTEzLjM4NCwxMC42NGg1LjIzMQoJCUMxOC40MzksOS4zNTQsMTcuMzM0LDguMzYsMTYsOC4zNkMxNC42NjcsOC4zNiwxMy41NjEsOS4zNTQsMTMuMzg0LDEwLjY0eiBNMTYsMS4zNmMtMC45MDQsMC0xLjY0LDAuNzM2LTEuNjQsMS42NAoJCVMxNS4wOTYsNC42NCwxNiw0LjY0YzAuOTA0LDAsMS42NC0wLjczNiwxLjY0LTEuNjRTMTYuOTA0LDEuMzYsMTYsMS4zNnogTTIwLDI3LjM2aC04Yy0xLjMwMSwwLTIuMzYtMS4wNTktMi4zNi0yLjM2CgkJczEuMDU5LTIuMzYsMi4zNi0yLjM2aDhjMS4zMDIsMCwyLjM2LDEuMDU5LDIuMzYsMi4zNlMyMS4zMDIsMjcuMzYsMjAsMjcuMzZ6IE0xMiwyMy4zNmMtMC45MDQsMC0xLjY0LDAuNzM1LTEuNjQsMS42NAoJCXMwLjczNiwxLjY0LDEuNjQsMS42NGg4YzAuOTA0LDAsMS42NC0wLjczNSwxLjY0LTEuNjRzLTAuNzM1LTEuNjQtMS42NC0xLjY0SDEyeiBNMzEsMjMuODZoLTJjLTAuMTk5LDAtMC4zNi0wLjE2MS0wLjM2LTAuMzZWMTUKCQljMC0wLjE5OSwwLjE2MS0wLjM2LDAuMzYtMC4zNmgyYzAuMTk5LDAsMC4zNiwwLjE2MSwwLjM2LDAuMzZ2OC41QzMxLjM2LDIzLjY5OSwzMS4xOTksMjMuODYsMzEsMjMuODZ6IE0yOS4zNiwyMy4xNGgxLjI3OXYtNy43OAoJCUgyOS4zNlYyMy4xNHogTTMsMjMuODZIMWMtMC4xOTksMC0wLjM2LTAuMTYxLTAuMzYtMC4zNlYxNWMwLTAuMTk5LDAuMTYxLTAuMzYsMC4zNi0wLjM2aDJjMC4xOTksMCwwLjM2LDAuMTYxLDAuMzYsMC4zNnY4LjUKCQlDMy4zNiwyMy42OTksMy4xOTksMjMuODYsMywyMy44NnogTTEuMzYsMjMuMTRoMS4yOHYtNy43OEgxLjM2VjIzLjE0eiBNMjAsMjAuMzZjLTEuMzAyLDAtMi4zNi0xLjA1OS0yLjM2LTIuMzYKCQlzMS4wNTktMi4zNiwyLjM2LTIuMzZzMi4zNiwxLjA1OSwyLjM2LDIuMzZDMjIuMzYsMTkuMzAyLDIxLjMwMiwyMC4zNiwyMCwyMC4zNnogTTIwLDE2LjM2Yy0wLjkwNCwwLTEuNjQsMC43MzYtMS42NCwxLjY0CgkJczAuNzM1LDEuNjQsMS42NCwxLjY0czEuNjQtMC43MzUsMS42NC0xLjY0UzIwLjkwNCwxNi4zNiwyMCwxNi4zNnogTTEyLDIwLjM2Yy0xLjMwMSwwLTIuMzYtMS4wNTktMi4zNi0yLjM2czEuMDU5LTIuMzYsMi4zNi0yLjM2CgkJczIuMzYsMS4wNTksMi4zNiwyLjM2QzE0LjM2LDE5LjMwMiwxMy4zMDEsMjAuMzYsMTIsMjAuMzZ6IE0xMiwxNi4zNmMtMC45MDQsMC0xLjY0LDAuNzM2LTEuNjQsMS42NHMwLjczNiwxLjY0LDEuNjQsMS42NAoJCXMxLjY0LTAuNzM1LDEuNjQtMS42NFMxMi45MDQsMTYuMzYsMTIsMTYuMzZ6Ii8+Cgk8cmVjdCBzdHlsZT0iZmlsbDpub25lOyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIi8+Cjwvc3ZnPg==\",\n Is = \"data:image/png;base64,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\",\n Kn = /*#__PURE__*/function () {\n function re() {\n _classCallCheck(this, re);\n }\n _createClass(re, null, [{\n key: \"hide\",\n value: function hide(e) {\n e.getElementsByClassName(re.CONTAINER_CLASS)[0].style.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 && re.applyCustomStylesToElements(e, t, i[\"default\"].styles), n === b.USER_ROLE) (o = i.user) != null && o.styles && re.applyCustomStylesToElements(e, t, i.user.styles);else {\n (a = i.ai) != null && a.styles && re.applyCustomStylesToElements(e, t, i.ai.styles);\n var c = (l = i[n]) == null ? void 0 : l.styles;\n c && re.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) || Is : 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) || ks, i.classList.add(\"avatar\");\n var n = document.createElement(\"div\");\n return n.classList.add(re.CONTAINER_CLASS), n.appendChild(i), t && re.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 = re.createAvatar(t, n),\n o = re.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 return re;\n }();\nKn.CONTAINER_CLASS = \"avatar-container\";\nvar cn = Kn;\nvar Yn = /*#__PURE__*/function () {\n function Se() {\n _classCallCheck(this, Se);\n }\n _createClass(Se, null, [{\n key: \"hide\",\n value: function hide(e) {\n e.getElementsByClassName(Se.NAME_CLASS)[0].style.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(Se.NAME_CLASS), i.textContent = Se.getNameText(e, t), Se.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 = Se.createName(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 return Se;\n}();\nYn.NAME_CLASS = \"name\";\nvar dn = Yn;\nvar ni = /*#__PURE__*/function () {\n function we() {\n _classCallCheck(this, we);\n }\n _createClass(we, 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 = we.getLastElementsByClass(t, [we.getRoleClass(n), o], [\"loading-message-text\"]),\n l = we.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(we.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(we.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 = we.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 && cn.add(e, t, i), n && dn.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 && cn.hide(n), i && dn.hide(n);\n }\n }]);\n return we;\n}();\nni.AI_ROLE = \"ai\";\nni.USER_ROLE = \"user\";\nni.EMPTY_MESSAGE_CLASS = \"empty-message\";\nvar b = ni;\nvar Ie = /*#__PURE__*/function () {\n function Ie() {\n _classCallCheck(this, Ie);\n }\n _createClass(Ie, null, [{\n key: \"mouseUp\",\n value: function mouseUp(e, t) {\n C.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 C.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\", Ie.mouseEnter.bind(this, e, t)), e.addEventListener(\"mouseleave\", Ie.mouseLeave.bind(this, e, t)), e.addEventListener(\"mousedown\", Ie.mouseDown.bind(this, e, t)), e.addEventListener(\"mouseup\", Ie.mouseUp.bind(this, e, t));\n }\n }]);\n return Ie;\n}();\nvar Ls = \"deep-chat-temporary-message\",\n Rs = \"deep-chat-suggestion-button\",\n Pi = {\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 un = Object.keys(Pi);\nvar xe = /*#__PURE__*/function () {\n function xe() {\n _classCallCheck(this, xe);\n }\n _createClass(xe, 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(Ls) : !1;\n }\n }, {\n key: \"doesElementContainDeepChatClass\",\n value: function doesElementContainDeepChatClass(e) {\n return un.find(function (t) {\n return e.classList.contains(t);\n });\n }\n }, {\n key: \"applyEvents\",\n value: function applyEvents(e, t) {\n var i = Pi[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 = Pi[i].styles;\n if (r) {\n var a = JSON.parse(JSON.stringify(r));\n a[\"default\"] && C.overwriteDefaultWithAlreadyApplied(a, t), n.unshift(a);\n }\n var o = C.mergeStatefulStyles(n);\n return C.processStateful(o, {}, {});\n }\n }, {\n key: \"applyDeepChatUtilities\",\n value: function applyDeepChatUtilities(e, t, i) {\n un.forEach(function (r) {\n var o = i.getElementsByClassName(r);\n Array.from(o || []).forEach(function (a) {\n var l = xe.getProcessedStyles(t, a, r);\n le.applyStylesToElement(a, l), xe.applyEvents(a, r);\n });\n });\n var n = i.getElementsByClassName(Rs);\n Array.from(n).forEach(function (r) {\n return xe.applySuggestionEvent(e, r);\n });\n }\n }]);\n return xe;\n}();\nvar le = /*#__PURE__*/function () {\n function le() {\n _classCallCheck(this, le);\n }\n _createClass(le, null, [{\n key: \"applyStylesToElement\",\n value: function applyStylesToElement(e, t) {\n var i = C.processStateful(t, {}, {});\n Ie.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 && le.applyEventsToElement(e, i), n && !xe.doesElementContainDeepChatClass(e) && le.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] && le.applyClassUtilitiesToElement(r, e[i]);\n });\n });\n }\n }, {\n key: \"apply\",\n value: function apply(e, t) {\n xe.applyDeepChatUtilities(e, e.htmlClassUtilities, t), le.applyCustomClassUtilities(e.htmlClassUtilities, t);\n }\n }]);\n return le;\n}();\nvar Qe = /*#__PURE__*/function () {\n function Qe() {\n _classCallCheck(this, Qe);\n }\n _createClass(Qe, 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, le.apply(e, o.outerContainer), Re.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 = Qe.createElements(e, t, i);\n return b.fillEmptyMessageElement(o.bubbleElement, t), le.apply(e, o.outerContainer), Re.flagHTMLUpdateClass(o.bubbleElement), e.applyCustomStyles(o, i, !1, (a = e.messageStyles) == null ? void 0 : a.html), Qe.addElement(e, o.outerContainer), o;\n }\n }]);\n return Qe;\n}();\nvar Nt;\nfunction Zn(s) {\n return Nt = Nt || document.createElement(\"textarea\"), Nt.innerHTML = \"&\" + s + \";\", Nt.value;\n}\nvar Ns = Object.prototype.hasOwnProperty;\nfunction Os(s, e) {\n return s ? Ns.call(s, e) : !1;\n}\nfunction Xn(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 Ps = /\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction gt(s) {\n return s.indexOf(\"\\\\\") < 0 ? s : s.replace(Ps, \"$1\");\n}\nfunction Qn(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 Di(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 Ds = /&([a-z#][a-z0-9]{1,31});/gi,\n js = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\nfunction Fs(s, e) {\n var t = 0,\n i = Zn(e);\n return e !== i ? i : e.charCodeAt(0) === 35 && js.test(e) && (t = e[1].toLowerCase() === \"x\" ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10), Qn(t)) ? Di(t) : s;\n}\nfunction Ne(s) {\n return s.indexOf(\"&\") < 0 ? s : s.replace(Ds, Fs);\n}\nvar Bs = /[&<>\"]/,\n zs = /[&<>\"]/g,\n Us = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\"\n };\nfunction qs(s) {\n return Us[s];\n}\nfunction U(s) {\n return Bs.test(s) ? s.replace(zs, qs) : s;\n}\nvar g = {};\ng.blockquote_open = function () {\n return \"<blockquote>\\n\";\n};\ng.blockquote_close = function (s, e) {\n return \"</blockquote>\" + De(s, e);\n};\ng.code = function (s, e) {\n return s[e].block ? \"<pre><code>\" + U(s[e].content) + \"</code></pre>\" + De(s, e) : \"<code>\" + U(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 u;\n if (r.params) {\n if (c = r.params.split(/\\s+/g), d = c.join(\" \"), Os(n.rules.fence_custom, c[0])) return n.rules.fence_custom[c[0]](s, e, t, i, n);\n l = U(Ne(gt(d))), o = ' class=\"' + a + l + '\"';\n }\n return t.highlight ? u = t.highlight.apply(t.highlight, [r.content].concat(c)) || U(r.content) : u = U(r.content), \"<pre><code\" + o + \">\" + u + \"</code></pre>\" + De(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>\") + De(s, e);\n};\ng.bullet_list_open = function () {\n return \"<ul>\\n\";\n};\ng.bullet_list_close = function (s, e) {\n return \"</ul>\" + De(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>\" + De(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 ? De(s, e) : \"\");\n};\ng.link_open = function (s, e, t) {\n var i = s[e].title ? ' title=\"' + U(Ne(s[e].title)) + '\"' : \"\",\n n = t.linkTarget ? ' target=\"' + t.linkTarget + '\"' : \"\";\n return '<a href=\"' + U(s[e].href) + '\"' + i + n + \">\";\n};\ng.link_close = function () {\n return \"</a>\";\n};\ng.image = function (s, e, t) {\n var i = ' src=\"' + U(s[e].src) + '\"',\n n = s[e].title ? ' title=\"' + U(Ne(s[e].title)) + '\"' : \"\",\n r = ' alt=\"' + (s[e].alt ? U(Ne(gt(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>\" + U(s[e].content) + \"</sub>\";\n};\ng.sup = function (s, e) {\n return \"<sup>\" + U(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 U(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=\"' + U(Ne(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 es(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 ? es(s, e + 2) : e;\n}\nvar De = g.getBreak = function (e, t) {\n return t = es(e, t), t < e.length && e[t].type === \"list_item_close\" ? \"\" : \"\\n\";\n};\nfunction Wi() {\n this.rules = Xn({}, g), this.getBreak = g.getBreak;\n}\nWi.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};\nWi.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 W() {\n this.__rules__ = [], this.__cache__ = null;\n}\nW.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};\nW.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};\nW.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};\nW.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};\nW.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};\nW.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};\nW.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};\nW.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};\nW.prototype.getRules = function (s) {\n return this.__cache__ === null && this.__compile__(), this.__cache__[s] || [];\n};\nfunction Hs(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 je(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}\nje.prototype.pushPending = function () {\n this.tokens.push({\n type: \"text\",\n content: this.pending,\n level: this.pendingLevel\n }), this.pending = \"\";\n};\nje.prototype.push = function (s) {\n this.pending && this.pushPending(), this.tokens.push(s), this.pendingLevel = this.level;\n};\nje.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};\nje.prototype.cacheGet = function (s) {\n return s < this.cache.length ? this.cache[s] : 0;\n};\nfunction bt(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 Gs(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 je(s, e, t, i, []), r = bt(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 Vs(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 = Gs(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 = Ne(s);\n try {\n e = decodeURI(e);\n } catch (_unused2) {}\n return encodeURI(e);\n}\nfunction ts(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(gt(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 = gt(s.src.slice(r, e)), !s.parser.validateLink(n)) ? !1 : (s.linkContent = n, s.pos = e, !0);\n}\nfunction is(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 = gt(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 ns(s) {\n return s.trim().replace(/\\s+/g, \" \").toUpperCase();\n}\nfunction Ws(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h;\n if (s.charCodeAt(0) !== 91 || s.indexOf(\"]:\") === -1 || (n = new je(s, e, t, i, []), r = bt(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 (!ts(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 && is(n, o) ? (u = n.linkContent, o = n.pos) : (u = \"\", o = c); o < a && n.src.charCodeAt(o) === 32;) o++;\n return o < a && n.src.charCodeAt(o) !== 10 ? -1 : (h = ns(s.slice(1, r)), _typeof(i.references[h]) > \"u\" && (i.references[h] = {\n title: u,\n href: d\n }), o);\n}\nfunction Js(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 = Ws(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 $s(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 Ks(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = 0,\n u = !1,\n h = {};\n if (s.env.footnotes && (s.tokens = s.tokens.filter(function (p) {\n return p.type === \"footnote_reference_open\" ? (u = !0, l = [], c = p.label, !1) : p.type === \"footnote_reference_close\" ? (u = !1, h[\":\" + c] = l, !1) : (u && l.push(p), !u);\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 = h[\":\" + 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 hn = \" \\n()[]'\\\".,!?-\";\nfunction Mi(s) {\n return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, \"\\\\$1\");\n}\nfunction Ys(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p = s.tokens;\n if (s.env.abbreviations) {\n for (s.env.abbrRegExp || (h = \"(^|[\" + hn.split(\"\").map(Mi).join(\"\") + \"])(\" + Object.keys(s.env.abbreviations).map(function (m) {\n return m.substr(1);\n }).sort(function (m, f) {\n return f.length - m.length;\n }).map(Mi).join(\"|\") + \")($|[\" + hn.split(\"\").map(Mi).join(\"\") + \"])\", s.env.abbrRegExp = new RegExp(h, \"g\")), d = s.env.abbrRegExp, t = 0, i = p.length; t < i; t++) if (p[t].type === \"inline\") {\n for (n = p[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 = []; u = d.exec(o);) d.lastIndex > l && a.push({\n type: \"text\",\n content: o.slice(l, u.index + u[1].length),\n level: c\n }), a.push({\n type: \"abbr_open\",\n title: s.env.abbreviations[\":\" + u[2]],\n level: c++\n }), a.push({\n type: \"text\",\n content: u[2],\n level: c\n }), a.push({\n type: \"abbr_close\",\n level: --c\n }), l = d.lastIndex - u[3].length;\n a.length && (l < o.length && a.push({\n type: \"text\",\n content: o.slice(l),\n level: c\n }), p[t].children = n = [].concat(n.slice(0, e), a, n.slice(e + 1)));\n }\n }\n }\n}\nvar Zs = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,\n Xs = /\\((c|tm|r|p)\\)/ig,\n Qs = {\n c: \"©\",\n r: \"®\",\n p: \"§\",\n tm: \"™\"\n };\nfunction er(s) {\n return s.indexOf(\"(\") < 0 ? s : s.replace(Xs, function (e, t) {\n return Qs[t.toLowerCase()];\n });\n}\nfunction tr(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 = er(i), Zs.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 ir = /['\"]/,\n pn = /['\"]/g,\n nr = /[-\\s()\\[\\]]/,\n fn = \"’\";\nfunction mn(s, e) {\n return e < 0 || e >= s.length ? !1 : !nr.test(s[e]);\n}\nfunction He(s, e, t) {\n return s.substr(0, e) + t + s.substr(e + 1);\n}\nfunction sr(s) {\n var e, t, i, n, r, o, a, l, c, d, u, h, p, m, f, _, S;\n if (s.options.typographer) {\n for (S = [], f = s.tokens.length - 1; f >= 0; f--) if (s.tokens[f].type === \"inline\") {\n for (_ = s.tokens[f].children, S.length = 0, e = 0; e < _.length; e++) if (t = _[e], !(t.type !== \"text\" || ir.test(t.text))) {\n for (a = _[e].level, p = S.length - 1; p >= 0 && !(S[p].level <= a); p--);\n S.length = p + 1, i = t.content, r = 0, o = i.length;\n e: for (; r < o && (pn.lastIndex = r, n = pn.exec(i), !!n);) {\n if (l = !mn(i, n.index - 1), r = n.index + 1, m = n[0] === \"'\", c = !mn(i, r), !c && !l) {\n m && (t.content = He(t.content, n.index, fn));\n continue;\n }\n if (u = !c, h = !l, h) {\n for (p = S.length - 1; p >= 0 && (d = S[p], !(S[p].level < a)); p--) if (d.single === m && S[p].level === a) {\n d = S[p], m ? (_[d.token].content = He(_[d.token].content, d.pos, s.options.quotes[2]), t.content = He(t.content, n.index, s.options.quotes[3])) : (_[d.token].content = He(_[d.token].content, d.pos, s.options.quotes[0]), t.content = He(t.content, n.index, s.options.quotes[1])), S.length = p;\n continue e;\n }\n }\n u ? S.push({\n token: e,\n pos: n.index,\n single: m,\n level: a\n }) : h && m && (t.content = He(t.content, n.index, fn));\n }\n }\n }\n }\n}\nvar Ti = [[\"block\", Hs], [\"abbr\", Vs], [\"references\", Js], [\"inline\", $s], [\"footnote_tail\", Ks], [\"abbr2\", Ys], [\"replacements\", tr], [\"smartquotes\", sr]];\nfunction ss() {\n this.options = {}, this.ruler = new W();\n for (var s = 0; s < Ti.length; s++) this.ruler.push(Ti[s][0], Ti[s][1]);\n}\nss.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 Fe(s, e, t, i, n) {\n var r, o, a, l, c, d, u;\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, u = !1, a = l = d = 0, c = o.length; l < c; l++) {\n if (r = o.charCodeAt(l), !u) if (r === 32) {\n d++;\n continue;\n } else u = !0;\n (r === 10 || l === c - 1) && (r !== 10 && l++, this.bMarks.push(a), this.eMarks.push(l), this.tShift.push(d), u = !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}\nFe.prototype.isEmpty = function (e) {\n return this.bMarks[e] + this.tShift[e] >= this.eMarks[e];\n};\nFe.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};\nFe.prototype.skipSpaces = function (e) {\n for (var t = this.src.length; e < t && this.src.charCodeAt(e) === 32; e++);\n return e;\n};\nFe.prototype.skipChars = function (e, t) {\n for (var i = this.src.length; e < i && this.src.charCodeAt(e) === t; e++);\n return e;\n};\nFe.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};\nFe.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 rr(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 or(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 u = s.eMarks[e];\n if (d + 3 > u || (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, u).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], u = s.eMarks[a], d < u && 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 < u)))) {\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 ar(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p,\n m,\n f = s.bMarks[e] + s.tShift[e],\n _ = s.eMarks[e];\n if (f > _ || s.src.charCodeAt(f++) !== 62 || s.level >= s.options.maxNesting) return !1;\n if (i) return !0;\n for (s.src.charCodeAt(f) === 32 && f++, l = s.blkIndent, s.blkIndent = 0, a = [s.bMarks[e]], s.bMarks[e] = f, f = f < _ ? s.skipSpaces(f) : f, r = f >= _, o = [s.tShift[e]], s.tShift[e] = f - s.bMarks[e], u = s.parser.ruler.getRules(\"blockquote\"), n = e + 1; n < t && (f = s.bMarks[n] + s.tShift[n], _ = s.eMarks[n], !(f >= _)); n++) {\n if (s.src.charCodeAt(f++) === 62) {\n s.src.charCodeAt(f) === 32 && f++, a.push(s.bMarks[n]), s.bMarks[n] = f, f = f < _ ? s.skipSpaces(f) : f, r = f >= _, o.push(s.tShift[n]), s.tShift[n] = f - s.bMarks[n];\n continue;\n }\n if (r) break;\n for (m = !1, h = 0, p = u.length; h < p; h++) if (u[h](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, h = 0; h < o.length; h++) s.bMarks[h + e] = a[h], s.tShift[h + e] = o[h];\n return s.blkIndent = l, !0;\n}\nfunction lr(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 gn(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 bn(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 cr(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 dr(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p,\n m,\n f,\n _,\n S,\n J,\n X,\n O,\n H,\n Q = !0,\n ee,\n I,\n Rt,\n te;\n if ((u = bn(s, e)) >= 0) _ = !0;else if ((u = gn(s, e)) >= 0) _ = !1;else return !1;\n if (s.level >= s.options.maxNesting) return !1;\n if (f = s.src.charCodeAt(u - 1), i) return !0;\n for (J = s.tokens.length, _ ? (d = s.bMarks[e] + s.tShift[e], m = Number(s.src.substr(d, u - d - 1)), s.tokens.push({\n type: \"ordered_list_open\",\n order: m,\n lines: O = [e, 0],\n level: s.level++\n })) : s.tokens.push({\n type: \"bullet_list_open\",\n lines: O = [e, 0],\n level: s.level++\n }), n = e, X = !1, ee = s.parser.ruler.getRules(\"list\"); n < t && (S = s.skipSpaces(u), h = s.eMarks[n], S >= h ? p = 1 : p = S - u, p > 4 && (p = 1), p < 1 && (p = 1), r = u - s.bMarks[n] + p, s.tokens.push({\n type: \"list_item_open\",\n lines: H = [e, 0],\n level: s.level++\n }), a = s.blkIndent, l = s.tight, o = s.tShift[e], c = s.parentType, s.tShift[e] = S - s.bMarks[e], s.blkIndent = r, s.tight = !0, s.parentType = \"list\", s.parser.tokenize(s, e, t, !0), (!s.tight || X) && (Q = !1), X = 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, H[1] = n, S = s.bMarks[e], !(n >= t || s.isEmpty(n) || s.tShift[n] < s.blkIndent));) {\n for (te = !1, I = 0, Rt = ee.length; I < Rt; I++) if (ee[I](s, n, t, !0)) {\n te = !0;\n break;\n }\n if (te) break;\n if (_) {\n if (u = bn(s, n), u < 0) break;\n } else if (u = gn(s, n), u < 0) break;\n if (f !== s.src.charCodeAt(u - 1)) break;\n }\n return s.tokens.push({\n type: _ ? \"ordered_list_close\" : \"bullet_list_close\",\n level: --s.level\n }), O[1] = n, s.line = n, Q && cr(s, J), !0;\n}\nfunction ur(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 hr(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 pr(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 rs = {};\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 rs[s] = !0;\n});\nvar fr = /^<([a-zA-Z]{1,15})[\\s\\/>]/,\n mr = /^<\\/([a-zA-Z]{1,15})[\\s>]/;\nfunction gr(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction br(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 || gr(n)) {\n if (n === 47) {\n if (r = s.src.slice(a, l).match(mr), !r) return !1;\n } else if (r = s.src.slice(a, l).match(fr), !r) return !1;\n if (rs[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 Ci(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 vr(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h, p, 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 = Ci(s, e + 1), !/^[-:| ]+$/.test(r)) || (c = r.split(\"|\"), c <= 2)) return !1;\n for (u = [], a = 0; a < c.length; a++) {\n if (h = c[a].trim(), !h) {\n if (a === 0 || a === c.length - 1) continue;\n return !1;\n }\n if (!/^:?-+:?$/.test(h)) return !1;\n h.charCodeAt(h.length - 1) === 58 ? u.push(h.charCodeAt(0) === 58 ? \"center\" : \"right\") : h.charCodeAt(0) === 58 ? u.push(\"left\") : u.push(\"\");\n }\n if (r = Ci(s, e).trim(), r.indexOf(\"|\") === -1 || (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), u.length !== c.length)) return !1;\n if (i) return !0;\n for (s.tokens.push({\n type: \"table_open\",\n lines: p = [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: u[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 = Ci(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: u[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 }), p[1] = m[1] = l, s.line = l, !0;\n}\nfunction Ot(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 yr(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 xr(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h, p, m, f, _, S;\n if (i) return s.ddIndent < 0 ? !1 : Ot(s, e) >= 0;\n if (d = e + 1, s.isEmpty(d) && ++d > t || s.tShift[d] < s.blkIndent || (n = Ot(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 (S = !0, _ = !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 }), f = s.tight, h = s.ddIndent, u = s.blkIndent, m = s.tShift[r], p = 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 || _) && (S = !1), _ = s.line - r > 1 && s.isEmpty(s.line - 1), s.tShift[r] = m, s.tight = f, s.parentType = p, s.blkIndent = u, s.ddIndent = h, 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 = Ot(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 = Ot(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, S && yr(s, c), !0;\n}\nfunction Er(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 Pt = [[\"code\", rr], [\"fences\", or, [\"paragraph\", \"blockquote\", \"list\"]], [\"blockquote\", ar, [\"paragraph\", \"blockquote\", \"list\"]], [\"hr\", lr, [\"paragraph\", \"blockquote\", \"list\"]], [\"list\", dr, [\"paragraph\", \"blockquote\"]], [\"footnote\", ur, [\"paragraph\"]], [\"heading\", hr, [\"paragraph\", \"blockquote\"]], [\"lheading\", pr], [\"htmlblock\", br, [\"paragraph\", \"blockquote\"]], [\"table\", vr, [\"paragraph\"]], [\"deflist\", xr, [\"paragraph\"]], [\"paragraph\", Er]];\nfunction Ji() {\n this.ruler = new W();\n for (var s = 0; s < Pt.length; s++) this.ruler.push(Pt[s][0], Pt[s][1], {\n alt: (Pt[s][2] || []).slice()\n });\n}\nJi.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 _r = /[\\n\\t]/g,\n Sr = /\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,\n wr = /\\u00a0/g;\nJi.prototype.parse = function (s, e, t, i) {\n var n,\n r = 0,\n o = 0;\n if (!s) return [];\n s = s.replace(wr, \" \"), s = s.replace(Sr, \"\\n\"), s.indexOf(\"\t\") >= 0 && (s = s.replace(_r, 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 Fe(s, this, e, t, i), this.tokenize(n, n.line, n.lineMax);\n};\nfunction Mr(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 Tr(s, e) {\n for (var t = s.pos; t < s.posMax && !Mr(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 Cr(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 $i = [];\nfor (var vn = 0; vn < 256; vn++) $i.push(0);\n\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function (s) {\n $i[s.charCodeAt(0)] = 1;\n});\nfunction Ar(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 && $i[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 kr(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 Ir(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 Lr(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 Rr(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 yn(s) {\n return s >= 48 && s <= 57 || s >= 65 && s <= 90 || s >= 97 && s <= 122;\n}\nfunction xn(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 && (yn(i) && (o = !1), yn(n) && (a = !1))), {\n can_open: o,\n can_close: a,\n delims: r\n };\n}\nfunction Nr(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 u = s.src.charCodeAt(d);\n if (u !== 95 && u !== 42 || e) return !1;\n if (l = xn(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) === u) {\n if (l = xn(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 Or = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction Pr(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(Or, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nvar Dr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction jr(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(Dr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nfunction Fr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = !1,\n u = s.pos,\n h = s.posMax,\n p = s.pos,\n m = s.src.charCodeAt(p);\n if (m === 33 && (d = !0, m = s.src.charCodeAt(++p)), m !== 91 || s.level >= s.options.maxNesting || (t = p + 1, i = bt(s, p), i < 0)) return !1;\n if (a = i + 1, a < h && s.src.charCodeAt(a) === 40) {\n for (a++; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a >= h) return !1;\n for (p = a, ts(s, a) ? (r = s.linkContent, a = s.pos) : r = \"\", p = a; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && p !== a && is(s, a)) for (o = s.linkContent, a = s.pos; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);else o = \"\";\n if (a >= h || s.src.charCodeAt(a) !== 41) return s.pos = u, !1;\n a++;\n } else {\n if (s.linkLevel > 0) return !1;\n for (; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && s.src.charCodeAt(a) === 91 && (p = a + 1, a = bt(s, a), a >= 0 ? n = s.src.slice(p, a++) : a = p - 1), n || (_typeof(n) > \"u\" && (a = i + 1), n = s.src.slice(t, i)), l = s.env.references[ns(n)], !l) return s.pos = u, !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 = h, !0;\n}\nfunction Br(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 = bt(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 zr(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 Ur = [\"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 qr = /^<([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 Hr = /^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;\nfunction Gr(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(Hr), i ? Ur.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(qr), 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 si(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 Vr = /[a-zA-Z_:][a-zA-Z0-9:._-]*/,\n Wr = /[^\"'=<>`\\x00-\\x20]+/,\n Jr = /'[^']*'/,\n $r = /\"[^\"]*\"/,\n Kr = si(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\", Wr)(\"single_quoted\", Jr)(\"double_quoted\", $r)(),\n Yr = si(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\", Vr)(\"attr_value\", Kr)(),\n Zr = si(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\", Yr)(),\n Xr = /<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,\n Qr = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,\n eo = /<[?].*?[?]>/,\n to = /<![A-Z]+\\s+[^>]*>/,\n io = /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/,\n no = si(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\", Zr)(\"close_tag\", Xr)(\"comment\", Qr)(\"processing\", eo)(\"declaration\", to)(\"cdata\", io)();\nfunction so(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction ro(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 && !so(t)) || (i = s.src.slice(r).match(no), !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 oo = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,\n ao = /^&([a-z][a-z0-9]{1,31});/i;\nfunction lo(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(oo), n) return e || (i = n[1][0].toLowerCase() === \"x\" ? parseInt(n[1].slice(1), 16) : parseInt(n[1], 10), s.pending += Qn(i) ? Di(i) : Di(65533)), s.pos += n[0].length, !0;\n } else if (n = s.src.slice(r).match(ao), n) {\n var a = Zn(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 Ai = [[\"text\", Tr], [\"newline\", Cr], [\"escape\", Ar], [\"backticks\", kr], [\"del\", Ir], [\"ins\", Lr], [\"mark\", Rr], [\"emphasis\", Nr], [\"sub\", Pr], [\"sup\", jr], [\"links\", Fr], [\"footnote_inline\", Br], [\"footnote_ref\", zr], [\"autolink\", Gr], [\"htmltag\", ro], [\"entity\", lo]];\nfunction ri() {\n this.ruler = new W();\n for (var s = 0; s < Ai.length; s++) this.ruler.push(Ai[s][0], Ai[s][1]);\n this.validateLink = co;\n}\nri.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};\nri.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};\nri.prototype.parse = function (s, e, t, i) {\n var n = new je(s, this, e, t, i);\n this.tokenize(n);\n};\nfunction co(s) {\n var e = [\"vbscript\", \"javascript\", \"file\", \"data\"],\n t = s.trim().toLowerCase();\n return t = Ne(t), !(t.indexOf(\":\") !== -1 && e.indexOf(t.split(\":\")[0]) !== -1);\n}\nvar uo = {\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 ho = {\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 po = {\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 fo = {\n \"default\": uo,\n full: ho,\n commonmark: po\n };\nfunction os(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 fe(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 ri(), this.block = new Ji(), this.core = new ss(), this.renderer = new Wi(), this.ruler = new W(), this.options = {}, this.configure(fo[s]), this.set(e || {});\n}\nfe.prototype.set = function (s) {\n Xn(this.options, s);\n};\nfe.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};\nfe.prototype.use = function (s, e) {\n return s(this, e), this;\n};\nfe.prototype.parse = function (s, e) {\n var t = new os(this, s, e);\n return this.core.process(t), t.tokens;\n};\nfe.prototype.render = function (s, e) {\n return e = e || {}, this.renderer.render(this.parse(s, e), this.options, e);\n};\nfe.prototype.parseInline = function (s, e) {\n var t = new os(this, s, e);\n return t.inlineMode = !0, this.core.process(t), t.tokens;\n};\nfe.prototype.renderInline = function (s, e) {\n return e = e || {}, this.renderer.render(this.parseInline(s, e), this.options, e);\n};\nvar vt = /*#__PURE__*/function () {\n function vt() {\n _classCallCheck(this, vt);\n }\n _createClass(vt, null, [{\n key: \"instantiate\",\n value: function instantiate() {\n var e = window.hljs;\n return e ? new fe({\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: !1,\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 fe({\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 = vt.instantiate();\n return e.inline.validateLink = function () {\n return !0;\n }, e;\n }\n }]);\n return vt;\n}();\nvar as = /*#__PURE__*/function () {\n function We() {\n _classCallCheck(this, We);\n }\n _createClass(We, 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 || We.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\");\n }\n }, {\n key: \"processContent\",\n value: function processContent(e, t, i, n) {\n return !i || We.isNonLinkableDataUrl(e, i) ? t : We.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\")) We.waitToLoadThenScroll(t);else try {\n fetch(e, {\n mode: \"no-cors\"\n })[\"catch\"](function () {})[\"finally\"](function () {\n We.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 `onNewMessage` 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 return We;\n}();\nas.DEFAULT_FILE_NAME = \"file\";\nvar ae = as;\nvar zt = /*#__PURE__*/function () {\n function zt() {\n _classCallCheck(this, zt);\n }\n _createClass(zt, null, [{\n key: \"onNewMessage\",\n value: function onNewMessage(e, t, i) {\n var r;\n var n = JSON.parse(JSON.stringify({\n message: t,\n isInitial: i\n }));\n ae.reAddFileRefToObject(t, n), (r = e.onNewMessage) == null || r.call(e, n), e.dispatchEvent(new CustomEvent(\"new-message\", {\n detail: n\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 return zt;\n}();\nvar D = /*#__PURE__*/function () {\n function D() {\n _classCallCheck(this, D);\n }\n _createClass(D, 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 && (D.applyCustomStylesToElements(e, i, n.shared), t === b.USER_ROLE ? D.applyCustomStylesToElements(e, i, n.user) : (D.applyCustomStylesToElements(e, i, n.ai), D.applyCustomStylesToElements(e, i, n[t])));\n }\n }, {\n key: \"isMessageSideStyles\",\n value: function isMessageSideStyles(e) {\n return !!(e.ai || e.shared || e.user);\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 ? D.isMessageSideStyles(r) ? (D.applySideStyles(t, i, n, e[\"default\"]), D.applySideStyles(t, i, n, r)) : (D.applyCustomStylesToElements(t, n, (o = e[\"default\"]) == null ? void 0 : o.shared), D.applyCustomStylesToElements(t, n, r)) : D.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 return D;\n}();\nvar Ye = /*#__PURE__*/function () {\n function Ye(e) {\n var _this3 = this;\n _classCallCheck(this, Ye);\n this.messageElementRefs = [], this.messages = [], this.htmlClassUtilities = {}, this.textElementsToText = [], this.elementRef = Ye.createContainerElement(), this.messageStyles = e.messageStyles, this._remarkable = vt.createNew(), this._avatars = e.avatars, this._names = e.names, this._onNewMessage = zt.onNewMessage.bind(this, e), e.htmlClassUtilities && (this.htmlClassUtilities = e.htmlClassUtilities), setTimeout(function () {\n _this3.submitUserMessage = e.submitUserMessage;\n });\n }\n _createClass(Ye, [{\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 G.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 Ye.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 = Ye.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 && D.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._onNewMessage) == 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 = vt.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\")) || xe.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 return Ye;\n}();\nvar Ki = /*#__PURE__*/function () {\n // used for extracting at end and for isStreaming\n function ot(e) {\n _classCallCheck(this, ot);\n this._fileAdded = !1, this._streamedContent = \"\", this._streamType = \"\", this._hasStreamEnded = !1, this._messages = e;\n }\n _createClass(ot, [{\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 = G.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 && G.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) : Qe.add(this._messages, t, i, this._messages.messageElementRefs), this._elements.bubbleElement.classList.add(ot.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 = ot.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._fileAdded && !this._elements)) {\n if (!this._elements) throw Error(A.NO_VALID_STREAM_EVENTS_SENT);\n (t = this._elements.bubbleElement) != null && t.classList.contains(ot.MESSAGE_CLASS) && (this._streamType === \"text\" ? (e[e.length - 1][1] = this._streamedContent, this._message && (this._message.text = this._streamedContent), this._messages.textToSpeech && Ft.speak(this._streamedContent, this._messages.textToSpeech)) : this._streamType === \"html\" && (this._streamedContent === ot.HTML_CONTENT_PLACEHOLDER && (this._streamedContent = ((i = this._elements.bubbleElement) == null ? void 0 : i.innerHTML) || \"\"), this._elements && le.apply(this._messages, this._elements.outerContainer), this._message && (this._message.html = this._streamedContent)), this._message && this._messages.sendClientUpdate(Ye.createMessageContent(this._message), !1), this._hasStreamEnded = !0);\n }\n }\n }, {\n key: \"markFileAded\",\n value: function markFileAded() {\n this._fileAdded = !0;\n }\n }]);\n return ot;\n}();\nKi.MESSAGE_CLASS = \"streamed-message\";\nKi.HTML_CONTENT_PLACEHOLDER = \"htmlplaceholder\";\nvar Oe = Ki;\nvar ls = /*#__PURE__*/function () {\n function at() {\n _classCallCheck(this, at);\n }\n _createClass(at, 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 _callee(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (e != null && e.headers) {\n _context.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = e.headers[at.CONTENT_TYPE];\n delete e.headers[at.CONTENT_TYPE];\n _context.prev = 4;\n _context.next = 7;\n return t(i);\n case 7:\n r = _context.sent;\n _context.next = 13;\n break;\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](4);\n throw e.headers[at.CONTENT_TYPE] = n, _context.t0;\n case 13:\n return _context.abrupt(\"return\", (e.headers[at.CONTENT_TYPE] = n, r));\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 10]]);\n }));\n function tempRemoveContentHeader(_x5, _x6, _x7) {\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 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(_x, _x2, _x3, _x4) {\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.requestSettings) == null ? void 0 : o.method) || \"POST\",\n headers: t\n };\n return r.method !== \"GET\" && (r.body = i ? JSON.stringify(n) : n), e.requestSettings.credentials && (r.credentials = e.requestSettings.credentials), fetch(((a = e.requestSettings) == 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 _callee2(e, t) {\n var o, i, n, r;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (o = e.requestInterceptor) == null ? void 0 : o.call(e, t);\n case 2:\n _context2.t0 = _context2.sent;\n if (_context2.t0) {\n _context2.next = 5;\n break;\n }\n _context2.t0 = t;\n case 5:\n i = _context2.t0;\n n = i;\n r = i;\n return _context2.abrupt(\"return\", {\n body: n.body,\n headers: n.headers,\n error: r.error\n });\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n function processRequestInterceptor(_x8, _x9) {\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 return at;\n}();\nls.CONTENT_TYPE = \"Content-Type\";\nvar v = ls;\nfunction mo(_x10, _x11) {\n return _mo.apply(this, arguments);\n}\nfunction _mo() {\n _mo = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee113(s, e) {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee113$(_context113) {\n while (1) switch (_context113.prev = _context113.next) {\n case 0:\n t = s.getReader();\n case 1:\n _context113.next = 3;\n return t.read();\n case 3:\n if ((i = _context113.sent).done) {\n _context113.next = 7;\n break;\n }\n e(i.value);\n case 5:\n _context113.next = 1;\n break;\n case 7:\n case \"end\":\n return _context113.stop();\n }\n }, _callee113);\n }));\n return _mo.apply(this, arguments);\n}\nfunction go(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 = vo(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 bo(s, e, t) {\n var i = En();\n var n = new TextDecoder();\n return function (o, a) {\n if (o.length === 0) t == null || t(i), i = En();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 u = parseInt(d, 10);\n isNaN(u) || e(i.retry = u);\n break;\n }\n }\n };\n}\nfunction vo(s, e) {\n var t = new Uint8Array(s.length + e.length);\n return t.set(s), t.set(e, s.length), t;\n}\nfunction En() {\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: void 0\n };\n}\nvar yo = globalThis && globalThis.__rest || function (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 Fi = \"text/event-stream\",\n xo = 1e3,\n _n = \"last-event-id\";\nfunction Eo(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 = yo(e, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\n return new Promise(function (u, h) {\n var p = Object.assign({}, i);\n p.accept || (p.accept = Fi);\n var m;\n function f() {\n m.abort(), document.hidden || H();\n }\n l || document.addEventListener(\"visibilitychange\", f);\n var _ = xo,\n S = 0;\n function J() {\n document.removeEventListener(\"visibilitychange\", f), window.clearTimeout(S), m.abort();\n }\n t == null || t.addEventListener(\"abort\", function () {\n J(), u();\n });\n var X = c !== null && c !== void 0 ? c : window.fetch,\n O = n !== null && n !== void 0 ? n : _o;\n function H() {\n return _H.apply(this, arguments);\n }\n function _H() {\n _H = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {\n var Q, ee, I;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n m = new AbortController();\n _context3.prev = 1;\n _context3.next = 4;\n return X(s, Object.assign(Object.assign({}, d), {\n headers: p,\n signal: m.signal\n }));\n case 4:\n ee = _context3.sent;\n _context3.next = 7;\n return O(ee);\n case 7:\n _context3.next = 9;\n return mo(ee.body, go(bo(function (I) {\n I ? p[_n] = I : delete p[_n];\n }, function (I) {\n _ = I;\n }, r)));\n case 9:\n o == null || o();\n J();\n u();\n _context3.next = 17;\n break;\n case 14:\n _context3.prev = 14;\n _context3.t0 = _context3[\"catch\"](1);\n if (!m.signal.aborted) try {\n I = (Q = a == null ? void 0 : a(_context3.t0)) !== null && Q !== void 0 ? Q : _;\n window.clearTimeout(S), S = window.setTimeout(H, I);\n } catch (I) {\n J(), h(I);\n }\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[1, 14]]);\n }));\n return _H.apply(this, arguments);\n }\n H();\n });\n}\nfunction _o(s) {\n var e = s.headers.get(\"content-type\");\n if (!(e != null && e.startsWith(Fi))) throw new Error(\"Expected content-type to be \".concat(Fi, \", Actual: \").concat(e));\n}\nvar T = /*#__PURE__*/function () {\n function T() {\n _classCallCheck(this, T);\n }\n _createClass(T, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(e, t, i) {\n var n,\n m,\n f,\n _,\n S,\n J,\n X,\n r,\n _yield$v$processReque,\n o,\n a,\n l,\n _e$streamHandlers,\n c,\n d,\n u,\n h,\n p,\n _args6 = arguments;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n n = _args6.length > 3 && _args6[3] !== undefined ? _args6[3] : !0;\n r = {\n body: t,\n headers: (m = e.requestSettings) == null ? void 0 : m.headers\n };\n _context6.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque = _context6.sent;\n o = _yield$v$processReque.body;\n a = _yield$v$processReque.headers;\n l = _yield$v$processReque.error;\n _e$streamHandlers = e.streamHandlers;\n c = _e$streamHandlers.onOpen;\n d = _e$streamHandlers.onClose;\n u = _e$streamHandlers.abortStream;\n if (!l) {\n _context6.next = 14;\n break;\n }\n return _context6.abrupt(\"return\", v.onInterceptorError(i, l, d));\n case 14:\n if (!((f = e.requestSettings) != null && f.handler)) {\n _context6.next = 16;\n break;\n }\n return _context6.abrupt(\"return\", he.stream(e, o, i));\n case 16:\n if (!(((_ = e.requestSettings) == null ? void 0 : _.url) === Ee.URL)) {\n _context6.next = 18;\n break;\n }\n return _context6.abrupt(\"return\", Ee.requestStream(i, e.streamHandlers));\n case 18:\n h = new Oe(i), p = v.fetch.bind(this, e, a, n);\n Eo(((S = e.requestSettings) == null ? void 0 : S.url) || e.url || \"\", {\n method: ((J = e.requestSettings) == null ? void 0 : J.method) || \"POST\",\n headers: a,\n credentials: (X = e.requestSettings) == null ? void 0 : X.credentials,\n body: n ? JSON.stringify(o) : o,\n openWhenHidden: !0,\n // keep stream open when browser tab not open\n onopen: function onopen(O) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!O.ok) {\n _context4.next = 2;\n break;\n }\n return _context4.abrupt(\"return\", c());\n case 2:\n _context4.next = 4;\n return v.processResponseByType(O);\n case 4:\n throw _context4.sent;\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n },\n onmessage: function onmessage(O) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {\n var H, Q, ee, I, Rt;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (!(JSON.stringify(O.data) !== JSON.stringify(\"[DONE]\"))) {\n _context5.next = 9;\n break;\n }\n try {\n I = JSON.parse(O.data);\n } catch (_unused6) {\n I = {};\n }\n _context5.next = 4;\n return (Q = (H = e.deepChat).responseInterceptor) == null ? void 0 : Q.call(H, I);\n case 4:\n _context5.t0 = _context5.sent;\n if (_context5.t0) {\n _context5.next = 7;\n break;\n }\n _context5.t0 = I;\n case 7:\n Rt = _context5.t0;\n (ee = e.extractResultData) == null || ee.call(e, Rt, p, o).then(function (te) {\n e.asyncCallInProgress && te && te.text !== \"\" ? (T.simulate(i, e.streamHandlers, te), d(), e.asyncCallInProgress = !1) : T.upsertWFiles(i, h.upsertStreamedMessage.bind(h), h, te);\n })[\"catch\"](function (te) {\n return v.displayError(i, te);\n });\n case 9:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n },\n onerror: function onerror(O) {\n throw d(), O;\n },\n onclose: function onclose() {\n e.asyncCallInProgress || (h.finaliseStreamedMessage(), d());\n },\n signal: u.signal\n })[\"catch\"](function (O) {\n var H;\n i.isLastMessageError() || (H = e.extractResultData) == null || H.call(e, O).then(function () {\n v.displayError(i, O);\n })[\"catch\"](function (Q) {\n v.displayError(i, Q);\n });\n });\n case 20:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6, this);\n }));\n function request(_x12, _x13, _x14) {\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 || i.html) && e.addNewMessage(_objectSpread({\n sendUpdate: !1,\n ignoreText: !0\n }, i), !1), i.text) {\n t.onOpen();\n var r = i.text.split(\"\");\n T.populateMessages(r, new Oe(e), n);\n }\n }\n }, {\n key: \"populateMessages\",\n value: function populateMessages(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var r = e[n];\n if (r) {\n t.upsertStreamedMessage({\n text: r\n });\n var o = setTimeout(function () {\n T.populateMessages(e, t, i, n + 1);\n }, i.simulationInterim || 6);\n i.abortStream.abort = function () {\n T.abort(o, 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 T.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.markFileAded());\n }\n }]);\n return T;\n}();\nvar cs = /*#__PURE__*/function () {\n function lt() {\n _classCallCheck(this, lt);\n }\n _createClass(lt, 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 ? lt.getCustomResponse(e.customDemoResponse, e.messages[e.messages.length - 1]) : {\n text: lt.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 = lt.getResponse(t);\n setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {\n var r, o, n;\n return _regeneratorRuntime().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return (o = (r = e.deepChat).responseInterceptor) == null ? void 0 : o.call(r, i);\n case 2:\n _context7.t0 = _context7.sent;\n if (_context7.t0) {\n _context7.next = 5;\n break;\n }\n _context7.t0 = i;\n case 5:\n n = _context7.t0;\n n.error ? (t.addNewErrorMessage(\"service\", n.error), e.completionsHandlers.onFinish()) : T.isSimulatable(e.deepChat.stream, n) ? T.simulate(t, e.streamHandlers, n) : (t.addNewMessage(n), e.completionsHandlers.onFinish());\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7);\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 = lt.getResponse(e);\n T.simulate(e, t, i);\n }, 400);\n }\n }]);\n return lt;\n}();\ncs.URL = \"deep-chat-demo\";\nvar Ee = cs;\nvar B = /*#__PURE__*/function () {\n function B() {\n _classCallCheck(this, B);\n }\n _createClass(B, null, [{\n key: \"setup\",\n value: function setup(e) {\n e.requestSettings.url !== Ee.URL && (e.permittedErrorPrefixes = [\"Connection error\", \"Error in server message\"], e.websocket = \"pending\");\n }\n }, {\n key: \"createConnection\",\n value: function createConnection(e, t) {\n if (!document.body.contains(e.deepChat)) return;\n var i = e.requestSettings.websocket;\n if (i) {\n if (e.requestSettings.handler) return he.websocket(e, t);\n try {\n var n = typeof i != \"boolean\" ? i : void 0,\n r = new WebSocket(e.requestSettings.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), document.body.contains(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 _callee8(r) {\n var o, a, l, c, d, u, h;\n return _regeneratorRuntime().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n if (!e.extractResultData) {\n _context8.next = 20;\n break;\n }\n _context8.prev = 1;\n l = JSON.parse(r.data);\n _context8.next = 5;\n return (a = (o = e.deepChat).responseInterceptor) == null ? void 0 : a.call(o, l);\n case 5:\n _context8.t0 = _context8.sent;\n if (_context8.t0) {\n _context8.next = 8;\n break;\n }\n _context8.t0 = l;\n case 8:\n c = _context8.t0;\n _context8.next = 11;\n return e.extractResultData(c);\n case 11:\n d = _context8.sent;\n if (!(!d || _typeof(d) != \"object\")) {\n _context8.next = 14;\n break;\n }\n throw Error(A.INVALID_RESPONSE(l, \"server\", !!e.deepChat.responseInterceptor, c));\n case 14:\n if (T.isSimulation(e.deepChat.stream)) {\n u = B.stream.bind(_this6, e, i, n), h = n[l.role || b.AI_ROLE];\n T.upsertWFiles(i, u, h, d);\n } else i.addNewMessage(d);\n _context8.next = 20;\n break;\n case 17:\n _context8.prev = 17;\n _context8.t1 = _context8[\"catch\"](1);\n v.displayError(i, _context8.t1, \"Error in server message\");\n case 20:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8, null, [[1, 17]]);\n }));\n return function (_x15) {\n return _ref2.apply(this, arguments);\n };\n }(), t.onclose = function () {\n console.error(\"Connection closed\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\"), e.deepChat.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 _callee9(e, t, i) {\n var n,\n d,\n u,\n r,\n o,\n _yield$v$processReque2,\n a,\n l,\n c,\n _args9 = arguments;\n return _regeneratorRuntime().wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n n = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : !0;\n r = e.websocket;\n if (!(!r || r === \"pending\")) {\n _context9.next = 4;\n break;\n }\n return _context9.abrupt(\"return\");\n case 4:\n o = {\n body: t,\n headers: (d = e.requestSettings) == null ? void 0 : d.headers\n };\n _context9.next = 7;\n return v.processRequestInterceptor(e.deepChat, o);\n case 7:\n _yield$v$processReque2 = _context9.sent;\n a = _yield$v$processReque2.body;\n l = _yield$v$processReque2.error;\n if (!l) {\n _context9.next = 12;\n break;\n }\n return _context9.abrupt(\"return\", i.addNewErrorMessage(\"service\", l));\n case 12:\n if (B.isWebSocket(r)) {\n _context9.next = 14;\n break;\n }\n return _context9.abrupt(\"return\", r.newUserMessage.listener(a));\n case 14:\n c = n ? JSON.stringify(a) : a;\n if (!(((u = e.requestSettings) == null ? void 0 : u.url) === Ee.URL)) {\n _context9.next = 17;\n break;\n }\n return _context9.abrupt(\"return\", Ee.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 _context9.stop();\n }\n }, _callee9);\n }));\n function sendWebsocket(_x16, _x17, _x18) {\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.deepChat.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 ? (a == null || a.finaliseStreamedMessage(), delete i[o]) : ((_i$o = i[o]) !== null && _i$o !== void 0 ? _i$o : i[o] = new Oe(t), i[o].upsertStreamedMessage(n));\n } else T.simulate(t, e.streamHandlers, n);\n }\n }]);\n return B;\n}();\nvar he = /*#__PURE__*/function () {\n function he() {\n _classCallCheck(this, he);\n }\n _createClass(he, null, [{\n key: \"request\",\n value: function () {\n var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(e, t, i) {\n var a, l, n, r, o;\n return _regeneratorRuntime().wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n n = !0;\n r = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(c) {\n var u, h, d;\n return _regeneratorRuntime().wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n if (n) {\n _context10.next = 2;\n break;\n }\n return _context10.abrupt(\"return\");\n case 2:\n n = !1;\n _context10.next = 5;\n return (h = (u = e.deepChat).responseInterceptor) == null ? void 0 : h.call(u, c);\n case 5:\n _context10.t0 = _context10.sent;\n if (_context10.t0) {\n _context10.next = 8;\n break;\n }\n _context10.t0 = c;\n case 8:\n d = _context10.t0;\n v.validateResponseFormat(d) ? typeof d.error == \"string\" ? (console.error(d.error), i.addNewErrorMessage(\"service\", d.error), e.completionsHandlers.onFinish()) : T.isSimulatable(e.deepChat.stream, d) ? T.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 _context10.stop();\n }\n }, _callee10);\n }));\n return function r(_x22) {\n return _ref3.apply(this, arguments);\n };\n }(), o = he.generateOptionalSignals();\n (l = (a = e.requestSettings).handler) == null || l.call(a, t, _objectSpread(_objectSpread({}, o), {}, {\n onResponse: r\n }));\n case 3:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11);\n }));\n function request(_x19, _x20, _x21) {\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 u, h;\n var n = !0,\n r = !1;\n var o = new Oe(i),\n a = function a() {\n r || !n || (e.streamHandlers.onOpen(), r = !0);\n },\n l = function l() {\n n && (he.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1);\n },\n c = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(p) {\n var f, _, m;\n return _regeneratorRuntime().wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n if (n) {\n _context12.next = 2;\n break;\n }\n return _context12.abrupt(\"return\");\n case 2:\n _context12.next = 4;\n return (_ = (f = e.deepChat).responseInterceptor) == null ? void 0 : _.call(f, p);\n case 4:\n _context12.t0 = _context12.sent;\n if (_context12.t0) {\n _context12.next = 7;\n break;\n }\n _context12.t0 = p;\n case 7:\n m = _context12.t0;\n v.validateResponseFormat(m) ? m.error ? (console.error(m.error), o.finaliseStreamedMessage(), i.addNewErrorMessage(\"service\", m.error), e.streamHandlers.onClose(), n = !1) : T.upsertWFiles(i, o.upsertStreamedMessage.bind(o), o, m) : console.error(A.INVALID_RESPONSE(p, \"server\", !!e.deepChat.responseInterceptor, m));\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12);\n }));\n return function c(_x23) {\n return _ref4.apply(this, arguments);\n };\n }();\n e.streamHandlers.abortStream.abort = function () {\n he.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1;\n };\n var d = he.generateOptionalSignals();\n (h = (u = e.requestSettings).handler) == null || h.call(u, 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 _callee13(d) {\n var h, p, u, m, f;\n return _regeneratorRuntime().wrap(function _callee13$(_context13) {\n while (1) switch (_context13.prev = _context13.next) {\n case 0:\n if (i.isOpen) {\n _context13.next = 2;\n break;\n }\n return _context13.abrupt(\"return\");\n case 2:\n _context13.next = 4;\n return (p = (h = e.deepChat).responseInterceptor) == null ? void 0 : p.call(h, d);\n case 4:\n _context13.t0 = _context13.sent;\n if (_context13.t0) {\n _context13.next = 7;\n break;\n }\n _context13.t0 = d;\n case 7:\n u = _context13.t0;\n if (!v.validateResponseFormat(u)) console.error(A.INVALID_RESPONSE(d, \"server\", !!e.deepChat.responseInterceptor, u)), t.addNewErrorMessage(\"service\", \"Error in server message\");else if (typeof u.error == \"string\") console.error(u.error), t.isLastMessageError() || t.addNewErrorMessage(\"service\", u.error);else if (T.isSimulation(e.deepChat.stream)) {\n m = B.stream.bind(_this7, e, t, i.roleToStream), f = i.roleToStream[d.role || b.AI_ROLE];\n T.upsertWFiles(t, m, f, d);\n } else t.addNewMessage(u);\n case 9:\n case \"end\":\n return _context13.stop();\n }\n }, _callee13);\n }));\n return function o(_x24) {\n return _ref5.apply(this, arguments);\n };\n }(),\n a = he.generateOptionalSignals();\n (c = (l = e.requestSettings).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 return he;\n}();\nvar w = /*#__PURE__*/function () {\n function w() {\n _classCallCheck(this, w);\n }\n _createClass(w, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(e, t, i) {\n var n,\n h,\n p,\n m,\n r,\n _yield$v$processReque3,\n o,\n a,\n l,\n c,\n d,\n u,\n _args15 = arguments;\n return _regeneratorRuntime().wrap(function _callee15$(_context15) {\n while (1) switch (_context15.prev = _context15.next) {\n case 0:\n n = _args15.length > 3 && _args15[3] !== undefined ? _args15[3] : !0;\n r = {\n body: t,\n headers: (h = e.requestSettings) == null ? void 0 : h.headers\n };\n _context15.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque3 = _context15.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 _context15.next = 11;\n break;\n }\n return _context15.abrupt(\"return\", v.onInterceptorError(i, l, c));\n case 11:\n if (!((p = e.requestSettings) != null && p.handler)) {\n _context15.next = 13;\n break;\n }\n return _context15.abrupt(\"return\", he.request(e, o, i));\n case 13:\n if (!(((m = e.requestSettings) == null ? void 0 : m.url) === Ee.URL)) {\n _context15.next = 15;\n break;\n }\n return _context15.abrupt(\"return\", Ee.request(e, i));\n case 15:\n d = !0;\n u = v.fetch.bind(this, e, a, n);\n u(o).then(function (f) {\n return d = !!f.ok, f;\n }).then(function (f) {\n return v.processResponseByType(f);\n }).then( /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(f) {\n var J, X, _, S;\n return _regeneratorRuntime().wrap(function _callee14$(_context14) {\n while (1) switch (_context14.prev = _context14.next) {\n case 0:\n if (e.extractResultData) {\n _context14.next = 2;\n break;\n }\n return _context14.abrupt(\"return\");\n case 2:\n _context14.next = 4;\n return (X = (J = e.deepChat).responseInterceptor) == null ? void 0 : X.call(J, f);\n case 4:\n _context14.t0 = _context14.sent;\n if (_context14.t0) {\n _context14.next = 7;\n break;\n }\n _context14.t0 = f;\n case 7:\n _ = _context14.t0;\n _context14.next = 10;\n return e.extractResultData(_, u, o);\n case 10:\n S = _context14.sent;\n if (d) {\n _context14.next = 13;\n break;\n }\n throw f;\n case 13:\n if (!(!S || _typeof(S) != \"object\")) {\n _context14.next = 15;\n break;\n }\n throw Error(A.INVALID_RESPONSE(f, \"response\", !!e.deepChat.responseInterceptor, _));\n case 15:\n S.makingAnotherRequest || (T.isSimulatable(e.deepChat.stream, S) ? T.simulate(i, e.streamHandlers, S) : (i.addNewMessage(S), c()));\n case 16:\n case \"end\":\n return _context14.stop();\n }\n }, _callee14);\n }));\n return function (_x28) {\n return _ref6.apply(this, arguments);\n };\n }())[\"catch\"](function (f) {\n v.displayError(i, f), c();\n });\n case 18:\n case \"end\":\n return _context15.stop();\n }\n }, _callee15, this);\n }));\n function request(_x25, _x26, _x27) {\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 _callee16(o) {\n var l, c, a;\n return _regeneratorRuntime().wrap(function _callee16$(_context16) {\n while (1) switch (_context16.prev = _context16.next) {\n case 0:\n if (e.extractPollResultData) {\n _context16.next = 2;\n break;\n }\n return _context16.abrupt(\"return\");\n case 2:\n _context16.t0 = e;\n _context16.next = 5;\n return (c = (l = e.deepChat).responseInterceptor) == null ? void 0 : c.call(l, o);\n case 5:\n _context16.t1 = _context16.sent;\n if (_context16.t1) {\n _context16.next = 8;\n break;\n }\n _context16.t1 = o;\n case 8:\n _context16.t2 = _context16.t1;\n _context16.next = 11;\n return _context16.t0.extractPollResultData.call(_context16.t0, _context16.t2);\n case 11:\n a = _context16.sent;\n a.timeoutMS ? setTimeout(function () {\n w.executePollRequest(e, t, i, n);\n }, a.timeoutMS) : T.isSimulatable(e.deepChat.stream, o) ? T.simulate(n, e.streamHandlers, a) : (n.addNewMessage(a), r());\n case 13:\n case \"end\":\n return _context16.stop();\n }\n }, _callee16);\n }));\n return function (_x29) {\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 _callee17(e, t, i) {\n var n,\n p,\n m,\n f,\n r,\n _yield$v$processReque4,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n _args17 = arguments;\n return _regeneratorRuntime().wrap(function _callee17$(_context17) {\n while (1) switch (_context17.prev = _context17.next) {\n case 0:\n n = _args17.length > 3 && _args17[3] !== undefined ? _args17[3] : !0;\n r = {\n body: t,\n headers: (p = e.requestSettings) == null ? void 0 : p.headers\n };\n _context17.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque4 = _context17.sent;\n o = _yield$v$processReque4.body;\n a = _yield$v$processReque4.headers;\n l = _yield$v$processReque4.error;\n if (!l) {\n _context17.next = 10;\n break;\n }\n return _context17.abrupt(\"return\", v.onInterceptorError(i, l));\n case 10:\n c = ((m = e.requestSettings) == null ? void 0 : m.url) || e.url || \"\", d = ((f = e.requestSettings) == null ? void 0 : f.method) || \"POST\", u = n ? JSON.stringify(o) : o, h = {\n method: d,\n body: u,\n headers: a\n };\n e.requestSettings.credentials && (h.credentials = e.requestSettings.credentials), w.executePollRequest(e, c, h, i);\n case 12:\n case \"end\":\n return _context17.stop();\n }\n }, _callee17);\n }));\n function poll(_x30, _x31, _x32) {\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 return w;\n}();\nvar et = /*#__PURE__*/function () {\n function et() {\n _classCallCheck(this, et);\n }\n _createClass(et, 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 = et.getMaxMessages(e, t)) : e = [e[e.length - 1]], e = JSON.parse(JSON.stringify(e)), i === void 0 ? e : et.getCharacterLimitMessages(e, i);\n }\n }]);\n return et;\n}();\nvar L = /*#__PURE__*/function () {\n function L() {\n _classCallCheck(this, L);\n }\n _createClass(L, 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 var a = n.files,\n l = n.request,\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.request = {\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 = L.parseConfig(e.requestSettings, 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, _h$maxNumberOfFiles;\n var a, l, c, d, u, h;\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 = L.parseConfig(e.requestSettings, 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, (u = e.fileTypes.audio) != null && u.files && ((_h$maxNumberOfFiles = (h = e.fileTypes.audio.files).maxNumberOfFiles) !== null && _h$maxNumberOfFiles !== void 0 ? _h$maxNumberOfFiles : h.maxNumberOfFiles = i.files.maxNumberOfFiles))) : n || (e.fileTypes.audio = L.parseConfig(e.requestSettings, 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 = L.parseConfig(e.requestSettings, 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 = L.parseConfig(e.requestSettings, 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 = L.parseConfig(e.requestSettings, 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 = L.parseConfig(e.requestSettings, 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 = L.parseConfig(e.requestSettings, 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 L.populateDefaultFileIO(i == null ? void 0 : i.audio, \".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a\"), L.populateDefaultFileIO(i == null ? void 0 : i.images, \".png,.jpg\");\n var n = vt.createNew();\n L.processImagesConfig(t, n, e.images, i == null ? void 0 : i.images), L.processCamera(t, n, e.camera, e.images), L.processGifConfig(t, n, e.gifs, i == null ? void 0 : i.gifs), L.processAudioConfig(t, n, e.audio, i == null ? void 0 : i.audio), L.processMicrophone(t, n, e.microphone, e.audio), L.processMixedFiles(t, n, e.mixedFiles);\n }\n }]);\n return L;\n}();\nvar Pe = /*#__PURE__*/function () {\n function Pe(e, t, i) {\n var _a$url;\n _classCallCheck(this, Pe);\n var n, r, o, a;\n this.rawBody = {}, this.validateConfigKey = !1, this.canSendMessage = Pe.canSendMessage, this.requestSettings = {}, this.fileTypes = {}, this.completionsHandlers = {}, this.streamHandlers = {}, this.deepChat = e, this.demo = i, Object.assign(this.rawBody, (n = e.request) == 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, L.set(e, this, t), e.request && (this.requestSettings = e.request), this.demo && ((_a$url = (a = this.requestSettings).url) !== null && _a$url !== void 0 ? _a$url : a.url = Ee.URL), this.requestSettings.websocket && B.setup(this);\n }\n _createClass(Pe, [{\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 _callee18(e, t) {\n var i,\n n,\n _args18 = arguments;\n return _regeneratorRuntime().wrap(function _callee18$(_context18) {\n while (1) switch (_context18.prev = _context18.next) {\n case 0:\n i = _args18.length > 2 && _args18[2] !== undefined ? _args18[2] : !0;\n n = this.deepChat.stream;\n return _context18.abrupt(\"return\", n && !T.isSimulation(n) ? T.request(this, e, t) : w.request(this, e, t, i));\n case 3:\n case \"end\":\n return _context18.stop();\n }\n }, _callee18, this);\n }));\n function request(_x33, _x34) {\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 _callee19(e, t) {\n var _o$headers, _a$ContentType;\n var r, o, a, l, i, n;\n return _regeneratorRuntime().wrap(function _callee19$(_context19) {\n while (1) switch (_context19.prev = _context19.next) {\n case 0:\n i = _objectSpread({\n messages: t\n }, this.rawBody);\n n = !1;\n (r = this.requestSettings.headers) != null && r[\"Content-Type\"] || ((_o$headers = (o = this.requestSettings).headers) !== null && _o$headers !== void 0 ? _o$headers : o.headers = {}, (_a$ContentType = (a = this.requestSettings.headers)[\"Content-Type\"]) !== null && _a$ContentType !== void 0 ? _a$ContentType : a[\"Content-Type\"] = \"application/json\", n = !0);\n _context19.next = 5;\n return this.request(i, e);\n case 5:\n n && ((l = this.requestSettings.headers) == null || delete l[\"Content-Type\"]);\n case 6:\n case \"end\":\n return _context19.stop();\n }\n }, _callee19, this);\n }));\n function callAPIWithText(_x35, _x36) {\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 _callee20(e, t, i) {\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee20$(_context20) {\n while (1) switch (_context20.prev = _context20.next) {\n case 0:\n n = Pe.createCustomFormDataBody(this.rawBody, t, i), r = this.requestSettings, o = this.getServiceIOByType(i[0]);\n this.requestSettings = (o == null ? void 0 : o.request) || this.requestSettings;\n _context20.next = 4;\n return this.request(n, e, !1);\n case 4:\n this.requestSettings = r;\n case 5:\n case \"end\":\n return _context20.stop();\n }\n }, _callee20, this);\n }));\n function callApiWithFiles(_x37, _x38, _x39) {\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 _callee21(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee21$(_context21) {\n while (1) switch (_context21.prev = _context21.next) {\n case 0:\n i ? this.callApiWithFiles(e, t, i) : this.callAPIWithText(e, t);\n case 1:\n case \"end\":\n return _context21.stop();\n }\n }, _callee21, this);\n }));\n function callServiceAPI(_x40, _x41, _x42) {\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 _callee22(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee22$(_context22) {\n while (1) switch (_context22.prev = _context22.next) {\n case 0:\n if (this.requestSettings) {\n _context22.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = et.processMessages(t.messages, this.maxMessages, this.totalMessagesMaxCharLength);\n if (this.requestSettings.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 _context22.stop();\n }\n }, _callee22, this);\n }));\n function callAPI(_x43, _x44) {\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 _callee23(e) {\n return _regeneratorRuntime().wrap(function _callee23$(_context23) {\n while (1) switch (_context23.prev = _context23.next) {\n case 0:\n if (!e.error) {\n _context23.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!e.result) {\n _context23.next = 4;\n break;\n }\n return _context23.abrupt(\"return\", Re.handleResponseProperty(e));\n case 4:\n if (!v.validateResponseFormat(e)) {\n _context23.next = 6;\n break;\n }\n return _context23.abrupt(\"return\", e);\n case 6:\n case \"end\":\n return _context23.stop();\n }\n }, _callee23);\n }));\n function extractResultData(_x45) {\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 return Pe;\n}();\nvar q = /*#__PURE__*/function (_Pe) {\n _inherits(q, _Pe);\n // prettier-ignore\n function q(e, t, i, n, r) {\n var _this8;\n _classCallCheck(this, q);\n var o;\n _this8 = _callSuper(this, q, [e, r]), _this8.insertKeyPlaceholderText = \"API Key\", _this8.keyHelpUrl = \"\", Object.assign(_this8.rawBody, (o = e.request) == null ? void 0 : o.additionalBodyProps), _this8.keyVerificationDetails = t, _this8.buildHeadersFunc = i, n && _this8.setApiKeyProperties(n), _this8.requestSettings = _this8.buildRequestSettings(_this8.key || \"\", e.request);\n return _this8;\n }\n _createClass(q, [{\n key: \"setApiKeyProperties\",\n value: function setApiKeyProperties(e) {\n this.key = e.key, e.validateKeyProperty && (this.validateConfigKey = e.validateKeyProperty);\n }\n }, {\n key: \"buildRequestSettings\",\n value: function buildRequestSettings(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.requestSettings = this.buildRequestSettings(t, this.requestSettings), 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 w.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 return q;\n}(Pe);\nvar Ut = /*#__PURE__*/function () {\n function Ut() {\n _classCallCheck(this, Ut);\n }\n _createClass(Ut, null, [{\n key: \"waitForPropertiesToBeUpdatedBeforeRender\",\n value: function waitForPropertiesToBeUpdatedBeforeRender(e) {\n e._propUpdated_ = !1, setTimeout(function () {\n e._propUpdated_ ? Ut.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, Ut.waitForPropertiesToBeUpdatedBeforeRender(e));\n }\n }]);\n return Ut;\n}();\nvar Yi = /*#__PURE__*/function (_HTMLElement) {\n _inherits(Je, _HTMLElement);\n // If this is not working, try using propertyName directly\n function Je() {\n var _this9;\n _classCallCheck(this, Je);\n _this9 = _callSuper(this, Je), _this9._waitingToRender_ = !1, _this9._propUpdated_ = !1, Object.keys(Je._attributeToProperty_).forEach(function (e) {\n var t = Je._attributeToProperty_[e];\n _this9.constructPropertyAccessors(t), _this9.hasOwnProperty(e) || _this9.constructPropertyAccessors(t, e);\n });\n return _this9;\n }\n _createClass(Je, [{\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 : Ut.attemptRender(this);\n }\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(e, t, i) {\n if (t === i) return;\n var n = Je._attributes_[e](i),\n r = Je._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(Je._attributes_) || [];\n }\n }]);\n return Je;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\nYi._attributes_ = {};\nYi._attributeToProperty_ = {};\nvar So = Yi;\nvar wo = \"<?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 Mo = \"<?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 V = /*#__PURE__*/function () {\n function V() {\n _classCallCheck(this, V);\n }\n _createClass(V, null, [{\n key: \"createSVGElement\",\n value: function createSVGElement(e) {\n return new DOMParser().parseFromString(e, \"image/svg+xml\").documentElement;\n }\n }]);\n return V;\n}();\nvar ds = /*#__PURE__*/function () {\n function $e() {\n _classCallCheck(this, $e);\n }\n _createClass($e, null, [{\n key: \"changeVisibility\",\n value:\n // prettier-ignore\n function changeVisibility(e, t, i, n) {\n n.target.id === $e.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 = V.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 = $e.createIconElement(Mo, $e.VISIBLE_ICON_ID);\n i.style.display = \"none\", t.appendChild(i);\n var n = $e.createIconElement(wo, \"not-visible-icon\");\n return t.appendChild(n), t.onclick = $e.changeVisibility.bind(this, e, i, n), t;\n }\n }]);\n return $e;\n}();\nds.VISIBLE_ICON_ID = \"visible-icon\";\nvar To = ds;\nvar P = /*#__PURE__*/function () {\n function P() {\n _classCallCheck(this, P);\n }\n _createClass(P, 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 = P.createFailText();\n if (n.appendChild(r), e) {\n var o = P.createHelpLink(e);\n n.appendChild(o);\n }\n if (t === !0) {\n var _o2 = P.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: P.onFail.bind(this, e, t, i),\n onLoad: P.onLoad.bind(this, e, t)\n },\n a = P.verifyKey.bind(this, e, o, r);\n t.onclick = a, e.onkeydown = function (l) {\n !e.classList.contains(\"loading\") && l.key === R.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 = P.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 = P.createInput(t.insertKeyPlaceholderText),\n r = n.children[0],\n o = To.create(r);\n n.appendChild(o), i.appendChild(n);\n var a = P.createStartButton(),\n _P$createHelpTextCont = P.createHelpTextContainer(t.keyHelpUrl, (d = t.deepChat._insertKeyViewStyles) == null ? void 0 : d.displayCautionText),\n l = _P$createHelpTextCont.helpTextContainerElement,\n c = _P$createHelpTextCont.failTextElement;\n return i.appendChild(a), i.appendChild(l), P.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 = P.createContents(e, t);\n return i.appendChild(n), i;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = P.createElements(t, i);\n e.replaceChildren(n);\n }\n }]);\n return P;\n}();\nvar _t = /*#__PURE__*/function () {\n function me() {\n _classCallCheck(this, me);\n }\n _createClass(me, 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 < Zi.MODULE_SEARCH_LIMIT_S * 4 && setTimeout(function () {\n return me.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) || me.DOWNLOAD_BUTTON_CLASS,\n o = (t == null ? void 0 : t.uploadClass) || me.UPLOAD_BUTTON_CLASS,\n a = (t == null ? void 0 : t.fileInputClass) || me.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) && me.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) || me.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 me.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 return me;\n}();\n_t.DOWNLOAD_BUTTON_CLASS = \"deep-chat-download-button\";\n_t.UPLOAD_BUTTON_CLASS = \"deep-chat-upload-button\";\n_t.FILE_INPUT_CLASS = \"deep-chat-file-input\";\n_t.EXPORT_BUTTON_CLASS = \"deep-chat-export-button\";\nvar Sn = _t;\nvar wn = {\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 it = /*#__PURE__*/function (_Pe2) {\n _inherits(M, _Pe2);\n function M(e) {\n var _this10;\n _classCallCheck(this, M);\n var t, i;\n _this10 = _callSuper(this, M, [e]), _this10._isModelLoaded = !1, _this10._isModelLoading = !1, _this10._loadOnFirstMessage = !1, _this10._webModel = {}, _this10.permittedErrorPrefixes = [M.MULTIPLE_MODELS_ERROR, M.WEB_LLM_NOT_FOUND_ERROR, M.GENERIC_ERROR], _this10._conversationHistory = [], _typeof(e.webModel) == \"object\" && (_this10._webModel = e.webModel), (t = _this10._webModel.load) != null && t.clearCache && M.clearAllCache(), _this10.findModelInWindow(e), _this10.canSendMessage = _this10.canSubmit.bind(_assertThisInitialized(_this10)), _this10._chatEl = (i = e.shadowRoot) == null ? void 0 : i.children[0], e.initialMessages && M.setUpHistory(_this10._conversationHistory, e.initialMessages);\n return _this10;\n }\n // need ref of messages object as web model exhibits unique behaviour to manipulate chat\n _createClass(M, [{\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.shouldAddInitialMessage(e.introMessage)) : t > M.MODULE_SEARCH_LIMIT_S ? ((i = this._messages) == null || i.addNewErrorMessage(\"service\", M.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: \"shouldAddInitialMessage\",\n value: function shouldAddInitialMessage(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 && G.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.shouldAddInitialMessage(e) || !this._chatEl) return;\n var t = Sn.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 _callee24(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee24$(_context24) {\n while (1) switch (_context24.prev = _context24.next) {\n case 0:\n t = this._webModel.load;\n if (!t) {\n _context24.next = 8;\n break;\n }\n if (!t.onInit) {\n _context24.next = 5;\n break;\n }\n this.init();\n return _context24.abrupt(\"return\");\n case 5:\n if (!t.onMessage) {\n _context24.next = 8;\n break;\n }\n this._loadOnFirstMessage = !0;\n return _context24.abrupt(\"return\");\n case 8:\n e || this.init();\n case 9:\n case \"end\":\n return _context24.stop();\n }\n }, _callee24, this);\n }));\n function configureInit(_x46) {\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 _callee25(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee25$(_context25) {\n while (1) switch (_context25.prev = _context25.next) {\n case 0:\n (i = this._messages) == null || i.removeError();\n t = this.attemptToCreateChat();\n _context25.t0 = t;\n if (!_context25.t0) {\n _context25.next = 6;\n break;\n }\n _context25.next = 6;\n return this.loadModel(t, e);\n case 6:\n case \"end\":\n return _context25.stop();\n }\n }, _callee25, this);\n }));\n function init(_x47) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n }, {\n key: \"attemptToCreateChat\",\n value: function attemptToCreateChat() {\n var t;\n if (M.chat) {\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", M.MULTIPLE_MODELS_ERROR), console.error(M.MULTIPLE_MODELS_ERROR);\n return;\n }\n if (this._isModelLoaded || this._isModelLoading) return;\n var e = this._webModel.worker;\n return wn.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 = M.DEFAULT_MODEL;\n this._webModel.model && (e = this._webModel.model);\n var t = JSON.parse(JSON.stringify(wn));\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 _callee26(e, t) {\n var _this14 = this;\n var o, a, l, c, d, u, h, i, n, r, _this$getConfig, p, m, f, _p;\n return _regeneratorRuntime().wrap(function _callee26$(_context26) {\n while (1) switch (_context26.prev = _context26.next) {\n case 0:\n this.scrollToTop(), M.chat = e, this._isModelLoading = !0;\n i = ((o = this._webModel.introMessage) == null ? void 0 : o.displayed) === !1;\n n = function n(p) {\n var m;\n (m = _this14._messages) == null || m.addNewMessage({\n html: \"<div>\".concat(p.text, \"</div>\"),\n overwrite: !0,\n sendUpdate: !1\n }), i && (setTimeout(function () {\n var f;\n return G.scrollToBottom((f = _this14._messages) == null ? void 0 : f.elementRef);\n }), i = !1);\n };\n M.chat.setInitProgressCallback(n);\n _context26.prev = 4;\n _this$getConfig = this.getConfig(), p = _this$getConfig.model, m = _this$getConfig.appConfig, f = {};\n this._webModel.instruction && (f.conv_config = {\n system: this._webModel.instruction\n });\n this._conversationHistory.length > 0 && (f.conversation_history = this._conversationHistory);\n _context26.next = 10;\n return M.chat.reload(p, f, m, t);\n case 10:\n r = _context26.sent;\n _context26.next = 16;\n break;\n case 13:\n _context26.prev = 13;\n _context26.t0 = _context26[\"catch\"](4);\n return _context26.abrupt(\"return\", this.unloadChat(_context26.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 ? (u = this._messages) == null || u.removeLastMessage() : (h = this._removeIntro) == null || h.call(this);else {\n _p = Sn.setUpAfterLoad(r, this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n (d = this._messages) == null || d.addNewMessage({\n html: _p,\n overwrite: !0,\n sendUpdate: !1\n });\n }\n this._isModelLoaded = !0, this._isModelLoading = !1;\n case 18:\n case \"end\":\n return _context26.stop();\n }\n }, _callee26, this, [[4, 13]]);\n }));\n function loadModel(_x48, _x49) {\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 _callee27(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee27$(_context27) {\n while (1) switch (_context27.prev = _context27.next) {\n case 0:\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", M.GENERIC_ERROR);\n console.error(e);\n this._isModelLoaded = !1;\n this._isModelLoading = !1;\n _context27.t0 = M.chat;\n if (!_context27.t0) {\n _context27.next = 9;\n break;\n }\n _context27.next = 8;\n return M.chat.unload();\n case 8:\n M.chat = void 0;\n case 9:\n case \"end\":\n return _context27.stop();\n }\n }, _callee27, this);\n }));\n function unloadChat(_x50) {\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 _callee28(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee28$(_context28) {\n while (1) switch (_context28.prev = _context28.next) {\n case 0:\n _context28.next = 2;\n return i.generate(t, void 0, 0);\n case 2:\n _context28.t0 = _context28.sent;\n n = {\n text: _context28.t0\n };\n _context28.next = 6;\n return M.processResponse(this.deepChat, e, n);\n case 6:\n r = _context28.sent;\n r && e.addNewMessage(r), this.completionsHandlers.onFinish();\n case 8:\n case \"end\":\n return _context28.stop();\n }\n }, _callee28, this);\n }));\n function immediateResp(_x51, _x52, _x53) {\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 _callee30(e, t, i) {\n var _this15 = this;\n var n;\n return _regeneratorRuntime().wrap(function _callee30$(_context30) {\n while (1) switch (_context30.prev = _context30.next) {\n case 0:\n this.streamHandlers.abortStream.abort = function () {\n i.interruptGenerate();\n }, this.streamHandlers.onOpen();\n n = new Oe(e);\n _context30.next = 4;\n return i.generate(t, /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29(r, o) {\n var a;\n return _regeneratorRuntime().wrap(function _callee29$(_context29) {\n while (1) switch (_context29.prev = _context29.next) {\n case 0:\n _context29.next = 2;\n return M.processResponse(_this15.deepChat, e, {\n text: o\n });\n case 2:\n a = _context29.sent;\n a && n.upsertStreamedMessage({\n text: a.text,\n overwrite: !0\n });\n case 4:\n case \"end\":\n return _context29.stop();\n }\n }, _callee29);\n }));\n return function (_x57, _x58) {\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 _context30.stop();\n }\n }, _callee30, this);\n }));\n function streamResp(_x54, _x55, _x56) {\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 _callee31(e, t, i, n) {\n var r;\n return _regeneratorRuntime().wrap(function _callee31$(_context31) {\n while (1) switch (_context31.prev = _context31.next) {\n case 0:\n _context31.prev = 0;\n if (!i) {\n _context31.next = 6;\n break;\n }\n _context31.next = 4;\n return this.streamResp(e, t, n);\n case 4:\n _context31.next = 8;\n break;\n case 6:\n _context31.next = 8;\n return this.immediateResp(e, t, n);\n case 8:\n _context31.next = 13;\n break;\n case 10:\n _context31.prev = 10;\n _context31.t0 = _context31[\"catch\"](0);\n (r = this._messages) == null || r.addNewErrorMessage(\"service\"), console.log(_context31.t0);\n case 13:\n case \"end\":\n return _context31.stop();\n }\n }, _callee31, this, [[0, 10]]);\n }));\n function generateRespByType(_x59, _x60, _x61, _x62) {\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 _callee32(e, t, i) {\n var n, _yield$v$processReque5, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee32$(_context32) {\n while (1) switch (_context32.prev = _context32.next) {\n case 0:\n n = t[t.length - 1].text;\n _context32.next = 3;\n return v.processRequestInterceptor(this.deepChat, {\n body: {\n text: n\n }\n });\n case 3:\n _yield$v$processReque5 = _context32.sent;\n r = _yield$v$processReque5.body;\n o = _yield$v$processReque5.error;\n a = !!this.deepChat.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.deepChat.stream, i);\n } catch (l) {\n this.unloadChat(l);\n }\n case 8:\n case \"end\":\n return _context32.stop();\n }\n }, _callee32, this);\n }));\n function generateResp(_x63, _x64, _x65) {\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 _callee33(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee33$(_context33) {\n while (1) switch (_context33.prev = _context33.next) {\n case 0:\n if (this._isModelLoaded) {\n _context33.next = 7;\n break;\n }\n if (!this._loadOnFirstMessage) {\n _context33.next = 6;\n break;\n }\n _context33.next = 4;\n return this.init();\n case 4:\n _context33.next = 7;\n break;\n case 6:\n return _context33.abrupt(\"return\");\n case 7:\n !M.chat || this._isModelLoading || ((i = this._webModel.introMessage) != null && i.removeAfterMessage && ((n = this._removeIntro) == null || n.call(this)), e.addLoadingMessage(), this.generateResp(e, t, M.chat));\n case 8:\n case \"end\":\n return _context33.stop();\n }\n }, _callee33, this);\n }));\n function callServiceAPI(_x66, _x67) {\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 _callee34(e, t, i) {\n var r, n, o;\n return _regeneratorRuntime().wrap(function _callee34$(_context34) {\n while (1) switch (_context34.prev = _context34.next) {\n case 0:\n _context34.next = 2;\n return (r = e.responseInterceptor) == null ? void 0 : r.call(e, i);\n case 2:\n _context34.t0 = _context34.sent;\n if (_context34.t0) {\n _context34.next = 5;\n break;\n }\n _context34.t0 = i;\n case 5:\n n = _context34.t0;\n if (!n.error) {\n _context34.next = 11;\n break;\n }\n v.displayError(t, new Error(n.error));\n return _context34.abrupt(\"return\");\n case 11:\n if (!(!n || !n.text)) {\n _context34.next = 15;\n break;\n }\n o = A.INVALID_MODEL_RESPONSE(i, !!e.responseInterceptor, n);\n v.displayError(t, new Error(o));\n return _context34.abrupt(\"return\");\n case 15:\n return _context34.abrupt(\"return\", n);\n case 16:\n case \"end\":\n return _context34.stop();\n }\n }, _callee34);\n }));\n function processResponse(_x68, _x69, _x70) {\n return _processResponse.apply(this, arguments);\n }\n return processResponse;\n }()\n }, {\n key: \"clearAllCache\",\n value: function clearAllCache() {\n M.clearCache(\"webllm/model\"), M.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 return M;\n }(Pe);\nit.GENERIC_ERROR = \"Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.\";\nit.MULTIPLE_MODELS_ERROR = \"Cannot run multiple web models\";\nit.WEB_LLM_NOT_FOUND_ERROR = \"WebLLM module not found\";\nit.DEFAULT_MODEL = \"Llama-2-7b-chat-hf-q4f32_1\";\nit.MODULE_SEARCH_LIMIT_S = 5;\nvar Zi = it;\nvar qt = /*#__PURE__*/function () {\n function qt() {\n _classCallCheck(this, qt);\n }\n _createClass(qt, 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: qt.handleVerificationResult\n };\n }\n }]);\n return qt;\n}();\nvar us = /*#__PURE__*/function (_q) {\n _inherits(Bi, _q);\n // prettier-ignore\n function Bi(e, t, i, n, r, o) {\n var _this16;\n _classCallCheck(this, Bi);\n _this16 = _callSuper(this, Bi, [e, qt.buildKeyVerificationDetails(), qt.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(Bi.URL_PREFIX).concat(i), _this16.textInputPlaceholderText = t, _typeof(n) == \"object\" && (n.model && (_this16.url = \"\".concat(Bi.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 _createClass(Bi, [{\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 _callee35(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee35$(_context35) {\n while (1) switch (_context35.prev = _context35.next) {\n case 0:\n if (this.requestSettings) {\n _context35.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 w.request(this, n, e);\n case 4:\n case \"end\":\n return _context35.stop();\n }\n }, _callee35, this);\n }));\n function callServiceAPI(_x71, _x72, _x73) {\n return _callServiceAPI3.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }]);\n return Bi;\n}(q);\nus.URL_PREFIX = \"https://api-inference.huggingface.co/models/\";\nvar Be = us;\nvar St = /*#__PURE__*/function (_Be) {\n _inherits(St, _Be);\n // prettier-ignore\n function St(e, t, i, n, r, o) {\n var _this17;\n _classCallCheck(this, St);\n _this17 = _callSuper(this, St, [e, t, i, n, r, o]), _this17.isTextInputDisabled = !0, _this17.canSendMessage = St.canSendFile;\n return _this17;\n }\n _createClass(St, [{\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 _callee36(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee36$(_context36) {\n while (1) switch (_context36.prev = _context36.next) {\n case 0:\n if (this.requestSettings) {\n _context36.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 _context36.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n w.poll(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context36.stop();\n }\n }, _callee36, this);\n }));\n function callServiceAPI(_x74, _x75, _x76) {\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 return St;\n}(Be);\nvar Co = /*#__PURE__*/function (_St) {\n _inherits(Co, _St);\n // prettier-ignore\n function Co(e) {\n _classCallCheck(this, Co);\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, Co, [e, \"Attach an audio file\", \"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\", t, i, {\n audio: {}\n }]);\n }\n _createClass(Co, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee37(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee37$(_context37) {\n while (1) switch (_context37.prev = _context37.next) {\n case 0:\n if (!e.estimated_time) {\n _context37.next = 2;\n break;\n }\n return _context37.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context37.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context37.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context37.stop();\n }\n }, _callee37);\n }));\n function extractPollResultData(_x77) {\n return _extractPollResultData.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Co;\n}(St);\nvar Ao = /*#__PURE__*/function (_St2) {\n _inherits(Ao, _St2);\n function Ao(e) {\n _classCallCheck(this, Ao);\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, Ao, [e, \"Attach an image file\", \"google/vit-base-patch16-224\", t, i, {\n images: {}\n }]);\n }\n _createClass(Ao, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData2 = _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(_x78) {\n return _extractPollResultData2.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Ao;\n}(St);\nvar wt = \"data:image/png;base64,\";\nvar ce = /*#__PURE__*/function () {\n function ce() {\n _classCallCheck(this, ce);\n }\n _createClass(ce, 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: ce.handleVerificationResult\n };\n }\n }]);\n return ce;\n}();\nvar oi = /*#__PURE__*/function (_q2) {\n _inherits(oi, _q2);\n // prettier-ignore\n function oi(e, t, i, n, r) {\n var _this18;\n _classCallCheck(this, oi);\n _this18 = _callSuper(this, oi, [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 return _createClass(oi);\n}(q);\nvar Ht = /*#__PURE__*/function (_oi) {\n _inherits(Ht, _oi);\n function Ht(e) {\n var _this19;\n _classCallCheck(this, Ht);\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, Ht, [e, ce.buildKeyVerificationDetails(), ce.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\")), Ht.cleanConfig(r), Object.assign(_this19.rawBody, r)), _this19.canSendMessage = Ht.canSendFileMessage;\n return _this19;\n }\n _createClass(Ht, [{\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 _callee39(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee39$(_context39) {\n while (1) switch (_context39.prev = _context39.next) {\n case 0:\n if (this.requestSettings) {\n _context39.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context39.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.requestSettings, w.request.bind(this, this, n, e), !1);\n case 6:\n case \"end\":\n return _context39.stop();\n }\n }, _callee39, this);\n }));\n function callServiceAPI(_x79, _x80, _x81) {\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 _callee40(e) {\n return _regeneratorRuntime().wrap(function _callee40$(_context40) {\n while (1) switch (_context40.prev = _context40.next) {\n case 0:\n if (!e.message) {\n _context40.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context40.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context40.stop();\n }\n }, _callee40);\n }));\n function extractResultData(_x82) {\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 return Ht;\n}(oi);\nvar Gt = /*#__PURE__*/function (_oi2) {\n _inherits(Gt, _oi2);\n function Gt(e) {\n var _this20;\n _classCallCheck(this, Gt);\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, Gt, [e, ce.buildKeyVerificationDetails(), ce.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), Gt.cleanConfig(r), Object.assign(_this20.rawBody, r)), _this20.canSendMessage = Gt.canSendFileTextMessage;\n return _this20;\n }\n _createClass(Gt, [{\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 _callee41(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee41$(_context41) {\n while (1) switch (_context41.prev = _context41.next) {\n case 0:\n if (this.requestSettings) {\n _context41.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 _context41.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.requestSettings, w.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context41.stop();\n }\n }, _callee41, this);\n }));\n function callServiceAPI(_x83, _x84, _x85) {\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 _callee42(e) {\n return _regeneratorRuntime().wrap(function _callee42$(_context42) {\n while (1) switch (_context42.prev = _context42.next) {\n case 0:\n if (!e.message) {\n _context42.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context42.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context42.stop();\n }\n }, _callee42);\n }));\n function extractResultData(_x86) {\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 return Gt;\n}(oi);\nvar ko = /*#__PURE__*/function (_St3) {\n _inherits(ko, _St3);\n function ko(e) {\n _classCallCheck(this, ko);\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, ko, [e, \"Attach an audio file\", \"facebook/wav2vec2-large-960h-lv60-self\", t, i, {\n audio: {}\n }]);\n }\n _createClass(ko, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData3 = _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.estimated_time) {\n _context43.next = 2;\n break;\n }\n return _context43.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context43.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context43.abrupt(\"return\", {\n text: e.text || \"\"\n });\n case 5:\n case \"end\":\n return _context43.stop();\n }\n }, _callee43);\n }));\n function extractPollResultData(_x87) {\n return _extractPollResultData3.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return ko;\n}(St);\nvar Io = /*#__PURE__*/function (_Be2) {\n _inherits(Io, _Be2);\n function Io(e) {\n _classCallCheck(this, Io);\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, Io, [e, \"Once upon a time\", \"gpt2\", t, i]);\n }\n _createClass(Io, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData4 = _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.error) {\n _context44.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context44.abrupt(\"return\", {\n text: e[0].generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context44.stop();\n }\n }, _callee44);\n }));\n function extractResultData(_x88) {\n return _extractResultData4.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Io;\n}(Be);\nvar Lo = /*#__PURE__*/function (_Be3) {\n _inherits(Lo, _Be3);\n function Lo(e) {\n var _this21;\n _classCallCheck(this, Lo);\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, Lo, [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 _createClass(Lo, [{\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 _callee45(e) {\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: e.answer || \"\"\n });\n case 3:\n case \"end\":\n return _context45.stop();\n }\n }, _callee45);\n }));\n function extractResultData(_x89) {\n return _extractResultData5.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Lo;\n}(Be);\nvar Ro = /*#__PURE__*/function (_Be4) {\n _inherits(Ro, _Be4);\n function Ro(e) {\n _classCallCheck(this, Ro);\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, Ro, [e, \"Insert text to summarize\", \"facebook/bart-large-cnn\", t, i]);\n }\n _createClass(Ro, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData6 = _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[0].summary_text || \"\"\n });\n case 3:\n case \"end\":\n return _context46.stop();\n }\n }, _callee46);\n }));\n function extractResultData(_x90) {\n return _extractResultData6.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Ro;\n}(Be);\nvar No = /*#__PURE__*/function (_Be5) {\n _inherits(No, _Be5);\n function No(e) {\n var _this22$maxMessages;\n var _this22;\n _classCallCheck(this, No);\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, No, [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 _createClass(No, [{\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 _callee47(e) {\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: e.generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context47.stop();\n }\n }, _callee47);\n }));\n function extractResultData(_x91) {\n return _extractResultData7.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return No;\n}(Be);\nvar Vt = /*#__PURE__*/function (_oi3) {\n _inherits(Vt, _oi3);\n function Vt(e) {\n var _this23;\n _classCallCheck(this, Vt);\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, Vt, [e, ce.buildKeyVerificationDetails(), ce.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), Vt.cleanConfig(r), Object.assign(_this23.rawBody, r)), _this23.canSendMessage = Vt.canSendFileTextMessage;\n return _this23;\n }\n _createClass(Vt, [{\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 _callee48(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee48$(_context48) {\n while (1) switch (_context48.prev = _context48.next) {\n case 0:\n if (this.requestSettings) {\n _context48.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context48.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.requestSettings, w.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context48.stop();\n }\n }, _callee48, this);\n }));\n function callServiceAPI(_x92, _x93, _x94) {\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 _callee49(e) {\n return _regeneratorRuntime().wrap(function _callee49$(_context49) {\n while (1) switch (_context49.prev = _context49.next) {\n case 0:\n if (!e.message) {\n _context49.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context49.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context49.stop();\n }\n }, _callee49);\n }));\n function extractResultData(_x95) {\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 return Vt;\n}(oi);\nvar Oo = /*#__PURE__*/function (_Be6) {\n _inherits(Oo, _Be6);\n function Oo(e) {\n _classCallCheck(this, Oo);\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, Oo, [e, \"Insert text to translate\", \"Helsinki-NLP/opus-tatoeba-en-ja\", t, i]);\n }\n _createClass(Oo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData9 = _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.error) {\n _context50.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context50.abrupt(\"return\", {\n text: e[0].translation_text || \"\"\n });\n case 3:\n case \"end\":\n return _context50.stop();\n }\n }, _callee50);\n }));\n function extractResultData(_x96) {\n return _extractResultData9.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Oo;\n}(Be);\nvar Wt = /*#__PURE__*/function (_oi4) {\n _inherits(Wt, _oi4);\n function Wt(e) {\n var _this24;\n _classCallCheck(this, Wt);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI;\n _this24 = _callSuper(this, Wt, [e, ce.buildKeyVerificationDetails(), ce.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), Wt.cleanConfig(n), Object.assign(_this24.rawBody, n)), _this24.canSendMessage = Wt.canSendTextMessage;\n return _this24;\n }\n _createClass(Wt, [{\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 _callee51(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee51$(_context51) {\n while (1) switch (_context51.prev = _context51.next) {\n case 0:\n if (this.requestSettings) {\n _context51.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 w.request(this, i, e);\n case 4:\n case \"end\":\n return _context51.stop();\n }\n }, _callee51, this);\n }));\n function callServiceAPI(_x97, _x98) {\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 _callee52(e) {\n return _regeneratorRuntime().wrap(function _callee52$(_context52) {\n while (1) switch (_context52.prev = _context52.next) {\n case 0:\n if (!e.message) {\n _context52.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context52.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context52.stop();\n }\n }, _callee52);\n }));\n function extractResultData(_x99) {\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 return Wt;\n}(oi);\nvar Po = /*#__PURE__*/function (_Be7) {\n _inherits(Po, _Be7);\n function Po(e) {\n var _this25;\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.fillMask,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this25 = _callSuper(this, Po, [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 _createClass(Po, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData11 = _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.error) {\n _context53.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context53.abrupt(\"return\", {\n text: e[0].sequence || \"\"\n });\n case 3:\n case \"end\":\n return _context53.stop();\n }\n }, _callee53);\n }));\n function extractResultData(_x100) {\n return _extractResultData11.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Po;\n}(Be);\nvar Jt = /*#__PURE__*/function () {\n function Jt() {\n _classCallCheck(this, Jt);\n }\n _createClass(Jt, 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: Jt.handleVerificationResult,\n body: JSON.stringify({\n prompt: \"\"\n })\n };\n }\n }]);\n return Jt;\n}();\nvar Xi = /*#__PURE__*/function (_q3) {\n _inherits(Xi, _q3);\n function Xi(e, t, i, n, r) {\n var _this26;\n _classCallCheck(this, Xi);\n _this26 = _callSuper(this, Xi, [e, Jt.buildKeyVerificationDetails(), Jt.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 return _createClass(Xi);\n}(q);\nvar Do = /*#__PURE__*/function (_Xi) {\n _inherits(Do, _Xi);\n function Do(e) {\n _classCallCheck(this, Do);\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, Do, [e, \"https://api.cohere.ai/v1/generate\", \"Once upon a time\", t, i]);\n }\n _createClass(Do, [{\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 _callee54(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee54$(_context54) {\n while (1) switch (_context54.prev = _context54.next) {\n case 0:\n if (this.requestSettings) {\n _context54.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 w.request(this, i, e);\n case 4:\n case \"end\":\n return _context54.stop();\n }\n }, _callee54, this);\n }));\n function callServiceAPI(_x101, _x102) {\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 _callee55(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee55$(_context55) {\n while (1) switch (_context55.prev = _context55.next) {\n case 0:\n if (!e.message) {\n _context55.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context55.abrupt(\"return\", {\n text: ((t = e.generations) == null ? void 0 : t[0].text) || \"\"\n });\n case 3:\n case \"end\":\n return _context55.stop();\n }\n }, _callee55);\n }));\n function extractResultData(_x103) {\n return _extractResultData12.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Do;\n}(Xi);\nvar jo = /*#__PURE__*/function (_Xi2) {\n _inherits(jo, _Xi2);\n function jo(e) {\n _classCallCheck(this, jo);\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, jo, [e, \"https://api.cohere.ai/v1/summarize\", \"Insert text to summarize\", t, i]);\n }\n _createClass(jo, [{\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 _callee56(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee56$(_context56) {\n while (1) switch (_context56.prev = _context56.next) {\n case 0:\n if (this.requestSettings) {\n _context56.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 w.request(this, i, e);\n case 4:\n case \"end\":\n return _context56.stop();\n }\n }, _callee56, this);\n }));\n function callServiceAPI(_x104, _x105) {\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 _callee57(e) {\n return _regeneratorRuntime().wrap(function _callee57$(_context57) {\n while (1) switch (_context57.prev = _context57.next) {\n case 0:\n if (!e.message) {\n _context57.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context57.abrupt(\"return\", {\n text: e.summary || \"\"\n });\n case 3:\n case \"end\":\n return _context57.stop();\n }\n }, _callee57);\n }));\n function extractResultData(_x106) {\n return _extractResultData13.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return jo;\n}(Xi);\nvar N = /*#__PURE__*/function () {\n function N() {\n _classCallCheck(this, N);\n }\n _createClass(N, 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: N.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 _callee58(e, t, i) {\n var n,\n r,\n _args58 = arguments;\n return _regeneratorRuntime().wrap(function _callee58$(_context58) {\n while (1) switch (_context58.prev = _context58.next) {\n case 0:\n n = _args58.length > 3 && _args58[3] !== undefined ? _args58[3] : !0;\n e.requestSettings.method = i;\n _context58.next = 4;\n return v.fetch(e, e.requestSettings.headers, n, t).then(function (o) {\n return v.processResponseByType(o);\n });\n case 4:\n r = _context58.sent;\n if (!r.error) {\n _context58.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context58.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context58.stop();\n }\n }, _callee58);\n }));\n function directFetch(_x107, _x108, _x109) {\n return _directFetch.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n return N;\n}();\nvar Qi = /*#__PURE__*/function (_q4) {\n _inherits(zi, _q4);\n function zi(e) {\n var _o$model, _a$voice;\n var _this27;\n _classCallCheck(this, zi);\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, zi, [e, N.buildKeyVerificationDetails(), N.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 = zi.DEFAULT_MODEL, (_a$voice = (a = _this27.rawBody).voice) !== null && _a$voice !== void 0 ? _a$voice : a.voice = zi.DEFAULT_VOIDE, _this27.textInputPlaceholderText = \"Insert text to generate audio\", _this27.rawBody.response_format = \"mp3\";\n return _this27;\n }\n _createClass(zi, [{\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 _callee59(e, t) {\n var n, i;\n return _regeneratorRuntime().wrap(function _callee59$(_context59) {\n while (1) switch (_context59.prev = _context59.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context59.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n this.url = this.requestSettings.url || this.url;\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e);\n case 5:\n case \"end\":\n return _context59.stop();\n }\n }, _callee59, this);\n }));\n function callServiceAPI(_x110, _x111) {\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 _callee60(e) {\n return _regeneratorRuntime().wrap(function _callee60$(_context60) {\n while (1) switch (_context60.prev = _context60.next) {\n case 0:\n if (!(e instanceof Blob)) {\n _context60.next = 2;\n break;\n }\n return _context60.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 _context60.next = 4;\n break;\n }\n throw e.error.message;\n case 4:\n return _context60.abrupt(\"return\", {\n error: \"error\"\n });\n case 5:\n case \"end\":\n return _context60.stop();\n }\n }, _callee60);\n }));\n function extractResultData(_x112) {\n return _extractResultData14.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return zi;\n}(q);\nQi.DEFAULT_MODEL = \"tts-1\";\nQi.DEFAULT_VOIDE = \"alloy\";\nvar Fo = Qi;\nvar ai = /*#__PURE__*/function (_q5) {\n _inherits(Me, _q5);\n function Me(e) {\n var _o$model2;\n var _this28;\n _classCallCheck(this, Me);\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, Me, [e, N.buildKeyVerificationDetails(), N.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 = Me.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), Me.cleanConfig(n), Object.assign(_this28.rawBody, n)), (_o$model2 = (o = _this28.rawBody).model) !== null && _o$model2 !== void 0 ? _o$model2 : o.model = Me.DEFAULT_MODEL, _this28.rawBody.response_format = \"json\", _this28.canSendMessage = Me.canSendFileMessage;\n return _this28;\n }\n _createClass(Me, [{\n key: \"processConfig\",\n value: function processConfig(e) {\n e != null && e.type && e.type === \"translation\" && (this._service_url = Me.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 _callee61(e, t, i) {\n var o, n, r;\n return _regeneratorRuntime().wrap(function _callee61$(_context61) {\n while (1) switch (_context61.prev = _context61.next) {\n case 0:\n if ((o = this.requestSettings) != null && o.headers) {\n _context61.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 _context61.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n this.url = this.requestSettings.url || this._service_url;\n n = this.preprocessBody(this.rawBody, t), r = Me.createFormDataBody(n, i[0]);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, r, e), !1);\n case 7:\n case \"end\":\n return _context61.stop();\n }\n }, _callee61, this);\n }));\n function callServiceAPI(_x113, _x114, _x115) {\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 _callee62(e) {\n return _regeneratorRuntime().wrap(function _callee62$(_context62) {\n while (1) switch (_context62.prev = _context62.next) {\n case 0:\n if (!e.error) {\n _context62.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context62.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context62.stop();\n }\n }, _callee62);\n }));\n function extractResultData(_x116) {\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 return Me;\n}(q);\nai.AUDIO_TRANSCRIPTIONS_URL = \"https://api.openai.com/v1/audio/transcriptions\";\nai.AUDIO_TRANSLATIONS_URL = \"https://api.openai.com/v1/audio/translations\";\nai.DEFAULT_MODEL = \"whisper-1\";\nvar Bo = ai;\nvar Z = /*#__PURE__*/function () {\n function Z() {\n _classCallCheck(this, Z);\n }\n _createClass(Z, 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: Z.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: Z.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 Z.buildTranslationHeaders(e, t);\n },\n handleVerificationResult: Z.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 return Z;\n}();\nvar zo = /*#__PURE__*/function (_q6) {\n _inherits(zo, _q6);\n // prettier-ignore\n function zo(e, t, i, n, r) {\n var _this29;\n _classCallCheck(this, zo);\n _this29 = _callSuper(this, zo, [e, Z.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 return _createClass(zo);\n}(q);\nvar Uo = /*#__PURE__*/function (_zo) {\n _inherits(Uo, _zo);\n function Uo(e) {\n var _a$language;\n var _this30;\n _classCallCheck(this, Uo);\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, Uo, [e, Z.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 _createClass(Uo, [{\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 _callee63(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee63$(_context63) {\n while (1) switch (_context63.prev = _context63.next) {\n case 0:\n if (this.requestSettings) {\n _context63.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 w.request(this, i, e), this.messages = e;\n case 4:\n case \"end\":\n return _context63.stop();\n }\n }, _callee63, this);\n }));\n function callServiceAPI(_x117, _x118) {\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 _callee64(e) {\n var t, _i10, n;\n return _regeneratorRuntime().wrap(function _callee64$(_context64) {\n while (1) switch (_context64.prev = _context64.next) {\n case 0:\n if (!e.error) {\n _context64.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.requestSettings) == null ? void 0 : t.headers\n };\n w.executePollRequest(this, _i10, n, this.messages);\n }\n return _context64.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 4:\n case \"end\":\n return _context64.stop();\n }\n }, _callee64, this);\n }));\n function extractResultData(_x119) {\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 _callee65(e) {\n var t, _iterator, _step, _i11;\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;\n case 2:\n if (!(e.status === \"running\")) {\n _context65.next = 4;\n break;\n }\n return _context65.abrupt(\"return\", {\n timeoutMS: 2e3\n });\n case 4:\n if (!(e.errors.length > 0)) {\n _context65.next = 6;\n break;\n }\n throw e.errors[0];\n case 6:\n if (!(e.tasks.items[0].results.errors.length > 0)) {\n _context65.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 _context65.abrupt(\"return\", {\n text: t || \"\"\n });\n case 12:\n case \"end\":\n return _context65.stop();\n }\n }, _callee65);\n }));\n function extractPollResultData(_x120) {\n return _extractPollResultData4.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Uo;\n}(zo);\nvar ut = /*#__PURE__*/function () {\n function ut() {\n _classCallCheck(this, ut);\n }\n _createClass(ut, null, [{\n key: \"poll\",\n value: function () {\n var _poll2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee66(e, t) {\n var i, a, l, d;\n return _regeneratorRuntime().wrap(function _callee66$(_context66) {\n while (1) switch (_context66.prev = _context66.next) {\n case 0:\n i = {\n authorization: e,\n \"content-type\": \"application/json\"\n };\n _context66.t0 = \"https://api.assemblyai.com/v2/transcript/\";\n _context66.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 _context66.next = 6;\n return _context66.sent.json();\n case 6:\n _context66.t1 = _context66.sent.id;\n a = _context66.t0.concat.call(_context66.t0, _context66.t1);\n case 8:\n if (l) {\n _context66.next = 24;\n break;\n }\n _context66.next = 11;\n return fetch(a, {\n headers: i\n });\n case 11:\n _context66.next = 13;\n return _context66.sent.json();\n case 13:\n d = _context66.sent;\n if (!(d.status === \"completed\")) {\n _context66.next = 18;\n break;\n }\n l = d;\n _context66.next = 22;\n break;\n case 18:\n if (!(d.status === \"error\")) {\n _context66.next = 20;\n break;\n }\n throw new Error(\"Transcription failed: \".concat(d.error));\n case 20:\n _context66.next = 22;\n return new Promise(function (u) {\n return setTimeout(u, 3e3);\n });\n case 22:\n _context66.next = 8;\n break;\n case 24:\n return _context66.abrupt(\"return\", l);\n case 25:\n case \"end\":\n return _context66.stop();\n }\n }, _callee66);\n }));\n function poll(_x121, _x122) {\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: ut.handleVerificationResult\n };\n }\n }]);\n return ut;\n}();\nvar en = /*#__PURE__*/function (_q7) {\n _inherits(en, _q7);\n function en(e) {\n var _this31;\n _classCallCheck(this, en);\n var i;\n var t = (i = e.directConnection) == null ? void 0 : i.assemblyAI;\n _this31 = _callSuper(this, en, [e, ut.buildKeyVerificationDetails(), ut.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 = en.canFileSendMessage;\n return _this31;\n }\n _createClass(en, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee67(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee67$(_context67) {\n while (1) switch (_context67.prev = _context67.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context67.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 _context67.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n w.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context67.stop();\n }\n }, _callee67, this);\n }));\n function callServiceAPI(_x123, _x124, _x125) {\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 _callee68(e) {\n var n, r, t;\n return _regeneratorRuntime().wrap(function _callee68$(_context68) {\n while (1) switch (_context68.prev = _context68.next) {\n case 0:\n if (!e.error) {\n _context68.next = 2;\n break;\n }\n throw e.error;\n case 2:\n t = (r = (n = this.requestSettings) == null ? void 0 : n.headers) == null ? void 0 : r.Authorization;\n _context68.next = 5;\n return ut.poll(t, e.upload_url);\n case 5:\n _context68.t0 = _context68.sent.text;\n return _context68.abrupt(\"return\", {\n text: _context68.t0\n });\n case 7:\n case \"end\":\n return _context68.stop();\n }\n }, _callee68, this);\n }));\n function extractResultData(_x126) {\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 return en;\n}(q);\nvar hs = /*#__PURE__*/function (_q8) {\n _inherits(hs, _q8);\n // prettier-ignore\n function hs(e, t, i, n, r) {\n var _this32;\n _classCallCheck(this, hs);\n _this32 = _callSuper(this, hs, [e, Z.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 return _createClass(hs);\n}(q);\nvar ps = /*#__PURE__*/function (_hs) {\n _inherits(fs, _hs);\n // prettier-ignore\n function fs(e) {\n var _a$lang, _l$name, _c$gender;\n var _this33;\n _classCallCheck(this, fs);\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, fs, [e, Z.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(fs.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 _createClass(fs, [{\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 _callee69(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee69$(_context69) {\n while (1) switch (_context69.prev = _context69.next) {\n case 0:\n if (this.requestSettings) {\n _context69.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 w.request(this, i, e, !1);\n case 4:\n case \"end\":\n return _context69.stop();\n }\n }, _callee69, this);\n }));\n function callServiceAPI(_x127, _x128) {\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 _callee70(e) {\n return _regeneratorRuntime().wrap(function _callee70$(_context70) {\n while (1) switch (_context70.prev = _context70.next) {\n case 0:\n return _context70.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 _context70.stop();\n }\n }, _callee70);\n }));\n function extractResultData(_x129) {\n return _extractResultData18.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return fs;\n}(hs);\nps.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 qo = ps;\nvar ms = /*#__PURE__*/function (_hs2) {\n _inherits(Ui, _hs2);\n function Ui(e) {\n var _this34;\n _classCallCheck(this, Ui);\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, Ui, [e, Z.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(Ui.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this34.url = \"\", _this34.isTextInputDisabled = !0, _this34.textInputPlaceholderText = \"Upload an audio file\", _this34.canSendMessage = Ui.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 _createClass(Ui, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee71(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee71$(_context71) {\n while (1) switch (_context71.prev = _context71.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context71.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 _context71.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n (r = this.requestSettings) != null && r.headers && (this.requestSettings.headers[\"Content-Type\"] = i[0].name.toLocaleLowerCase().endsWith(\".wav\") ? \"audio/wav; codecs=audio/pcm; samplerate=16000\" : \"audio/ogg; codecs=opus\"), w.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context71.stop();\n }\n }, _callee71, this);\n }));\n function callServiceAPI(_x130, _x131, _x132) {\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 _callee72(e) {\n return _regeneratorRuntime().wrap(function _callee72$(_context72) {\n while (1) switch (_context72.prev = _context72.next) {\n case 0:\n if (!e.error) {\n _context72.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context72.abrupt(\"return\", {\n text: e.DisplayText || \"\"\n });\n case 3:\n case \"end\":\n return _context72.stop();\n }\n }, _callee72);\n }));\n function extractResultData(_x133) {\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 return Ui;\n}(hs);\nms.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 Ho = ms;\nvar Go = /*#__PURE__*/function (_q9) {\n _inherits(Go, _q9);\n // prettier-ignore\n function Go(e) {\n var _this35;\n _classCallCheck(this, Go);\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, Go, [e, Z.buildTranslationKeyVerificationDetails(t.region), Z.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 _createClass(Go, [{\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 _callee73(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee73$(_context73) {\n while (1) switch (_context73.prev = _context73.next) {\n case 0:\n if (this.requestSettings) {\n _context73.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 w.request(this, i, e);\n case 4:\n case \"end\":\n return _context73.stop();\n }\n }, _callee73, this);\n }));\n function callServiceAPI(_x134, _x135) {\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 _callee74(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee74$(_context74) {\n while (1) switch (_context74.prev = _context74.next) {\n case 0:\n if (!Array.isArray(e)) {\n _context74.next = 2;\n break;\n }\n return _context74.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 _context74.stop();\n }\n }, _callee74);\n }));\n function extractResultData(_x136) {\n return _extractResultData20.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Go;\n}(q);\nvar ve = /*#__PURE__*/function () {\n function ve() {\n _classCallCheck(this, ve);\n }\n _createClass(ve, null, [{\n key: \"storeFiles\",\n value: function () {\n var _storeFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee76(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee76$(_context76) {\n while (1) switch (_context76.prev = _context76.next) {\n case 0:\n n = e.requestSettings.headers;\n if (n) {\n _context76.next = 3;\n break;\n }\n return _context76.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 _callee75(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee75$(_context75) {\n while (1) switch (_context75.prev = _context75.next) {\n case 0:\n l = new FormData();\n return _context75.abrupt(\"return\", (l.append(\"purpose\", \"assistants\"), l.append(\"file\", a), new Promise(function (c) {\n c(N.directFetch(e, l, \"POST\", !1));\n })));\n case 2:\n case \"end\":\n return _context75.stop();\n }\n }, _callee75);\n }));\n return function (_x140) {\n return _ref9.apply(this, arguments);\n };\n }());\n _context76.prev = 7;\n _context76.next = 10;\n return Promise.all(o);\n case 10:\n a = _context76.sent.map(function (l) {\n return l.id;\n });\n return _context76.abrupt(\"return\", (n[v.CONTENT_TYPE] = r, a));\n case 14:\n _context76.prev = 14;\n _context76.t0 = _context76[\"catch\"](7);\n throw n[v.CONTENT_TYPE] = r, v.displayError(t, _context76.t0), e.completionsHandlers.onFinish(), _context76.t0;\n case 17:\n case \"end\":\n return _context76.stop();\n }\n }, _callee76, null, [[7, 14]]);\n }));\n function storeFiles(_x137, _x138, _x139) {\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 _callee77(e, t) {\n var i, r;\n return _regeneratorRuntime().wrap(function _callee77$(_context77) {\n while (1) switch (_context77.prev = _context77.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(N.directFetch(e, void 0, \"GET\", !1));\n });\n });\n _context77.next = 3;\n return Promise.all(i);\n case 3:\n r = _context77.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: ve.getType(t, a)\n });\n };\n });\n });\n _context77.next = 6;\n return Promise.all(r);\n case 6:\n return _context77.abrupt(\"return\", _context77.sent);\n case 7:\n case \"end\":\n return _context77.stop();\n }\n }, _callee77);\n }));\n function getFiles(_x141, _x142) {\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 }, {\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: ve.getFileName(l.text)\n });\n });\n }), t != null && t.image_file && i.push({\n fileId: t.image_file.file_id\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndNewText\",\n value: function () {\n var _getFilesAndNewText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee78(e, t, i, n) {\n var o, a, r;\n return _regeneratorRuntime().wrap(function _callee78$(_context78) {\n while (1) switch (_context78.prev = _context78.next) {\n case 0:\n _context78.t0 = t.length > 0;\n if (!_context78.t0) {\n _context78.next = 6;\n break;\n }\n _context78.next = 4;\n return ve.getFiles(e, t);\n case 4:\n r = _context78.sent;\n (o = n == null ? void 0 : n.text) != null && o.value && r.forEach(function (l, c) {\n var u;\n if (!l.src) return;\n var d = t[c].path;\n (u = n == null ? void 0 : n.text) != null && u.value && d && (n.text.value = n.text.value.replace(d, l.src));\n });\n case 6:\n return _context78.abrupt(\"return\", {\n files: r,\n text: (a = n == null ? void 0 : n.text) == null ? void 0 : a.value,\n role: i\n });\n case 7:\n case \"end\":\n return _context78.stop();\n }\n }, _callee78);\n }));\n function getFilesAndNewText(_x143, _x144, _x145, _x146) {\n return _getFilesAndNewText.apply(this, arguments);\n }\n return getFilesAndNewText;\n }()\n }, {\n key: \"getFilesAndText\",\n value: function () {\n var _getFilesAndText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee79(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee79$(_context79) {\n while (1) switch (_context79.prev = _context79.next) {\n case 0:\n n = ve.getFileDetails(t, i);\n _context79.next = 3;\n return ve.getFilesAndNewText(e, n, t.role, i);\n case 3:\n return _context79.abrupt(\"return\", _context79.sent);\n case 4:\n case \"end\":\n return _context79.stop();\n }\n }, _callee79);\n }));\n function getFilesAndText(_x147, _x148, _x149) {\n return _getFilesAndText.apply(this, arguments);\n }\n return getFilesAndText;\n }()\n }]);\n return ve;\n}();\nvar li = /*#__PURE__*/function (_q10) {\n _inherits(oe, _q10);\n function oe(e) {\n var _c$headers, _d$OpenAIBeta;\n var _this36;\n _classCallCheck(this, oe);\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, oe, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i]), _this36.insertKeyPlaceholderText = \"OpenAI API Key\", _this36.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this36.url = \"\", _this36.permittedErrorPrefixes = [\"Incorrect\"], _this36.searchedForThreadId = !1, _this36.config = {}, _this36.newAssistantDetails = {\n model: \"gpt-4\"\n }, _this36.shouldFetchHistory = !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 u = _this36$config.new_assistant,\n h = _this36$config.thread_id,\n p = _this36$config.load_thread_history;\n Object.assign(_this36.newAssistantDetails, u), h && (_this36.sessionId = h), p && (_this36.shouldFetchHistory = !0);\n var _ref11 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.assistant,\n m = _ref11.function_handler;\n m && (_this36._functionHandler = m);\n } else (l = t.openAI) != null && l.assistant && (t.openAI.assistant = n);\n (_c$headers = (c = _this36.requestSettings).headers) !== null && _c$headers !== void 0 ? _c$headers : c.headers = {}, (_d$OpenAIBeta = (d = _this36.requestSettings.headers)[\"OpenAI-Beta\"]) !== null && _d$OpenAIBeta !== void 0 ? _d$OpenAIBeta : d[\"OpenAI-Beta\"] = \"assistants=v1\", _this36.maxMessages = 1, _this36.shouldFetchHistory && _this36.sessionId && (_this36.fetchHistory = _this36.fetchHistoryFunc.bind(_assertThisInitialized(_this36)));\n return _this36;\n }\n _createClass(oe, [{\n key: \"fetchHistoryFunc\",\n value: function () {\n var _fetchHistoryFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee80() {\n var _this37 = this;\n var e;\n return _regeneratorRuntime().wrap(function _callee80$(_context80) {\n while (1) switch (_context80.prev = _context80.next) {\n case 0:\n setTimeout(function () {\n return _this37.deepChat.disableSubmitButton();\n }, 2);\n _context80.prev = 1;\n _context80.next = 4;\n return this.getThreadMessages(this.sessionId, !0);\n case 4:\n e = _context80.sent;\n return _context80.abrupt(\"return\", (this.deepChat.disableSubmitButton(!1), e.reverse()));\n case 8:\n _context80.prev = 8;\n _context80.t0 = _context80[\"catch\"](1);\n return _context80.abrupt(\"return\", [{\n error: \"failed to fetch thread history\"\n }]);\n case 11:\n case \"end\":\n return _context80.stop();\n }\n }, _callee80, 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 return {\n content: et.getCharacterLimitMessages(e, i)[0].text || \"\",\n role: \"user\",\n file_ids: t\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.sessionId) {\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/messages\");\n var n = this.processMessage(t, i);\n w.request(this, n, e);\n } else {\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/runs\");\n var _n2 = this.createNewThreadMessages(this.rawBody, t, i);\n w.request(this, _n2, e);\n }\n this.messages = e;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee81(e, t, i) {\n var _r$assistant_id;\n var r, n;\n return _regeneratorRuntime().wrap(function _callee81$(_context81) {\n while (1) switch (_context81.prev = _context81.next) {\n case 0:\n if (this.requestSettings) {\n _context81.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 _context81.next = 6;\n break;\n }\n _r$assistant_id;\n _context81.next = 12;\n break;\n case 6:\n _context81.t0 = this.config.assistant_id;\n if (_context81.t0) {\n _context81.next = 11;\n break;\n }\n _context81.next = 10;\n return this.createNewAssistant();\n case 10:\n _context81.t0 = _context81.sent;\n case 11:\n r.assistant_id = _context81.t0;\n case 12:\n this.searchedForThreadId || this.searchPreviousMessagesForThreadId(e.messages);\n if (!i) {\n _context81.next = 19;\n break;\n }\n _context81.next = 16;\n return ve.storeFiles(this, e, i);\n case 16:\n _context81.t1 = _context81.sent;\n _context81.next = 20;\n break;\n case 19:\n _context81.t1 = void 0;\n case 20:\n n = _context81.t1;\n this.requestSettings.method = \"POST\", this.callService(e, t, n);\n case 22:\n case \"end\":\n return _context81.stop();\n }\n }, _callee81, this);\n }));\n function callServiceAPI(_x150, _x151, _x152) {\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 _callee82() {\n var e;\n return _regeneratorRuntime().wrap(function _callee82$(_context82) {\n while (1) switch (_context82.prev = _context82.next) {\n case 0:\n _context82.prev = 0;\n this.url = oe.NEW_ASSISTANT_URL;\n _context82.next = 4;\n return N.directFetch(this, JSON.parse(JSON.stringify(this.newAssistantDetails)), \"POST\");\n case 4:\n e = _context82.sent;\n return _context82.abrupt(\"return\", (this.config.assistant_id = e.id, this.config.assistant_id));\n case 8:\n _context82.prev = 8;\n _context82.t0 = _context82[\"catch\"](0);\n console.error(_context82.t0), console.error(\"Failed to create a new assistant\");\n case 11:\n case \"end\":\n return _context82.stop();\n }\n }, _callee82, 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 }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee83(e) {\n var n, t, i;\n return _regeneratorRuntime().wrap(function _callee83$(_context83) {\n while (1) switch (_context83.prev = _context83.next) {\n case 0:\n if (!e.error) {\n _context83.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n _context83.next = 4;\n return this.assignThreadAndRun(e);\n case 4:\n t = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id), i = {\n method: \"GET\",\n headers: (n = this.requestSettings) == null ? void 0 : n.headers\n };\n return _context83.abrupt(\"return\", (w.executePollRequest(this, t, i, this.messages), {\n makingAnotherRequest: !0\n }));\n case 6:\n case \"end\":\n return _context83.stop();\n }\n }, _callee83, this);\n }));\n function extractResultData(_x153) {\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 _callee84(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee84$(_context84) {\n while (1) switch (_context84.prev = _context84.next) {\n case 0:\n if (!this.sessionId) {\n _context84.next = 8;\n break;\n }\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n _context84.next = 4;\n return N.directFetch(this, JSON.parse(JSON.stringify(this.rawBody)), \"POST\");\n case 4:\n t = _context84.sent;\n this.run_id = t.id;\n _context84.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 _context84.stop();\n }\n }, _callee84, this);\n }));\n function assignThreadAndRun(_x154) {\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 _callee86(e) {\n var _this38 = this;\n var t,\n o,\n a,\n i,\n r,\n _args86 = arguments;\n return _regeneratorRuntime().wrap(function _callee86$(_context86) {\n while (1) switch (_context86.prev = _context86.next) {\n case 0:\n t = _args86.length > 1 && _args86[1] !== undefined ? _args86[1] : !1;\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(e, \"/messages\");\n _context86.next = 4;\n return N.directFetch(this, {}, \"GET\");\n case 4:\n i = _context86.sent;\n _context86.t0 = !t && this.deepChat.responseInterceptor;\n if (!_context86.t0) {\n _context86.next = 10;\n break;\n }\n _context86.next = 9;\n return (a = (o = this.deepChat).responseInterceptor) == null ? void 0 : a.call(o, i);\n case 9:\n i = _context86.sent;\n case 10:\n r = (t ? i.data : [i.data[0]]).map( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee85(l) {\n var c;\n return _regeneratorRuntime().wrap(function _callee85$(_context85) {\n while (1) switch (_context85.prev = _context85.next) {\n case 0:\n c = l.content.find(function (d) {\n return !!d.text || !!d.image_file;\n });\n _context85.next = 3;\n return ve.getFilesAndText(_this38, l, c);\n case 3:\n return _context85.abrupt(\"return\", _context85.sent);\n case 4:\n case \"end\":\n return _context85.stop();\n }\n }, _callee85);\n }));\n return function (_x156) {\n return _ref12.apply(this, arguments);\n };\n }());\n return _context86.abrupt(\"return\", Promise.all(r));\n case 12:\n case \"end\":\n return _context86.stop();\n }\n }, _callee86, this);\n }));\n function getThreadMessages(_x155) {\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 _callee87(e) {\n var r, o, a, t, i, l, _l$, c, d, n, _l;\n return _regeneratorRuntime().wrap(function _callee87$(_context87) {\n while (1) switch (_context87.prev = _context87.next) {\n case 0:\n t = e.status, i = e.required_action;\n if (!(t === \"queued\" || t === \"in_progress\")) {\n _context87.next = 3;\n break;\n }\n return _context87.abrupt(\"return\", {\n timeoutMS: oe.POLLING_TIMEOUT_MS\n });\n case 3:\n if (!(t === \"completed\" && this.messages)) {\n _context87.next = 11;\n break;\n }\n _context87.next = 6;\n return this.getThreadMessages(e.thread_id);\n case 6:\n l = _context87.sent;\n _l$ = l[0];\n c = _l$.text;\n d = _l$.files;\n return _context87.abrupt(\"return\", {\n text: c,\n _sessionId: this.sessionId,\n files: d\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 _context87.next = 22;\n break;\n }\n _context87.next = 15;\n return this.handleTools(n);\n case 15:\n _l = _context87.sent;\n _context87.next = 18;\n return (a = (o = this.deepChat).responseInterceptor) == null ? void 0 : a.call(o, _l);\n case 18:\n _context87.t0 = _context87.sent;\n if (_context87.t0) {\n _context87.next = 21;\n break;\n }\n _context87.t0 = _l;\n case 21:\n return _context87.abrupt(\"return\", _context87.t0);\n case 22:\n throw Error(\"Thread run status: \".concat(t));\n case 23:\n case \"end\":\n return _context87.stop();\n }\n }, _callee87, this);\n }));\n function extractPollResultData(_x157) {\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 _callee88(e) {\n var t, i, n;\n return _regeneratorRuntime().wrap(function _callee88$(_context88) {\n while (1) switch (_context88.prev = _context88.next) {\n case 0:\n if (this._functionHandler) {\n _context88.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 (r) {\n return {\n name: r[\"function\"].name,\n arguments: r[\"function\"].arguments\n };\n });\n _context88.next = 5;\n return this._functionHandler(t);\n case 5:\n i = _context88.sent;\n if (!(!Array.isArray(i) || i.find(function (r) {\n return typeof r != \"string\";\n }) || e.length !== i.length)) {\n _context88.next = 8;\n break;\n }\n throw Error(\"Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.\");\n case 8:\n n = i.map(function (r, o) {\n return {\n tool_call_id: e[o].id,\n output: r\n };\n });\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id, \"/submit_tool_outputs\");\n _context88.next = 12;\n return N.directFetch(this, {\n tool_outputs: n\n }, \"POST\");\n case 12:\n return _context88.abrupt(\"return\", {\n timeoutMS: oe.POLLING_TIMEOUT_MS\n });\n case 13:\n case \"end\":\n return _context88.stop();\n }\n }, _callee88, this);\n }));\n function handleTools(_x158) {\n return _handleTools.apply(this, arguments);\n }\n return handleTools;\n }()\n }]);\n return oe;\n}(q);\nli.THREAD_PREFIX = \"https://api.openai.com/v1/threads\";\nli.NEW_ASSISTANT_URL = \"https://api.openai.com/v1/assistants\";\nli.POLLING_TIMEOUT_MS = 800;\nvar Vo = li;\nvar ci = /*#__PURE__*/function (_q11) {\n _inherits(Te, _q11);\n function Te(e) {\n var _this39;\n _classCallCheck(this, Te);\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, Te, [e, N.buildKeyVerificationDetails(), N.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 = Te.canFileSendMessage;\n return _this39;\n }\n _createClass(Te, [{\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 = Te.IMAGE_EDIT_URL;\n var l = this.preprocessBody(this.rawBody, r);\n n = Te.createFormDataBody(l, i[0], i[1]);\n } else this.url = Te.IMAGE_VARIATIONS_URL, n = Te.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, n, e), !1);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee89(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee89$(_context89) {\n while (1) switch (_context89.prev = _context89.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context89.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 _context89.next = 6;\n break;\n }\n this.callApiWithImage(e, t, i);\n _context89.next = 11;\n break;\n case 6:\n if (this.requestSettings) {\n _context89.next = 8;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 8:\n this.url = Te.IMAGE_GENERATION_URL;\n r = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n w.request(this, r, e);\n case 11:\n case \"end\":\n return _context89.stop();\n }\n }, _callee89, this);\n }));\n function callServiceAPI(_x159, _x160, _x161) {\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 _callee90(e) {\n return _regeneratorRuntime().wrap(function _callee90$(_context90) {\n while (1) switch (_context90.prev = _context90.next) {\n case 0:\n if (!e.error) {\n _context90.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context90.abrupt(\"return\", {\n files: e.data.map(function (i) {\n return i.url ? {\n src: i.url,\n type: \"image\"\n } : {\n src: \"\".concat(wt).concat(i.b64_json),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context90.stop();\n }\n }, _callee90);\n }));\n function extractResultData(_x162) {\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 return Te;\n}(q);\nci.IMAGE_GENERATION_URL = \"https://api.openai.com/v1/images/generations\";\nci.IMAGE_VARIATIONS_URL = \"https://api.openai.com/v1/images/variations\";\nci.IMAGE_EDIT_URL = \"https://api.openai.com/v1/images/edits\";\nvar Wo = ci;\nvar ht = /*#__PURE__*/function (_q12) {\n _inherits(ht, _q12);\n function ht(e) {\n var _this40$maxMessages, _l$model;\n var _this40;\n _classCallCheck(this, ht);\n var r, o, a, l;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this40 = _callSuper(this, ht, [e, N.buildKeyVerificationDetails(), N.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 = ht.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 = ht.generateSystemMessage(n.system_prompt));\n var _ref13 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.chat,\n c = _ref13.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-3.5-turbo\";\n return _this40;\n }\n _createClass(ht, [{\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 = et.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - this._systemMessage.content.length : -1).map(function (r) {\n return {\n content: ht.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 _callee91(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee91$(_context91) {\n while (1) switch (_context91.prev = _context91.next) {\n case 0:\n if (this.requestSettings) {\n _context91.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.deepChat.stream;\n n && (_typeof(n) != \"object\" || !n.simulation) || i.stream ? (i.stream = !0, T.request(this, i, e)) : w.request(this, i, e);\n case 4:\n case \"end\":\n return _context91.stop();\n }\n }, _callee91, this);\n }));\n function callServiceAPI(_x163, _x164) {\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 _callee92(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee92$(_context92) {\n while (1) switch (_context92.prev = _context92.next) {\n case 0:\n if (!e.error) {\n _context92.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context92.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 _context92.stop();\n }\n }, _callee92, this);\n }));\n function extractResultData(_x165, _x166, _x167) {\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 _callee93(e, t, i) {\n var _this41 = this;\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee93$(_context93) {\n while (1) switch (_context93.prev = _context93.next) {\n case 0:\n n = e.delta, r = e.finish_reason;\n if (!(r === \"tool_calls\")) {\n _context93.next = 7;\n break;\n }\n this.asyncCallInProgress = !0;\n o = {\n tool_calls: this._streamToolCalls\n };\n return _context93.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 _context93.abrupt(\"return\", {\n text: (n == null ? void 0 : n.content) || \"\"\n });\n case 9:\n case \"end\":\n return _context93.stop();\n }\n }, _callee93, this);\n }));\n function extractStreamResult(_x168, _x169, _x170) {\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 _callee94(e, t, i) {\n var a, l, c, d, u, n, r, o, h, _h;\n return _regeneratorRuntime().wrap(function _callee94$(_context94) {\n while (1) switch (_context94.prev = _context94.next) {\n case 0:\n if (!(!e.tool_calls || !t || !i || !this._functionHandler)) {\n _context94.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 (h) {\n return {\n name: h[\"function\"].name,\n arguments: h[\"function\"].arguments\n };\n });\n _context94.next = 6;\n return (a = this._functionHandler) == null ? void 0 : a.call(this, r);\n case 6:\n o = _context94.sent;\n if (!o.text) {\n _context94.next = 15;\n break;\n }\n h = {\n text: o.text\n };\n _context94.next = 11;\n return (c = (l = this.deepChat).responseInterceptor) == null ? void 0 : c.call(l, h);\n case 11:\n _context94.t0 = _context94.sent;\n if (_context94.t0) {\n _context94.next = 14;\n break;\n }\n _context94.t0 = h;\n case 14:\n return _context94.abrupt(\"return\", _context94.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 (h) {\n return typeof h != \"string\";\n }) || r.length === o.length)) {\n _context94.next = 35;\n break;\n }\n o.forEach(function (h, p) {\n var f;\n var m = (f = e.tool_calls) == null ? void 0 : f[p];\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: h.response\n });\n }), delete n.tools, delete n.tool_choice, delete n.stream;\n _context94.prev = 17;\n _context94.next = 20;\n return t == null ? void 0 : t(n).then(function (p) {\n return v.processResponseByType(p);\n });\n case 20:\n _h = _context94.sent;\n _context94.next = 23;\n return (u = (d = this.deepChat).responseInterceptor) == null ? void 0 : u.call(d, _h);\n case 23:\n _context94.t1 = _context94.sent;\n if (_context94.t1) {\n _context94.next = 26;\n break;\n }\n _context94.t1 = _h;\n case 26:\n _h = _context94.t1;\n if (!_h.error) {\n _context94.next = 29;\n break;\n }\n throw _h.error.message;\n case 29:\n return _context94.abrupt(\"return\", {\n text: _h.choices[0].message.content || \"\"\n });\n case 32:\n _context94.prev = 32;\n _context94.t2 = _context94[\"catch\"](17);\n throw this.asyncCallInProgress = !1, _context94.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 _context94.stop();\n }\n }, _callee94, this, [[17, 32]]);\n }));\n function handleTools(_x171, _x172, _x173) {\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 return ht;\n}(q);\nvar Jo = /*#__PURE__*/function (_Xi3) {\n _inherits(Jo, _Xi3);\n function Jo(e) {\n var _this42$maxMessages;\n var _this42;\n _classCallCheck(this, Jo);\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, Jo, [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 _createClass(Jo, [{\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 _callee95(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee95$(_context95) {\n while (1) switch (_context95.prev = _context95.next) {\n case 0:\n if (this.requestSettings) {\n _context95.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 w.request(this, i, e);\n case 4:\n case \"end\":\n return _context95.stop();\n }\n }, _callee95, this);\n }));\n function callServiceAPI(_x174, _x175) {\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 _callee96(e) {\n return _regeneratorRuntime().wrap(function _callee96$(_context96) {\n while (1) switch (_context96.prev = _context96.next) {\n case 0:\n if (!e.message) {\n _context96.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context96.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context96.stop();\n }\n }, _callee96);\n }));\n function extractResultData(_x176) {\n return _extractResultData24.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Jo;\n}(Xi);\nvar $o = /*#__PURE__*/function () {\n function $o() {\n _classCallCheck(this, $o);\n }\n _createClass($o, 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.request,\n n = e.demo,\n r = e.webModel;\n if (r) return new Zi(e);\n if (t) {\n if (t.openAI) return t.openAI.images ? new Wo(e) : t.openAI.speechToText ? new Bo(e) : t.openAI.textToSpeech ? new Fo(e) : t.openAI.assistant ? new Vo(e) : new ht(e);\n if (t.assemblyAI) return new en(e);\n if (t.cohere) return t.cohere.textGeneration ? new Do(e) : t.cohere.summarization ? new jo(e) : new Jo(e);\n if (t.huggingFace) return t.huggingFace.textGeneration ? new Io(e) : t.huggingFace.summarization ? new Ro(e) : t.huggingFace.translation ? new Oo(e) : t.huggingFace.fillMask ? new Po(e) : t.huggingFace.questionAnswer ? new Lo(e) : t.huggingFace.audioSpeechRecognition ? new ko(e) : t.huggingFace.audioClassification ? new Co(e) : t.huggingFace.imageClassification ? new Ao(e) : new No(e);\n if (t.azure) {\n if (t.azure.speechToText) return new Ho(e);\n if (t.azure.textToSpeech) return new qo(e);\n if (t.azure.summarization) return new Uo(e);\n if (t.azure.translation) return new Go(e);\n }\n if (t.stabilityAI) return t.stabilityAI.imageToImage ? new Vt(e) : t.stabilityAI.imageToImageUpscale ? new Ht(e) : t.stabilityAI.imageToImageMasking ? new Gt(e) : new Wt(e);\n }\n return i ? new Pe(e) : new Pe(e, void 0, n || !0);\n }\n }]);\n return $o;\n}();\nvar gs = /*#__PURE__*/function () {\n function qi() {\n _classCallCheck(this, qi);\n }\n _createClass(qi, null, [{\n key: \"appendStyleSheetToHead\",\n value: function appendStyleSheetToHead() {\n var e = document.getElementsByTagName(\"head\")[0];\n if (!Array.from(e.getElementsByTagName(\"link\")).some(function (i) {\n return i.getAttribute(\"href\") === qi.FONT_URL;\n })) {\n var _i12 = document.createElement(\"link\");\n _i12.rel = \"stylesheet\", _i12.href = qi.FONT_URL, e.appendChild(_i12);\n }\n }\n }]);\n return qi;\n}();\ngs.FONT_URL = \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\";\nvar Ko = gs;\nvar bs = /*#__PURE__*/_createClass(function bs() {\n _classCallCheck(this, bs);\n});\nbs.attibutes = {\n string: function string(s) {\n return s;\n },\n number: function number(s) {\n return parseFloat(s);\n },\n \"boolean\": function boolean(s) {\n return s === \"true\";\n },\n object: function object(s) {\n return JSON.parse(s);\n },\n array: function array(s) {\n return JSON.parse(s);\n },\n \"function\": function _function(s) {\n return new Function(\"return \".concat(s))();\n }\n};\nfunction x(s) {\n return function (e, t) {\n Object.defineProperty(e, t, {});\n var i = e.constructor,\n n = t.toLocaleLowerCase();\n i._attributes_[n] = bs.attibutes[s], i._attributeToProperty_[n] = t;\n };\n}\nvar tn = /*#__PURE__*/function () {\n function tn() {\n _classCallCheck(this, tn);\n }\n _createClass(tn, 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 = tn.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 return tn;\n}();\nvar $t = /*#__PURE__*/function () {\n function $t(e, t, i) {\n _classCallCheck(this, $t);\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 _createClass($t, [{\n key: \"createIntroPanelWithChild\",\n value: function createIntroPanelWithChild(e, t) {\n var i = $t.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 = $t.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 return $t;\n}();\nvar Yo = /*#__PURE__*/function () {\n function Yo() {\n _classCallCheck(this, Yo);\n }\n _createClass(Yo, null, [{\n key: \"getText\",\n value: function getText(e, t) {\n var i;\n if (!e.directConnection && !e.request && !e.webModel && !e.demo) return \"Connect to any API using the [request](https://deepchat.dev/docs/connect#Request)\\n property or a popular service via\\n [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).\\n \\n Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).\\n \\n To get started checkout the [Start](https://deepchat.dev/start) page and\\n live code [examples](https://deepchat.dev/examples/frameworks).\\n \\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.request && !e.request.url && !e.request.handler) return \"Please define a `url` or a `handler` property inside the [request](https://deepchat.dev/docs/connect#Request) object.\";\n return null;\n }\n }]);\n return Yo;\n}();\nvar Zo = \"<?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 ge = /*#__PURE__*/function () {\n function ge() {\n _classCallCheck(this, ge);\n }\n _createClass(ge, null, [{\n key: \"createImage\",\n value: function createImage(e, t) {\n var i = new Image();\n return i.src = e.src, ae.scrollDownOnImageLoad(i.src, t), ae.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 _callee97(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee97$(_context97) {\n while (1) switch (_context97.prev = _context97.next) {\n case 0:\n n = ge.createImage(t, e.elementRef), r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"image-message\"), ae.addMessage(e, r, \"image\", i);\n case 2:\n case \"end\":\n return _context97.stop();\n }\n }, _callee97);\n }));\n function addNewImageMessage(_x177, _x178, _x179) {\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, ye.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 = ge.createAudioElement(t, i),\n r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"audio-message\"), ae.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 = V.createSVGElement(Zo);\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 || ae.DEFAULT_FILE_NAME, t.appendChild(i), t.appendChild(r), ae.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 = ge.createAnyFile(t);\n n.bubbleElement.classList.add(\"any-file-message-bubble\"), n.bubbleElement.appendChild(r), ae.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 var r, o;\n n.ref && (n = ae.removeFileRef(n)), n.type === \"audio\" || (r = n.src) != null && r.startsWith(\"data:audio\") ? ge.addNewAudioMessage(e, n, i) : n.type === \"image\" || (o = n.src) != null && o.startsWith(\"data:image\") ? ge.addNewImageMessage(e, n, i) : ge.addNewAnyFileMessage(e, n, i);\n });\n }\n }]);\n return ge;\n}();\nvar be = /*#__PURE__*/function (_Ye) {\n _inherits(be, _Ye);\n function be(e, t, i) {\n var _this43;\n _classCallCheck(this, be);\n var a, l;\n _this43 = _callSuper(this, be, [e]);\n var n = t.permittedErrorPrefixes,\n r = t.introPanelMarkUp,\n o = t.demo;\n _this43._errorMessageOverrides = (a = e.errorMessages) == null ? void 0 : a.overrides, _this43._onClearMessages = zt.onClearMessages.bind(_assertThisInitialized(_this43), e), _this43._onError = zt.onError.bind(_assertThisInitialized(_this43), e), _this43._displayLoadingMessage = be.getDisplayLoadingMessage(e, t), _this43._permittedErrorPrefixes = n, _this43.addSetupMessageIfNeeded(e, t) || _this43.populateIntroPanel(i, r, e.introPanelStyle), _this43.addIntroductoryMessage(e, t), e.initialMessages && _this43.populateInitialMessages(e.initialMessages), _this43._displayServiceErrorMessages = (l = e.errorMessages) == null ? void 0 : l.displayServiceErrorMessages, e.getMessages = function () {\n return JSON.parse(JSON.stringify(_this43.messages));\n }, e.clearMessages = _this43.clearMessages.bind(_assertThisInitialized(_this43), t), e.refreshMessages = _this43.refreshTextMessages.bind(_assertThisInitialized(_this43)), e.scrollToBottom = G.scrollToBottom.bind(_assertThisInitialized(_this43), _this43.elementRef), e._addMessage = function (c, d) {\n _this43.addNewMessage(_objectSpread(_objectSpread({}, c), {}, {\n sendUpdate: !!d\n }), !d);\n }, t.isWebModel() && t.setUpMessages(_assertThisInitialized(_this43)), o && _this43.prepareDemo(o), e.textToSpeech && Ft.processConfig(e.textToSpeech, function (c) {\n _this43.textToSpeech = c;\n }), t.fetchHistory && _this43.fetchHistory(t.fetchHistory);\n return _this43;\n }\n _createClass(be, [{\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 = Yo.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 _i13;\n var n;\n e != null && e.shadowRoot && (this._introMessage = e.introMessage);\n var i = this._introMessage;\n if (t != null && t.isWebModel() && ((_i13 = i) !== null && _i13 !== void 0 ? _i13 : 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 = Qe.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: \"populateInitialMessages\",\n value: function populateInitialMessages(e) {\n var _this44 = this;\n e.forEach(function (t) {\n Re.processInitialMessageFile(t), _this44.addNewMessage(t, !0);\n }), setTimeout(function () {\n return G.scrollToBottom(_this44.elementRef);\n }, 0);\n }\n }, {\n key: \"fetchHistory\",\n value: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee98(e) {\n var _this45 = this;\n return _regeneratorRuntime().wrap(function _callee98$(_context98) {\n while (1) switch (_context98.prev = _context98.next) {\n case 0:\n _context98.next = 2;\n return e();\n case 2:\n _context98.sent.forEach(function (i) {\n i.error ? _this45.addNewErrorMessage(\"service\", i.error) : _this45.addNewMessage(i, !0);\n });\n setTimeout(function () {\n return G.scrollToBottom(_this45.elementRef);\n }, 0);\n case 4:\n case \"end\":\n return _context98.stop();\n }\n }, _callee98);\n }));\n function fetchHistory(_x180) {\n return _fetchHistory.apply(this, arguments);\n }\n return fetchHistory;\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 = be.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 && Ft.speak(i.text, this.textToSpeech)), i.files && Array.isArray(i.files) && ge.addMessages(this, i.files, i.role), i.html !== void 0 && i.html !== null) {\n var r = Qe.add(this, i.html, i.role, this.messageElementRefs, n);\n xe.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(Oe.MESSAGE_CLASS) && t.textContent === \"\" || be.isTemporaryElement(e)) && this.removeLastMessage();\n }\n // prettier-ignore\n }, {\n key: \"addNewErrorMessage\",\n value: function addNewErrorMessage(e, t) {\n var l, c, d, u, h;\n this.removeMessageOnError();\n var i = be.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 = D.extractParticularSharedStyles([\"fontSize\", \"fontFamily\"], (d = this.messageStyles) == null ? void 0 : d[\"default\"]);\n D.applyCustomStylesToElements(i, !1, a), D.applyCustomStylesToElements(i, !1, (u = this.messageStyles) == null ? void 0 : u.error), this.elementRef.appendChild(n), G.scrollToBottom(this.elementRef), this.textToSpeech && Ft.speak(o, this.textToSpeech), (h = this._onError) == null || h.call(this, o);\n }\n }, {\n key: \"getPermittedMessage\",\n value: function getPermittedMessage(e) {\n if (e) {\n if (this._displayServiceErrorMessages) return e;\n if (typeof e == \"string\" && this._permittedErrorPrefixes) {\n var t = be.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, e);\n if (t) return t;\n } else if (Array.isArray(e) && this._permittedErrorPrefixes) for (var _t3 = 0; _t3 < e.length; _t3 += 1) {\n var _i14 = be.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, e[_t3]);\n if (_i14) return _i14;\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), tn.set(i, this.messageStyles), this.elementRef.appendChild(t), G.scrollToBottom(this.elementRef);\n }\n }, {\n key: \"populateIntroPanel\",\n value: function populateIntroPanel(e, t, i) {\n (e || t) && (this._introPanel = new $t(e, t, i), this._introPanel._elementRef && (le.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 _callee99(e) {\n return _regeneratorRuntime().wrap(function _callee99$(_context99) {\n while (1) switch (_context99.prev = _context99.next) {\n case 0:\n return _context99.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 || ae.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 _context99.stop();\n }\n }, _callee99);\n }));\n function addMultipleFiles(_x181) {\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(Oe.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 _i15 = 0; _i15 < e.length; _i15 += 1) if (t.startsWith(e[_i15])) return t;\n }\n }]);\n return be;\n}(Ye);\nvar Mt = /*#__PURE__*/function () {\n function $() {\n _classCallCheck(this, $);\n }\n _createClass($, 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($.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS), t.classList.add($.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)) : i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0 && (e[3].classList.add($.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS), t.classList.add($.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($.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), t.classList.add($.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($.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), t.classList.add($.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 !!$.adjustOutsideSubmit(t, i, n) || $.adjustForOutsideButton(t, i, n), $.adjustInputPadding(e, n);\n }\n }]);\n return $;\n}();\nMt.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS = \"text-input-container-left-adjustment\";\nMt.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS = \"text-input-container-right-adjustment\";\nMt.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-left-small-adjustment\";\nMt.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-right-small-adjustment\";\nvar Xo = Mt;\nvar tt = /*#__PURE__*/function () {\n function tt() {\n _classCallCheck(this, tt);\n }\n _createClass(tt, 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 = tt.getContainerIndex(i);\n e[n].appendChild(t), n === 3 && t.classList.add(\"outside-right\");\n }\n }]);\n return tt;\n}();\nvar Mn = [\"camera\", \"gifs\", \"images\", \"audio\", \"mixedFiles\", \"submit\", \"microphone\"];\nvar j = /*#__PURE__*/function () {\n function j() {\n _classCallCheck(this, j);\n }\n _createClass(j, 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 ? j.createTextElement(e) : V.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.text) != null && n.content) return j.createElement((r = i == null ? void 0 : i.text) == null ? void 0 : r.content, !0);\n if ((o = i == null ? void 0 : i.svg) != null && o.content) return j.createElement((a = i == null ? void 0 : i.svg) == null ? void 0 : a.content, !1);\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 = j.createCustomElement(t, i)), j.processElement(e, n), n;\n }\n // used for creating elements that change state in a sequence\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e, t, i) {\n var n = {};\n if (!i) return j.processElement(e), n;\n var r = j.createSpecificStateElement(e, t[0], i);\n n[t[0]] = r;\n var o = r;\n return t.slice(1).forEach(function (a) {\n o = j.createCustomElement(a, i) || o, n[a] = o;\n }), n;\n }\n }]);\n return j;\n}();\nvar Qo = \"<?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 ne = /*#__PURE__*/function () {\n function ne() {\n _classCallCheck(this, ne);\n }\n _createClass(ne, null, [{\n key: \"unsetAllCSS\",\n value: function unsetAllCSS(e, t) {\n var i, n;\n t.container && C.unsetAllCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && C.unsetAllCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && C.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 && C.unsetActivityCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && C.unsetActivityCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && C.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 ne.setElementsCSS(e, t, \"default\"), i !== \"default\" && (ne.setElementsCSS(e, t, \"hover\"), i !== \"hover\" && ne.setElementsCSS(e, t, \"click\"));\n }\n }]);\n return ne;\n}();\nvar Tt = /*#__PURE__*/function () {\n function Tt(e, t, i, n) {\n _classCallCheck(this, Tt);\n this._mouseState = {\n state: \"default\"\n }, this.elementRef = e, this._customStyles = i, this.position = t, this.dropupText = n;\n }\n _createClass(Tt, [{\n key: \"buttonMouseLeave\",\n value: function buttonMouseLeave(e) {\n this._mouseState.state = \"default\", e && (ne.unsetAllCSS(this.elementRef, e), ne.setElementsCSS(this.elementRef, e, \"default\"));\n }\n }, {\n key: \"buttonMouseEnter\",\n value: function buttonMouseEnter(e) {\n this._mouseState.state = \"hover\", e && ne.setElementsCSS(this.elementRef, e, \"hover\");\n }\n }, {\n key: \"buttonMouseUp\",\n value: function buttonMouseUp(e) {\n e && ne.unsetActionCSS(this.elementRef, e), this.buttonMouseEnter(e);\n }\n }, {\n key: \"buttonMouseDown\",\n value: function buttonMouseDown(e) {\n this._mouseState.state = \"click\", e && ne.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 _i16 = e[t],\n n = _i16 && this._customStyles[_i16];\n n && ne.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 && ne.setElementCssUpToState(this.elementRef, i, this._mouseState.state), this.setEvents(i);\n }\n }]);\n return Tt;\n}();\nvar yt = /*#__PURE__*/function () {\n function yt() {\n _classCallCheck(this, yt);\n }\n _createClass(yt, null, [{\n key: \"focusItemWhenOnEdge\",\n value: function focusItemWhenOnEdge(e, t) {\n var i = t ? e.children[0] : e.children[e.children.length - 1];\n yt.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\")), yt.focusItemWhenOnEdge(t, i));\n }\n }]);\n return yt;\n}();\nvar Ae = /*#__PURE__*/function () {\n function Ae() {\n _classCallCheck(this, Ae);\n }\n _createClass(Ae, null, [{\n key: \"addItemEvents\",\n value: function addItemEvents(e, t, i, n) {\n Ie.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(Ae.createItemText(r.textContent, n == null ? void 0 : n.text)) : (t.appendChild(Ae.createItemIcon(e, n == null ? void 0 : n.iconContainer)), t.appendChild(Ae.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\"]), Ae.populateItem(n, o, r, i), o.classList.add(\"dropup-menu-item\");\n var a = C.processStateful((i == null ? void 0 : i.item) || {}, {\n backgroundColor: \"#f3f3f3\"\n }, {\n backgroundColor: \"#ebebeb\"\n });\n return Ae.addItemEvents(e, o, n, a), o;\n }\n }]);\n return Ae;\n}();\nvar nn = /*#__PURE__*/function () {\n function nn(e, t) {\n var _this46 = this;\n _classCallCheck(this, nn);\n var i;\n this._isOpen = !0, this._styles = t, this.elementRef = nn.createElement((i = this._styles) == null ? void 0 : i.container), this.close(), setTimeout(function () {\n return _this46.addWindowEvents(e);\n });\n }\n _createClass(nn, [{\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 = Ae.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 === R.ESCAPE ? (this.close(), (i = this.highlightedItem) == null || i.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === R.ENTER ? ((n = this.highlightedItem) == null || n.click(), (r = this.highlightedItem) == null || r.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === R.ARROW_DOWN ? yt.focusSiblingItem(this.highlightedItem || this.elementRef.children[this.elementRef.children.length - 1], this.elementRef, !0) : t.key === R.ARROW_UP && yt.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 return nn;\n}();\nvar Ze = /*#__PURE__*/function (_Tt) {\n _inherits(Ze, _Tt);\n function Ze(e, t) {\n var _this47;\n _classCallCheck(this, Ze);\n var n;\n _this47 = _callSuper(this, Ze, [Ze.createButtonElement(), void 0, {\n styles: (n = t == null ? void 0 : t.button) == null ? void 0 : n.styles\n }]);\n var i = _this47.createInnerElements(_this47._customStyles);\n _this47._menu = new nn(e, t == null ? void 0 : t.menu), _this47.addClickEvent(), _this47.buttonContainer = Ze.createButtonContainer(), _this47.elementRef.appendChild(i.styles), _this47.buttonContainer.appendChild(_this47.elementRef), _this47.elementRef.classList.add(\"dropup-icon\", \"upload-file-button\"), _this47.elementRef.children[0].id = \"dropup-icon\", _this47.buttonContainer.appendChild(_this47._menu.elementRef), _this47.reapplyStateStyle(\"styles\"), _this47.addContainerEvents(e);\n return _this47;\n }\n _createClass(Ze, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(Ze.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.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 _this48 = this;\n e.addEventListener(\"click\", function (t) {\n t.target.classList.contains(\"dropup-icon\") || _this48._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 V.createSVGElement(Qo);\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 return Ze;\n}(Tt);\nvar F = /*#__PURE__*/function () {\n function F() {\n _classCallCheck(this, F);\n }\n _createClass(F, null, [{\n key: \"addToDropup\",\n value:\n // prettier-ignore\n function addToDropup(e, t, i, n) {\n var r = new Ze(i, n);\n Mn.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 = Ze.getPosition(t, n);\n tt.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 tt.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 = F.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 && F.setPosition(e, n, t[r]);\n }), t[\"inside-right\"].length === 0 && e.submit && F.setPosition(e, \"submit\", t[\"inside-right\"]), t[\"outside-right\"].length === 0 && (e.submit ? F.setPosition(e, \"submit\", t[\"outside-right\"]) : e.microphone ? F.setPosition(e, \"microphone\", t[\"outside-right\"]) : e.camera && F.setPosition(e, \"camera\", t[\"outside-right\"])), e.submit && F.setPosition(e, \"submit\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]), e.microphone && F.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 ? Mn.forEach(function (n) {\n e[n] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[n]), {}, {\n buttonType: n\n }));\n }) : i.length === 1 && F.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 = F.generatePositions(t);\n return F.addToSideContainer(e, r), r[\"dropup-menu\"].length > 0 && F.addToDropup(e, r, i, n), r;\n }\n }]);\n return F;\n}();\nvar ea = \"<?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 ta = \"<?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 ia = \"<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 na = \"<?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 sa = {\n images: {\n id: \"upload-images-icon\",\n svgString: ta,\n dropupText: \"Image\"\n },\n gifs: {\n id: \"upload-gifs-icon\",\n svgString: na,\n dropupText: \"GIF\"\n },\n audio: {\n id: \"upload-audio-icon\",\n svgString: ia,\n dropupText: \"Audio\"\n },\n mixedFiles: {\n id: \"upload-mixed-files-icon\",\n svgString: ea,\n dropupText: \"File\"\n }\n };\nvar pe = /*#__PURE__*/function () {\n // prettier-ignore\n function pe(e, t, i, n) {\n var _this49 = this;\n _classCallCheck(this, pe);\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 _this49._validationHandler = e._validationHandler;\n });\n }\n _createClass(pe, [{\n key: \"attemptAddFile\",\n value: function attemptAddFile(e, t) {\n return pe.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 = pe.getTypeFromBlob(e);\n if (n === \"image\") {\n var r = pe.createImageAttachment(t);\n this.addFileAttachment(e, \"image\", r, i);\n } else if (n === \"audio\") {\n var _r2 = Hi.createAudioAttachment(t);\n this.addFileAttachment(e, \"audio\", _r2, i);\n } else {\n var _r3 = pe.createAnyFileAttachment(e.name);\n this.addFileAttachment(e, \"any\", _r3, i);\n }\n }\n }, {\n key: \"addFileAttachment\",\n value: function addFileAttachment(e, t, i, n) {\n var a;\n var r = pe.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), Hi.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\"), ye.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 return pe;\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 Tn = \"<?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 vs = /*#__PURE__*/function (_pe) {\n _inherits(Ce, _pe);\n // prettier-ignore\n function Ce(e, t, i, n) {\n _classCallCheck(this, Ce);\n return _callSuper(this, Ce, [e, t, i, n]);\n }\n _createClass(Ce, [{\n key: \"createTimer\",\n value: function createTimer(e, t) {\n var _this50 = this;\n var i = 0;\n var n = t !== void 0 && t < Ce.TIMER_LIMIT_S ? t : Ce.TIMER_LIMIT_S;\n return setInterval(function () {\n var a;\n i += 1, i === n && ((a = _this50.stopPlaceholderCallback) == null || a.call(_this50), _this50.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 = Ce.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 = V.createSVGElement(Tn);\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 _this51 = 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 = _this51.stopPlaceholderCallback) == null ? void 0 : a.call(_this51);\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, Ce.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\"), ye.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 ? G.cloneElement(e) : e,\n n = document.createElement(\"audio\");\n n.src = t;\n var r = V.createSVGElement(ra);\n r.classList.add(\"attachment-icon\", \"play-icon\");\n var o = V.createSVGElement(Tn);\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 = Ce.createAudioContainer();\n return Ce.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 return Ce;\n }(pe);\nvs.TIMER_LIMIT_S = 5999;\nvar Hi = vs;\nvar oa = /*#__PURE__*/function () {\n function oa() {\n _classCallCheck(this, oa);\n }\n _createClass(oa, null, [{\n key: \"create\",\n value:\n // prettier-ignore\n function create(e, t, i, n, r) {\n return r === \"audio\" ? new Hi(e, t, i, n) : new pe(e, t, i, n);\n }\n }]);\n return oa;\n}();\nvar Ct = /*#__PURE__*/function () {\n function Ct(e, t, i) {\n _classCallCheck(this, Ct);\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 _createClass(Ct, [{\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 _callee101() {\n return _regeneratorRuntime().wrap(function _callee101$(_context101) {\n while (1) switch (_context101.prev = _context101.next) {\n case 0:\n _context101.next = 2;\n return Promise.all(this._fileAttachmentsTypes.map( /*#__PURE__*/function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee100(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee100$(_context100) {\n while (1) switch (_context100.prev = _context100.next) {\n case 0:\n return _context100.abrupt(\"return\", (t = e.stopPlaceholderCallback) == null ? void 0 : t.call(e));\n case 1:\n case \"end\":\n return _context100.stop();\n }\n }, _callee100);\n }));\n return function (_x182) {\n return _ref14.apply(this, arguments);\n };\n }()));\n case 2:\n case \"end\":\n return _context101.stop();\n }\n }, _callee101, 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 Ct.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 return Ct;\n}();\nvar ys = /*#__PURE__*/function () {\n function de(e, t, i) {\n _classCallCheck(this, de);\n this._isOpen = !1, this._contentRef = de.createModalContent(t, i == null ? void 0 : i.backgroundColor), this._buttonPanel = de.createButtonPanel(i == null ? void 0 : i.backgroundColor), this._elementRef = de.createContainer(this._contentRef, i), this._elementRef.appendChild(this._buttonPanel), e.appendChild(this._elementRef), this._backgroundPanelRef = de.createDarkBackgroundPanel(), e.appendChild(this._backgroundPanelRef), this.addWindowEvents(e);\n }\n _createClass(de, [{\n key: \"isOpen\",\n value: function isOpen() {\n return this._isOpen;\n }\n }, {\n key: \"addButtons\",\n value: function addButtons() {\n var _this52 = 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 _this52._buttonPanel.appendChild(t);\n });\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this53 = 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 _this53._elementRef.style.display = \"none\", _this53._backgroundPanelRef.style.display = \"none\";\n }, de.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 _this54 = this;\n var n = t ? de.createSVGButton(e) : de.createTextButton(e);\n return this.addButtons(n), n.onclick = function () {\n _this54.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 === R.ESCAPE ? (this.close(), (i = this.extensionCloseCallback) == null || i.call(this)) : t.key === R.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 = V.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 de(e, [\"modal-content\"], t.files.infoModal.containerStyle);\n return r.addCloseButton(\"OK\", !1, i), r.openTextModal.bind(r, t.infoModalTextMarkUp || \"\");\n }\n }\n }]);\n return de;\n}();\nys.MODAL_CLOSE_TIMEOUT_MS = 190;\nvar ct = ys;\nvar pt = /*#__PURE__*/function (_Tt2) {\n _inherits(pt, _Tt2);\n // prettier-ignore\n function pt(e, t, i, n, r, o) {\n var _this55;\n _classCallCheck(this, pt);\n var l, c, d, u, h, p;\n _this55 = _callSuper(this, pt, [pt.createButtonElement(), (l = i.button) == null ? void 0 : l.position, i.button, o]);\n var a = _this55.createInnerElements(n, r, _this55._customStyles);\n _this55._inputElement = pt.createInputElement((c = i == null ? void 0 : i.files) == null ? void 0 : c.acceptedFormats), _this55.addClickEvent(e, i), _this55.elementRef.replaceChildren(a.styles), _this55.reapplyStateStyle(\"styles\"), _this55._fileAttachmentsType = t, _this55._openModalOnce = ((u = (d = i.files) == null ? void 0 : d.infoModal) == null ? void 0 : u.openModalOnce) === !1 || (p = (h = i.files) == null ? void 0 : h.infoModal) == null ? void 0 : p.openModalOnce;\n return _this55;\n }\n _createClass(pt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e, t, i) {\n var n = pt.createSVGIconElement(e, t);\n return {\n styles: this.createInnerElement(n, \"styles\", i)\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 Ct.addFilesToType(Array.from(e.files || []), [this._fileAttachmentsType]), e.value = \"\";\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent(e, t) {\n var i = this.triggerImportPrompt.bind(this, this._inputElement),\n n = ct.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 = V.createSVGElement(t);\n return i.id = e, i;\n }\n }]);\n return pt;\n}(Tt);\nvar ue = /*#__PURE__*/function () {\n function ue() {\n _classCallCheck(this, ue);\n }\n _createClass(ue, null, [{\n key: \"create\",\n value: function create(e, t, i) {\n var n = ue.createElement(i);\n ue.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(), ue.display(e);\n }, e.ondragleave = function (n) {\n n.preventDefault(), ue.hide(e);\n }, e.ondragover = function (n) {\n n.preventDefault();\n }, e.ondrop = function (n) {\n n.preventDefault(), ue.uploadFile(i, n), ue.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 return ue;\n}();\nvar ke = /*#__PURE__*/function () {\n function ke() {\n _classCallCheck(this, ke);\n }\n _createClass(ke, 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 _callee102(e, t, i, n) {\n var r, o, a, l;\n return _regeneratorRuntime().wrap(function _callee102$(_context102) {\n while (1) switch (_context102.prev = _context102.next) {\n case 0:\n r = t.inputElementRef, o = r.classList.contains(\"text-input-placeholder\") ? \"\" : r.textContent;\n _context102.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 _context102.abrupt(\"return\", ke.validate(e, n, o, l));\n case 5:\n case \"end\":\n return _context102.stop();\n }\n }, _callee102);\n }));\n function useValidationFunc(_x183, _x184, _x185, _x186) {\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 _callee103(e, t, i) {\n var r, n;\n return _regeneratorRuntime().wrap(function _callee103$(_context103) {\n while (1) switch (_context103.prev = _context103.next) {\n case 0:\n n = (r = t.files) == null ? void 0 : r.map(function (o) {\n return o.file;\n });\n return _context103.abrupt(\"return\", ke.validate(e, i, t.text, n, !0));\n case 2:\n case \"end\":\n return _context103.stop();\n }\n }, _callee103);\n }));\n function useValidationFuncProgrammatic(_x187, _x188, _x189) {\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 || Re.processValidateInput(e);\n e._validationHandler = /*#__PURE__*/function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee104(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee104$(_context104) {\n while (1) switch (_context104.prev = _context104.next) {\n case 0:\n if (!(r.status.loadingActive || r.status.requestInProgress || t.isSubmitProgrammaticallyDisabled === !0 || !ke.validateWebsocket(t, r))) {\n _context104.next = 2;\n break;\n }\n return _context104.abrupt(\"return\", !1);\n case 2:\n l = o || t.canSendMessage;\n return _context104.abrupt(\"return\", l ? a ? ke.useValidationFuncProgrammatic(l, a, r) : ke.useValidationFunc(l, i, n, r) : null);\n case 4:\n case \"end\":\n return _context104.stop();\n }\n }, _callee104);\n }));\n return function (_x190) {\n return _ref15.apply(this, arguments);\n };\n }();\n }\n }]);\n return ke;\n}();\nvar aa = \"<?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 xt = /*#__PURE__*/function (_Tt3) {\n _inherits(xt, _Tt3);\n function xt(e) {\n var _this56;\n _classCallCheck(this, xt);\n (e == null ? void 0 : e.position) === \"dropup-menu\" && (e.position = \"outside-right\"), _this56 = _callSuper(this, xt, [xt.createMicrophoneElement(), e == null ? void 0 : e.position, e]), _this56.isActive = !1, _this56._innerElements = _this56.createInnerElements(_this56._customStyles), _this56.changeToDefault();\n return _this56;\n }\n _createClass(xt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = xt.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 j.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 = V.createSVGElement(aa);\n return e.id = \"microphone-icon\", e;\n }\n }]);\n return xt;\n}(Tt);\nvar xs = {},\n di = {},\n ui = {},\n At = {},\n ze = {};\nObject.defineProperty(ze, \"__esModule\", {\n value: !0\n});\nze.Text = void 0;\nvar _e = /*#__PURE__*/function () {\n function _e() {\n _classCallCheck(this, _e);\n }\n _createClass(_e, null, [{\n key: \"capitalize\",\n value: function capitalize(e) {\n return e.replace(_e.FIRST_CHAR_REGEX, function (t) {\n return t.toUpperCase();\n });\n }\n }, {\n key: \"lineBreak\",\n value: function lineBreak(e) {\n return e.replace(_e.DOUBLE_LINE, \"<p></p>\").replace(_e.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 return _e;\n}();\nze.Text = _e;\n_e.FIRST_CHAR_REGEX = /\\S/;\n_e.DOUBLE_LINE = /\\n\\n/g;\n_e.ONE_LINE = /\\n/g;\nObject.defineProperty(At, \"__esModule\", {\n value: !0\n});\nAt.Translate = void 0;\nvar la = ze;\nvar ca = /*#__PURE__*/function () {\n function ca() {\n _classCallCheck(this, ca);\n }\n _createClass(ca, null, [{\n key: \"translate\",\n value: function translate(e, t) {\n var i = la.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 return ca;\n}();\nAt.Translate = ca;\nObject.defineProperty(ui, \"__esModule\", {\n value: !0\n});\nui.WebSpeechTranscript = void 0;\nvar Cn = At;\nvar da = /*#__PURE__*/function () {\n function da() {\n _classCallCheck(this, da);\n }\n _createClass(da, 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 = Cn.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 = Cn.Translate.translate(a, i)), n += a;\n }\n return {\n interimTranscript: r,\n finalTranscript: n,\n newText: r || n\n };\n }\n }]);\n return da;\n}();\nui.WebSpeechTranscript = da;\nvar nt = {};\nObject.defineProperty(nt, \"__esModule\", {\n value: !0\n});\nnt.Browser = void 0;\nvar dt = /*#__PURE__*/_createClass(function dt() {\n _classCallCheck(this, dt);\n});\nnt.Browser = dt;\ndt.IS_SAFARI = function () {\n return dt._IS_SAFARI === void 0 && (dt._IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), dt._IS_SAFARI;\n};\nvar kt = {},\n hi = {};\nObject.defineProperty(hi, \"__esModule\", {\n value: !0\n});\nhi.EventListeners = void 0;\nvar Y = /*#__PURE__*/function () {\n function Y() {\n _classCallCheck(this, Y);\n }\n _createClass(Y, 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 _this57 = this;\n e.element && Y.getElementIfFocusedOnAvailable(e.element, document.activeElement) && (Y.KEY_DOWN_TIMEOUT !== null && clearTimeout(Y.KEY_DOWN_TIMEOUT), Y.KEY_DOWN_TIMEOUT = setTimeout(function () {\n Y.KEY_DOWN_TIMEOUT = null, _this57.resetRecording(e);\n }, 500));\n }\n }, {\n key: \"mouseDownWindow\",\n value: function mouseDownWindow(e, t) {\n this.mouseDownElement = Y.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 = Y.mouseDownWindow.bind(e, t.element), document.addEventListener(\"mousedown\", e.mouseDownEvent), e.mouseUpEvent = Y.mouseUpWindow.bind(e, t), document.addEventListener(\"mouseup\", e.mouseUpEvent), e.keyDownEvent = Y.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 return Y;\n}();\nhi.EventListeners = Y;\nY.KEY_DOWN_TIMEOUT = null;\nvar pi = {};\nObject.defineProperty(pi, \"__esModule\", {\n value: !0\n});\npi.PreResultUtils = void 0;\nvar ua = /*#__PURE__*/function () {\n function ua() {\n _classCallCheck(this, ua);\n }\n _createClass(ua, 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 return ua;\n}();\npi.PreResultUtils = ua;\nvar It = {},\n Lt = {};\nObject.defineProperty(Lt, \"__esModule\", {\n value: !0\n});\nLt.AutoScroll = void 0;\nvar sn = /*#__PURE__*/function () {\n function sn() {\n _classCallCheck(this, sn);\n }\n _createClass(sn, 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 && sn.isElementOverflown(t);\n }\n }]);\n return sn;\n}();\nLt.AutoScroll = sn;\nvar Ue = {};\nObject.defineProperty(Ue, \"__esModule\", {\n value: !0\n});\nUe.Elements = void 0;\nvar ha = /*#__PURE__*/function () {\n function ha() {\n _classCallCheck(this, ha);\n }\n _createClass(ha, 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 _i17 = window.getSelection();\n if (_i17 != null && _i17.focusNode) {\n var n = _i17.getRangeAt(0);\n n.insertNode(e.scrollingSpan), n.insertNode(e.interimSpan), n.insertNode(e.finalSpan), n.collapse(!1), _i17.removeAllRanges(), _i17.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 return ha;\n}();\nUe.Elements = ha;\nvar qe = {};\nObject.defineProperty(qe, \"__esModule\", {\n value: !0\n});\nqe.Cursor = void 0;\nvar ft = /*#__PURE__*/function () {\n function ft() {\n _classCallCheck(this, ft);\n }\n _createClass(ft, 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 = ft.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 _a2 = document.createRange();\n _a2.setStart(o, t - i), _a2.collapse(!0);\n var l = window.getSelection();\n return l == null || l.removeAllRanges(), l == null || l.addRange(_a2), 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 = ft.getGenericElementCursorOffset(e, i, !0);\n console.log(n), setTimeout(function () {}, 100), ft.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 return ft;\n}();\nqe.Cursor = ft;\nObject.defineProperty(It, \"__esModule\", {\n value: !0\n});\nIt.CommandUtils = void 0;\nvar An = Lt,\n pa = Ue,\n fa = nt,\n kn = qe,\n In = ze;\nvar K = /*#__PURE__*/function () {\n function K() {\n _classCallCheck(this, K);\n }\n _createClass(K, 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 ? In.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\" ? K.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 K.toggleCommandModeOff(e), pa.Elements.isPrimitiveElement(n) ? (n.value = i, e.isTargetInShadow || kn.Cursor.setOffsetForPrimitive(n, i.length, !0), fa.Browser.IS_SAFARI() && e.autoScroll && An.AutoScroll.scrollSafariPrimitiveToEnd(n)) : (n.textContent = i, e.isTargetInShadow || kn.Cursor.focusEndOfGeneric(n), setTimeout(function () {\n return An.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 u = In.Text.breakupIntoWordsArr(d),\n h = ((a = c.settings) === null || a === void 0 ? void 0 : a.substrings) === !1 ? K.checkIfMatchesWord : K.checkIfMatchesSubstring;\n if (c.commandMode && h(c.commandMode, d, u)) return e.setInterimColorToFinal(), setTimeout(function () {\n return K.toggleCommandModeOn(e);\n }), {\n doNotProcessTranscription: !1\n };\n if (!(c.commandMode && !e.isWaitingForCommand)) {\n if (c.stop && h(c.stop, d, u)) return K.toggleCommandModeOff(e), setTimeout(function () {\n return e.stop();\n }), {\n doNotProcessTranscription: !1\n };\n if (c.pause && h(c.pause, d, u)) return K.toggleCommandModeOff(e), e.setInterimColorToFinal(), setTimeout(function () {\n var p;\n e.isPaused = !0, (p = e.onPauseTrigger) === null || p === void 0 || p.call(e, !0);\n }), {\n doNotProcessTranscription: !1\n };\n if (c.resume && h(c.resume, d, u)) return e.isPaused = !1, (l = e.onPauseTrigger) === null || l === void 0 || l.call(e, !1), K.toggleCommandModeOff(e), e.resetRecording(i), {\n doNotProcessTranscription: !0\n };\n if (c.reset && h(c.reset, d, u)) return r !== void 0 && K.setText(e, i, r, n), {\n doNotProcessTranscription: !0\n };\n if (c.removeAllText && h(c.removeAllText, d, u)) return K.setText(e, i, \"\", n), {\n doNotProcessTranscription: !0\n };\n }\n }\n }]);\n return K;\n}();\nIt.CommandUtils = K;\nvar fi = {};\nObject.defineProperty(fi, \"__esModule\", {\n value: !0\n});\nfi.Highlight = void 0;\nvar ma = Ue,\n st = qe;\nvar Kt = /*#__PURE__*/function () {\n function Kt() {\n _classCallCheck(this, Kt);\n }\n _createClass(Kt, 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 = st.Cursor.getGenericElementCursorOffset(t, i, !0),\n r = st.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 && (ma.Elements.isPrimitiveElement(t) ? Kt.setStateForPrimitive(e, t) : Kt.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 = st.Cursor.getGenericElementCursorOffset(t, i, !0);\n i.deleteFromDocument(), st.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, st.Cursor.setOffsetForPrimitive(t, i, e.autoScroll);\n }\n e.isHighlighted = !1;\n }\n }]);\n return Kt;\n}();\nfi.Highlight = Kt;\nvar mi = {};\nObject.defineProperty(mi, \"__esModule\", {\n value: !0\n});\nmi.Padding = void 0;\nvar ga = Ue,\n Ln = qe,\n Ge = ze;\nvar Yt = /*#__PURE__*/function () {\n function Yt() {\n _classCallCheck(this, Yt);\n }\n _createClass(Yt, 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 Ge.Text.isCharDefined(r) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), Ge.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 Ge.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 = Ln.Cursor.getGenericElementCursorOffset(t, a, !0),\n c = (i = t.textContent) === null || i === void 0 ? void 0 : i[l - 1],\n d = Ln.Cursor.getGenericElementCursorOffset(t, a, !1),\n u = (n = t.textContent) === null || n === void 0 ? void 0 : n[d];\n Ge.Text.isCharDefined(c) && (e.startPadding = \" \"), Ge.Text.isCharDefined(u) && (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 Ge.Text.isCharDefined(o) && (e.startPadding = \" \"), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n ga.Elements.isPrimitiveElement(t) ? Yt.setStateForPrimitiveElement(e, t) : Yt.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 return Yt;\n}();\nmi.Padding = Yt;\nObject.defineProperty(kt, \"__esModule\", {\n value: !0\n});\nkt.Speech = void 0;\nvar Rn = hi,\n ba = pi,\n Nn = It,\n Dt = Lt,\n ki = fi,\n se = Ue,\n Ii = mi,\n On = nt,\n Pn = qe,\n Li = ze;\nvar va = /*#__PURE__*/function () {\n function va() {\n _classCallCheck(this, va);\n this.finalTranscript = \"\", this.interimSpan = se.Elements.createInterimSpan(), this.finalSpan = se.Elements.createGenericSpan(), this.scrollingSpan = se.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 _createClass(va, [{\n key: \"prepareBeforeStart\",\n value: function prepareBeforeStart(e) {\n var t, i;\n if (e != null && e.element) if (Rn.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\"], se.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 = Nn.CommandUtils.process(this._options.commands));\n }\n }, {\n key: \"prepare\",\n value: function prepare(e) {\n Ii.Padding.setState(this, e), ki.Highlight.setState(this, e), this.isTargetInShadow = se.Elements.isInsideShadowDOM(e), se.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 = Li.Text.capitalize(t);\n if (this.finalTranscript === r && e === \"\") return;\n ba.PreResultUtils.process(this, i, e === \"\", this._onPreResult, this._options) && (e = \"\", i = \"\");\n var o = this.commands && Nn.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 && ki.Highlight.removeForPrimitive(this, e), this.primitiveTextRecorded || Ii.Padding.adjustStateAfterRecodingPrimitiveElement(this, e), i && Ii.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 Pn.Cursor.setOffsetForPrimitive(e, r, this.autoScroll);\n }\n this.autoScroll && On.Browser.IS_SAFARI() && this.isCursorAtEnd && Dt.AutoScroll.scrollSafariPrimitiveToEnd(e);\n }\n }, {\n key: \"updateGenericElement\",\n value: function updateGenericElement(e, t, i) {\n this.isHighlighted && ki.Highlight.removeForGeneric(this, e), this.spansPopulated || se.Elements.appendSpans(this, e);\n var n = (i ? \"\" : this.startPadding) + Li.Text.lineBreak(this.finalTranscript);\n this.finalSpan.innerHTML = n;\n var r = Dt.AutoScroll.isRequired(this.autoScroll, e);\n Dt.AutoScroll.changeStateIfNeeded(this, r);\n var o = Li.Text.lineBreak(t) + (i ? \"\" : this.endPadding);\n this.interimSpan.innerHTML = o, On.Browser.IS_SAFARI() && this.insertInCursorLocation && Pn.Cursor.setOffsetForSafariGeneric(e, n.length + o.length), r && Dt.AutoScroll.scrollGeneric(this, e), i && (this.scrollingSpan.innerHTML = \"\");\n }\n }, {\n key: \"finalise\",\n value: function finalise(e) {\n this._genericElement && (e ? (this.finalSpan = se.Elements.createGenericSpan(), this.setInterimColorToFinal(), this.interimSpan = se.Elements.createInterimSpan(), this.scrollingSpan = se.Elements.createGenericSpan()) : this._genericElement.textContent = this._genericElement.textContent, this.spansPopulated = !1), Rn.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 return va;\n}();\nkt.Speech = va;\nObject.defineProperty(di, \"__esModule\", {\n value: !0\n});\ndi.WebSpeech = void 0;\nvar Dn = ui,\n jn = nt,\n ya = kt;\nvar Zt = /*#__PURE__*/function (_ya$Speech) {\n _inherits(Zt, _ya$Speech);\n function Zt() {\n _classCallCheck(this, Zt);\n return _callSuper(this, Zt);\n }\n _createClass(Zt, [{\n key: \"start\",\n value: function start(e) {\n var t;\n this._extractText === void 0 && (this._extractText = jn.Browser.IS_SAFARI() ? Dn.WebSpeechTranscript.extractSafari : Dn.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 Zt.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 = Zt.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 _this58 = this;\n this._service && (this._service.onstart = function () {\n _this58.setStateOnStart();\n }, this._service.onerror = function (e) {\n jn.Browser.IS_SAFARI() && e.message === \"Another request is started\" || e.error === \"aborted\" && _this58.isRestarting || e.error !== \"no-speech\" && _this58.error(e.message || e.error);\n }, this._service.onaudioend = function () {\n _this58.setStateOnStop();\n }, this._service.onend = function () {\n _this58._stopping = !1;\n }, this._service.onresult = function (e) {\n if (_typeof(e.results) > \"u\" && _this58._service) _this58._service.onend = null, _this58._service.stop();else if (_this58._extractText && !_this58._stopping) {\n var _this58$_extractText = _this58._extractText(e, _this58.finalTranscript, _this58._translations),\n t = _this58$_extractText.interimTranscript,\n _i18 = _this58$_extractText.finalTranscript,\n n = _this58$_extractText.newText;\n _this58.updateElements(t, _i18, 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 return Zt;\n}(ya.Speech);\ndi.WebSpeech = Zt;\nvar gi = {};\nObject.defineProperty(gi, \"__esModule\", {\n value: !0\n});\ngi.GlobalState = void 0;\nvar Xe = /*#__PURE__*/function () {\n function Xe() {\n _classCallCheck(this, Xe);\n }\n _createClass(Xe, null, [{\n key: \"doubleClickDetector\",\n value: function doubleClickDetector() {\n return Xe.doubleClickPending ? !0 : (Xe.doubleClickPending = !0, setTimeout(function () {\n Xe.doubleClickPending = !1;\n }, 300), !1);\n }\n }]);\n return Xe;\n}();\ngi.GlobalState = Xe;\nXe.doubleClickPending = !1;\nvar bi = {},\n vi = {};\nObject.defineProperty(vi, \"__esModule\", {\n value: !0\n});\nvi.PreventConnectionStop = void 0;\nvar xa = /*#__PURE__*/function () {\n function xa() {\n _classCallCheck(this, xa);\n }\n _createClass(xa, 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 return xa;\n}();\nvi.PreventConnectionStop = xa;\nvar yi = {},\n xi = {};\nObject.defineProperty(xi, \"__esModule\", {\n value: !0\n});\nxi.README_URL = void 0;\nxi.README_URL = \"https://github.com/OvidijusParsiunas/speech-to-element\";\nObject.defineProperty(yi, \"__esModule\", {\n value: !0\n});\nyi.AzureSpeechConfig = void 0;\nvar Ri = xi;\nvar Xt = /*#__PURE__*/function () {\n function Xt() {\n _classCallCheck(this, Xt);\n }\n _createClass(Xt, 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(Ri.README_URL)), !1) : t.region ? !0 : (e(\"Please define a 'region' property - more info: \".concat(Ri.README_URL)), !1) : (e(\"Please provide subscription details - more info: \".concat(Ri.README_URL)), !1);\n }\n }, {\n key: \"getNewSpeechConfig\",\n value: function () {\n var _getNewSpeechConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee105(e, t) {\n return _regeneratorRuntime().wrap(function _callee105$(_context105) {\n while (1) switch (_context105.prev = _context105.next) {\n case 0:\n if (!t.region) {\n _context105.next = 2;\n break;\n }\n return _context105.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 _context105.stop();\n }\n }, _callee105);\n }));\n function getNewSpeechConfig(_x191, _x192) {\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 _callee106(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee106$(_context106) {\n while (1) switch (_context106.prev = _context106.next) {\n case 0:\n _context106.next = 2;\n return Xt.getNewSpeechConfig(e, t);\n case 2:\n i = _context106.sent;\n return _context106.abrupt(\"return\", (i && Xt.process(i, t), i));\n case 4:\n case \"end\":\n return _context106.stop();\n }\n }, _callee106);\n }));\n function get(_x193, _x194) {\n return _get.apply(this, arguments);\n }\n return get;\n }()\n }]);\n return Xt;\n}();\nyi.AzureSpeechConfig = Xt;\nvar Ei = {};\nObject.defineProperty(Ei, \"__esModule\", {\n value: !0\n});\nEi.StopTimeout = void 0;\nvar Et = /*#__PURE__*/function () {\n function Et() {\n _classCallCheck(this, Et);\n }\n _createClass(Et, 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 || Et.DEFAULT_MS, e.stopTimeout && clearTimeout(e.stopTimeout), Et.set(e);\n }\n }]);\n return Et;\n}();\nEi.StopTimeout = Et;\nEt.DEFAULT_MS = 2e4;\nvar _i = {};\nObject.defineProperty(_i, \"__esModule\", {\n value: !0\n});\n_i.AzureTranscript = void 0;\nvar Ea = At;\nvar _a = /*#__PURE__*/function () {\n function _a() {\n _classCallCheck(this, _a);\n }\n _createClass(_a, 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 = Ea.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 return _a;\n}();\n_i.AzureTranscript = _a;\nObject.defineProperty(bi, \"__esModule\", {\n value: !0\n});\nbi.Azure = void 0;\nvar Fn = vi,\n Bn = yi,\n Ni = Ei,\n zn = _i,\n Sa = kt;\nvar Qt = /*#__PURE__*/function (_Sa$Speech) {\n _inherits(Qt, _Sa$Speech);\n function Qt() {\n var _this59;\n _classCallCheck(this, Qt);\n _this59 = _callSuper(this, Qt, arguments), _this59._newTextPadding = \"\";\n return _this59;\n }\n _createClass(Qt, [{\n key: \"start\",\n value: function start(e, t) {\n this._newTextPadding = \"\", this.stopTimeout === void 0 && Ni.StopTimeout.reset(this, e == null ? void 0 : e.stopAfterSilenceMs), this.prepareBeforeStart(e), this.startAsync(e), t || Fn.PreventConnectionStop.applyPrevention(this);\n }\n }, {\n key: \"startAsync\",\n value: function () {\n var _startAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee107(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee107$(_context107) {\n while (1) switch (_context107.prev = _context107.next) {\n case 0:\n _context107.t0 = this.validate(e);\n if (!_context107.t0) {\n _context107.next = 6;\n break;\n }\n _context107.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 _context107.stop();\n }\n }, _callee107, this);\n }));\n function startAsync(_x195) {\n return _startAsync.apply(this, arguments);\n }\n return startAsync;\n }()\n }, {\n key: \"validate\",\n value: function validate(e) {\n return Qt.getAPI() ? Bn.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 _callee108(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee108$(_context108) {\n while (1) switch (_context108.prev = _context108.next) {\n case 0:\n t = Qt.getAPI();\n i = t.AudioConfig.fromDefaultMicrophoneInput();\n _context108.next = 4;\n return Bn.AzureSpeechConfig.get(t.SpeechConfig, e);\n case 4:\n n = _context108.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 _context108.stop();\n }\n }, _callee108, this);\n }));\n function instantiateService(_x196) {\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 _zn$AzureTranscript$e = zn.AzureTranscript.extract(this._newTextPadding + t.result.text, this.finalTranscript, !1, this._translations),\n i = _zn$AzureTranscript$e.interimTranscript,\n n = _zn$AzureTranscript$e.finalTranscript,\n r = _zn$AzureTranscript$e.newText;\n Ni.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 _zn$AzureTranscript$e2 = zn.AzureTranscript.extract(this._newTextPadding + i.text, this.finalTranscript, !0, this._translations),\n n = _zn$AzureTranscript$e2.interimTranscript,\n r = _zn$AzureTranscript$e2.finalTranscript,\n o = _zn$AzureTranscript$e2.newText;\n Ni.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 Fn.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 _this60 = this;\n this._retrieveTokenInterval = setInterval(function () {\n e == null || e().then(function (t) {\n _this60._service && (_this60._service.authorizationToken = (t == null ? void 0 : t.trim()) || \"\");\n })[\"catch\"](function (t) {\n _this60.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 return Qt;\n}(Sa.Speech);\nbi.Azure = Qt;\nObject.defineProperty(xs, \"__esModule\", {\n value: !0\n});\nvar Un = di,\n wa = It,\n ie = gi,\n Ma = bi;\nvar Ke = /*#__PURE__*/function () {\n function Ke() {\n _classCallCheck(this, Ke);\n }\n _createClass(Ke, null, [{\n key: \"toggle\",\n value: function toggle(e, t) {\n var i, n;\n var r = e.toLocaleLowerCase().trim();\n !((i = ie.GlobalState.service) === null || i === void 0) && i.recognizing ? this.stop() : r === \"webspeech\" ? Ke.startWebSpeech(t) : r === \"azure\" ? Ke.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 Ke.stop() || (ie.GlobalState.service = new Un.WebSpeech(), ie.GlobalState.service.start(e));\n }\n }, {\n key: \"isWebSpeechSupported\",\n value: function isWebSpeechSupported() {\n return !!Un.WebSpeech.getAPI();\n }\n }, {\n key: \"startAzure\",\n value: function startAzure(e) {\n var t;\n Ke.stop() || !((t = ie.GlobalState.service) === null || t === void 0) && t.cannotBeStopped || (ie.GlobalState.service = new Ma.Azure(), ie.GlobalState.service.start(e));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var e;\n return ie.GlobalState.doubleClickDetector() ? !0 : (!((e = ie.GlobalState.service) === null || e === void 0) && e.recognizing && ie.GlobalState.service.stop(), !1);\n }\n }, {\n key: \"endCommandMode\",\n value: function endCommandMode() {\n ie.GlobalState.service && wa.CommandUtils.toggleCommandModeOff(ie.GlobalState.service);\n }\n }]);\n return Ke;\n}();\nvar Oi = xs[\"default\"] = Ke;\nvar ei = /*#__PURE__*/function (_xt) {\n _inherits(ei, _xt);\n function ei(e, t, i) {\n var _this61;\n _classCallCheck(this, ei);\n var o;\n _this61 = _callSuper(this, ei, [_typeof(e.speechToText) == \"object\" ? (o = e.speechToText) == null ? void 0 : o.button : {}]);\n var _ei$processConfigurat = ei.processConfiguration(t, e.speechToText),\n n = _ei$processConfigurat.serviceName,\n r = _ei$processConfigurat.processedConfig;\n if (_this61._addErrorMessage = i, n === \"webspeech\" && !Oi.isWebSpeechSupported()) _this61.changeToUnsupported();else {\n var a = !e.textInput || !e.textInput.disabled;\n _this61.elementRef.onclick = _this61.buttonClick.bind(_assertThisInitialized(_this61), t, a, n, r);\n }\n return _this61;\n }\n // prettier-ignore\n _createClass(ei, [{\n key: \"buttonClick\",\n value: function buttonClick(e, t, i, n) {\n e.removeTextIfPlaceholder(), Oi.toggle(i, _objectSpread({\n insertInCursorLocation: !1,\n element: t ? e.inputElementRef : void 0,\n onError: this.onError.bind(this),\n onStart: this.changeToActive.bind(this),\n onStop: this.changeToDefault.bind(this),\n onCommandModeTrigger: this.onCommandModeTrigger.bind(this)\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: \"processConfiguration\",\n value: function processConfiguration(e, t) {\n var _i$displayInterimResu, _i$textColor, _i$translations, _i$commands;\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 }, 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 u;\n return (u = e.submit) == null ? void 0 : u.call(e);\n }), Oi.endCommandMode(), {\n restart: !0,\n removeNewText: !0\n }) : null;\n }), {\n serviceName: ei.getServiceName(i),\n processedConfig: o\n };\n }\n }, {\n key: \"getServiceName\",\n value: function getServiceName(e) {\n return e.webSpeech ? \"webspeech\" : e.azure ? \"azure\" : \"webspeech\";\n }\n }]);\n return ei;\n}(xt);\nvar Es = /*#__PURE__*/function () {\n function Es() {\n _classCallCheck(this, Es);\n }\n _createClass(Es, 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 return Es;\n}();\nvar Ta = /*#__PURE__*/function (_xt2) {\n _inherits(Ta, _xt2);\n function Ta(e, t) {\n var _this62;\n _classCallCheck(this, Ta);\n var i, n;\n _this62 = _callSuper(this, Ta, [t.button]), _this62._waitingForBrowserApproval = !1, _this62._audioType = e, _this62._extension = ((i = t.files) == null ? void 0 : i.format) || \"mp3\", _this62._maxDurationSeconds = (n = t.files) == null ? void 0 : n.maxDurationSeconds, _this62.elementRef.onclick = _this62.buttonClick.bind(_assertThisInitialized(_this62));\n return _this62;\n }\n _createClass(Ta, [{\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 _this63 = this;\n return new Promise(function (e) {\n var t, i;\n _this63.changeToDefault(), (t = _this63._mediaRecorder) == null || t.stop(), (i = _this63._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 _this64 = this;\n navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (e) {\n _this64.changeToActive(), _this64._mediaRecorder = new MediaRecorder(e), _this64._audioType.addPlaceholderAttachment(_this64.stop.bind(_this64), _this64._maxDurationSeconds), _this64._mediaStream = e, _this64._mediaRecorder.addEventListener(\"dataavailable\", function (t) {\n _this64.createFile(t);\n }), _this64._mediaRecorder.start();\n })[\"catch\"](function (e) {\n console.error(e), _this64.stop();\n })[\"finally\"](function () {\n _this64._waitingForBrowserApproval = !1;\n });\n }\n }, {\n key: \"createFile\",\n value: function createFile(e) {\n var _this65 = this;\n var t = new Blob([e.data], {\n type: \"audio/\".concat(this._extension)\n }),\n i = Es.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 _this65._audioType.completePlaceholderAttachment(n, o.target.result);\n };\n }\n }]);\n return Ta;\n}(xt);\nvar Ca = \"<?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 z = /*#__PURE__*/function () {\n function z() {\n _classCallCheck(this, z);\n }\n _createClass(z, 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(), z.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(), z.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 : z.getObjectValue(n, t.slice(1));\n }\n }, {\n key: \"overwritePropertyObjectFromAnother\",\n value: function overwritePropertyObjectFromAnother(e, t, i) {\n var n = z.getObjectValue(t, i);\n if (n) {\n var r = _objectSpread(_objectSpread({}, n), z.getObjectValue(e, i) || {});\n z.setPropertyValue(e, i, r);\n }\n }\n }]);\n return z;\n}();\nvar Le = /*#__PURE__*/function () {\n function Le() {\n _classCallCheck(this, Le);\n }\n _createClass(Le, 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 z.overwritePropertyObjectFromAnother(i, e.submit, [\"container\", \"default\"]), z.overwritePropertyObjectFromAnother(i, e.submit, [\"text\", \"styles\", \"default\"]), z.overwritePropertyObjectFromAnother(i, e.submit, [\"svg\", \"styles\", \"default\"]), e[t] = i;\n }\n // prettier-ignore\n }, {\n key: \"setUpDisabledButton\",\n value: function setUpDisabledButton(e) {\n z.setPropertyValueIfDoesNotExist(e, [\"submit\", \"container\", \"default\", \"backgroundColor\"], \"\"), z.setPropertyValueIfDoesNotExist(e, [\"disabled\", \"container\", \"default\", \"backgroundColor\"], \"unset\"), z.setPropertyValueIfDoesNotExist(e.submit, [\"svg\", \"styles\", \"default\", \"filter\"], \"\"), z.setPropertyValueIfDoesNotExist(e.disabled, [\"svg\", \"styles\", \"default\", \"filter\"], \"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)\"), Le.overwriteDefaultStyleWithSubmit(e, \"disabled\");\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t = JSON.parse(JSON.stringify(e || {}));\n return Le.overwriteDefaultStyleWithSubmit(t, \"loading\"), Le.overwriteDefaultStyleWithSubmit(t, \"stop\"), e != null && e.alwaysEnabled || Le.setUpDisabledButton(t), t;\n }\n }]);\n return Le;\n}();\nvar Si = /*#__PURE__*/function (_Tt4) {\n _inherits(k, _Tt4);\n // prettier-ignore\n function k(e, t, i, n, r) {\n var _this66;\n _classCallCheck(this, k);\n var o = Le.process(e.submitButtonStyles);\n _this66 = _callSuper(this, k, [k.createButtonContainerElement(), o == null ? void 0 : o.position, o]), _this66._isSVGLoadingIconOverriden = !1, _this66.status = {\n requestInProgress: !1,\n loadingActive: !1\n }, _this66._messages = i, _this66._inputElementRef = t, _this66._fileAttachments = r, _this66._innerElements = _this66.createInnerElements(), _this66._abortStream = new AbortController(), _this66._stopClicked = {\n listener: function listener() {}\n }, _this66._serviceIO = n, _this66._alwaysEnabled = !!(o != null && o.alwaysEnabled), e.disableSubmitButton = _this66.disableSubmitButton.bind(_assertThisInitialized(_this66), n), _this66.attemptOverwriteLoadingStyle(e), setTimeout(function () {\n var a;\n _this66._validationHandler = e._validationHandler, _this66.assignHandlers(_this66._validationHandler), (a = _this66._validationHandler) == null || a.call(_assertThisInitialized(_this66));\n });\n return _this66;\n }\n // prettier-ignore\n _createClass(k, [{\n key: \"createInnerElements\",\n value: function createInnerElements() {\n var _j$create = j.create(this.elementRef, [\"submit\", \"loading\", \"stop\"], this._customStyles),\n e = _j$create.submit,\n t = _j$create.loading,\n i = _j$create.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: \"createDisabledIconElement\",\n value: function createDisabledIconElement(e) {\n return j.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 u = document.createElement(\"style\");\n u.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(u), 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.deepChat.stream;\n _typeof(t) == \"object\" && typeof t.simulation == \"number\" && (this._serviceIO.streamHandlers.simulationInterim = t.simulation);\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 _callee109() {\n var t, e, _i19;\n return _regeneratorRuntime().wrap(function _callee109$(_context109) {\n while (1) switch (_context109.prev = _context109.next) {\n case 0:\n _context109.next = 2;\n return this._fileAttachments.completePlaceholders();\n case 2:\n e = this._fileAttachments.getAllFileData();\n if (this._inputElementRef.classList.contains(\"text-input-placeholder\")) this.attemptSubmit({\n text: \"\",\n files: e\n });else {\n _i19 = (t = this._inputElementRef.textContent) == null ? void 0 : t.trim();\n this.attemptSubmit({\n text: _i19,\n files: e\n });\n }\n case 4:\n case \"end\":\n return _context109.stop();\n }\n }, _callee109, 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 _callee110(e) {\n var _this67 = this;\n var t;\n return _regeneratorRuntime().wrap(function _callee110$(_context110) {\n while (1) switch (_context110.prev = _context110.next) {\n case 0:\n typeof e == \"string\" && (e = Re.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: pe.getTypeFromBlob(i)\n };\n })), setTimeout(function () {\n return _this67.attemptSubmit(t, !0);\n });\n case 3:\n case \"end\":\n return _context110.stop();\n }\n }, _callee110);\n }));\n function programmaticSubmit(_x197) {\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 _callee111(e) {\n var t,\n r,\n o,\n a,\n i,\n n,\n _args111 = arguments;\n return _regeneratorRuntime().wrap(function _callee111$(_context111) {\n while (1) switch (_context111.prev = _context111.next) {\n case 0:\n t = _args111.length > 1 && _args111[1] !== undefined ? _args111[1] : !1;\n _context111.next = 3;\n return (r = this._validationHandler) == null ? void 0 : r.call(this, t ? e : void 0);\n case 3:\n _context111.t0 = _context111.sent;\n _context111.t1 = !1;\n if (!(_context111.t0 === _context111.t1)) {\n _context111.next = 7;\n break;\n }\n return _context111.abrupt(\"return\");\n case 7:\n this.changeToLoadingIcon();\n _context111.next = 10;\n return this.addNewMessage(e);\n case 10:\n this._serviceIO.isWebModel() || this._messages.addLoadingMessage();\n Gi.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 _context111.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 _context111.stop();\n }\n }, _callee111, this);\n }));\n function attemptSubmit(_x198) {\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 _callee112(_ref16) {\n var e, t, i;\n return _regeneratorRuntime().wrap(function _callee112$(_context112) {\n while (1) switch (_context112.prev = _context112.next) {\n case 0:\n e = _ref16.text, t = _ref16.files;\n i = {\n role: b.USER_ROLE\n };\n e && (i.text = e);\n _context112.t0 = t;\n if (!_context112.t0) {\n _context112.next = 8;\n break;\n }\n _context112.next = 7;\n return this._messages.addMultipleFiles(t);\n case 7:\n i.files = _context112.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 _context112.stop();\n }\n }, _callee112, this);\n }));\n function addNewMessage(_x199) {\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 // WORK - animation needs to be lowered\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 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), Le.resetSubmit(this, this.status.loadingActive), this.elementRef.onclick = this.submitFromInput.bind(this));\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 = V.createSVGElement(Ca);\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 return k;\n}(Tt);\nSi.SUBMIT_CLASS = \"submit-button\";\nSi.LOADING_CLASS = \"loading-button\";\nSi.DISABLED_CLASS = \"disabled-button\";\nvar Aa = Si;\nvar ka = \"<?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 Ia = \"<?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 La = \"<?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 Ra = \"<?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 rn = /*#__PURE__*/function (_ct) {\n _inherits(rn, _ct);\n // prettier-ignore\n function rn(e, t, i, n) {\n var _this68;\n _classCallCheck(this, rn);\n _this68 = _callSuper(this, rn, [e, [\"modal-content\", \"modal-camera-content\"], i]), _this68._stopped = !1, _this68._format = \"image/png\", _this68._canvas = document.createElement(\"canvas\"), _this68._canvas.classList.add(\"camera-modal-canvas\");\n var _this68$addButtonsAnd = _this68.addButtonsAndTheirEvents(t),\n r = _this68$addButtonsAnd.captureButton,\n o = _this68$addButtonsAnd.submitButton;\n _this68._captureButton = r, _this68._submitButton = o, _this68._captureIcon = _this68._captureButton.children[0], _this68._refreshIcon = V.createSVGElement(ka), _this68._refreshIcon.classList.add(\"modal-svg-button-icon\", \"modal-svg-refresh-icon\"), (n == null ? void 0 : n.format) === \"jpeg\" && (_this68._format = \"image/jpeg\"), n != null && n.dimensions && (_this68._dimensions = n.dimensions), _this68._contentRef.appendChild(_this68._canvas), _this68.extensionCloseCallback = _this68.stop;\n return _this68;\n }\n _createClass(rn, [{\n key: \"addButtonsAndTheirEvents\",\n value: function addButtonsAndTheirEvents(e) {\n var t = ct.createSVGButton(Ia);\n t.classList.add(\"modal-svg-camera-button\"), t.children[0].classList.add(\"modal-svg-camera-icon\");\n var i = this.addCloseButton(La, !0);\n i.classList.add(\"modal-svg-close-button\"), i.children[0].classList.add(\"modal-svg-close-icon\");\n var n = ct.createSVGButton(Ra);\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 _this69 = this;\n e.onclick = function () {\n _this69.capture();\n }, t.addEventListener(\"click\", this.stop.bind(this)), i.onclick = function () {\n var r = _this69.getFile();\n r && Ct.addFilesToType([r], [n]), _this69.stop(), _this69.close();\n };\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this70 = this;\n this._mediaStream && this._mediaStream.getTracks().forEach(function (e) {\n return e.stop();\n }), this._stopped = !0, setTimeout(function () {\n _this70._captureButton.replaceChildren(_this70._captureIcon), _this70._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\");\n var e = _this70._canvas.getContext(\"2d\");\n e == null || e.clearRect(0, 0, _this70._canvas.width, _this70._canvas.height);\n }, ct.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this71 = 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 (_this71._mediaStream = e, !_this71.isOpen()) return _this71.stop();\n var t = document.createElement(\"video\");\n t.srcObject = e, t.play(), requestAnimationFrame(_this71.updateCanvas.bind(_this71, t, _this71._canvas));\n })[\"catch\"](function (e) {\n console.error(e), _this71.stop(), _this71.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 _i20 = new Uint8Array(t),\n n = new Blob([_i20], {\n type: this._format\n }),\n r = this._format === \"image/jpeg\" ? \"jpeg\" : \"png\",\n o = Es.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 _i21 = t.getContext(\"2d\");\n _i21 == null || _i21.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 rn(e, t, i, n);\n return r.openCameraModal.bind(r, r);\n }\n }]);\n return rn;\n}(ct);\nvar Na = \"<?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 ti = /*#__PURE__*/function (_Tt5) {\n _inherits(ti, _Tt5);\n function ti(e, t, i) {\n var _this72;\n _classCallCheck(this, ti);\n var r;\n _this72 = _callSuper(this, ti, [ti.createButtonElement(), (r = i == null ? void 0 : i.button) == null ? void 0 : r.position, (i == null ? void 0 : i.button) || {}, \"Photo\"]);\n var n = _this72.createInnerElements(_this72._customStyles);\n i && _this72.addClickEvent(e, t, i.modalContainerStyle, i.files), _this72.elementRef.classList.add(\"upload-file-button\"), _this72.elementRef.appendChild(n.styles), _this72.reapplyStateStyle(\"styles\");\n return _this72;\n }\n _createClass(ti, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(ti.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value:\n // prettier-ignore\n function addClickEvent(e, t, i, n) {\n var r = rn.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 = V.createSVGElement(Na);\n return e.id = \"camera-icon\", e;\n }\n }]);\n return ti;\n}(Tt);\nvar mt = /*#__PURE__*/function () {\n function mt(e, t, i, n) {\n _classCallCheck(this, mt);\n this.elementRef = mt.createPanelElement(e.inputAreaStyle);\n var r = new Gi(e, i),\n o = {},\n a = this.createFileUploadComponents(e, i, n, o);\n e.speechToText && !o.microphone && (o.microphone = {\n button: new ei(e, r, t.addNewErrorMessage.bind(t))\n });\n var l = new Aa(e, r.inputElementRef, t, i, a);\n r.submit = l.submitFromInput.bind(l), ke.attach(e, i, r, a, l), e.submitUserMessage = l.programmaticSubmit.bind(l), o.submit = {\n button: l\n }, mt.addElements(this.elementRef, r, o, n, a, e.dropupStyles);\n }\n _createClass(mt, [{\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 Ct(this.elementRef, e.attachmentContainerStyle, t.demo);\n if (mt.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 ti(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 Ta(_d, t.recordAudio)\n };\n }\n return ue.isEnabled(r, e.dragAndDrop) && ue.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 _sa$a = sa[a],\n d = _sa$a.id,\n u = _sa$a.svgString,\n h = _sa$a.dropupText,\n p = new pt(n, c, l, d, u, h);\n r[a] = {\n button: p,\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 G.addElements(e, t.elementRef);\n var a = tt.create(),\n l = F.addButtons(a, i, n, o);\n Xo.set(t.inputElementRef, a, r.elementRef, l), tt.add(e, a);\n }\n }]);\n return mt;\n}();\nvar on = /*#__PURE__*/function () {\n function on() {\n _classCallCheck(this, on);\n }\n _createClass(on, 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 be(e, t, i);\n t.websocket && B.createConnection(t, r);\n var o = new mt(e, r, t, n);\n return G.addElements(n, r.elementRef, o.elementRef), n;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i, n) {\n var r = on.createElements(e, i, n);\n t.replaceChildren(r);\n }\n }]);\n return on;\n}();\nvar Oa = \"#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}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}.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:-.7em}@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}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}\\n\";\nvar Pa = Object.defineProperty,\n Da = Object.getOwnPropertyDescriptor,\n E = function E(s, e, t, i) {\n for (var n = i > 1 ? void 0 : i ? Da(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 && Pa(e, t, n), n;\n };\nvar y = /*#__PURE__*/function (_So) {\n _inherits(y, _So);\n function y() {\n var _this73;\n _classCallCheck(this, y);\n _this73 = _callSuper(this, y), _this73.getMessages = function () {\n return [];\n }, _this73.submitUserMessage = function () {\n return console.warn(\"submitUserMessage failed - please wait for chat view to render before calling this property.\");\n }, _this73.focusInput = function () {\n return ii.focusFromParentElement(_this73._elementRef);\n }, _this73.refreshMessages = function () {}, _this73.clearMessages = function () {}, _this73.scrollToBottom = function () {}, _this73.disableSubmitButton = function () {}, _this73._hasBeenRendered = !1, _this73._auxiliaryStyleApplied = !1, _this73._addMessage = function () {\n return console.warn(\"addMessage failed - please wait for chat view to render before calling this property.\");\n }, Ko.appendStyleSheetToHead(), _this73._elementRef = document.createElement(\"div\"), _this73._elementRef.id = \"container\", _this73.attachShadow({\n mode: \"open\"\n }).appendChild(_this73._elementRef), wi.apply(Oa, _this73.shadowRoot), setTimeout(function () {\n _this73._hasBeenRendered || _this73.onRender();\n }, 20);\n return _this73;\n }\n _createClass(y, [{\n key: \"changeToChatView\",\n value: function changeToChatView() {\n this._activeService && (this._activeService.validateConfigKey = !1), this.onRender();\n }\n // prettier-ignore\n }, {\n key: \"onRender\",\n value: function onRender() {\n var _this$_childElement;\n (!this._activeService || this._activeService.demo) && (this._activeService = $o.create(this)), this.auxiliaryStyle && !this._auxiliaryStyleApplied && (wi.apply(this.auxiliaryStyle, this.shadowRoot), this._auxiliaryStyleApplied = !0), wi.applyDefaultStyleToComponent(this.style, this.chatStyle), Re.checkForContainerStyles(this, this._elementRef), this._activeService.key && this._activeService.validateConfigKey ? Bt.render(this._elementRef, this.changeToChatView.bind(this), this._activeService) : !(this._activeService instanceof q) || this._activeService.key ? ((_this$_childElement = this._childElement) !== null && _this$_childElement !== void 0 ? _this$_childElement : this._childElement = this.children[0], on.render(this, this._elementRef, this._activeService, this._childElement)) : this._activeService instanceof q && P.render(this._elementRef, this.changeToChatView.bind(this), this._activeService), this._hasBeenRendered = !0, zt.onRender(this);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n Zi.chat = void 0;\n }\n }]);\n return y;\n}(So);\nE([x(\"object\")], y.prototype, \"directConnection\", 2);\nE([x(\"object\")], y.prototype, \"request\", 2);\nE([x(\"object\")], y.prototype, \"webModel\", 2);\nE([x(\"object\")], y.prototype, \"stream\", 2);\nE([x(\"object\")], y.prototype, \"requestBodyLimits\", 2);\nE([x(\"function\")], y.prototype, \"requestInterceptor\", 2);\nE([x(\"function\")], y.prototype, \"responseInterceptor\", 2);\nE([x(\"function\")], y.prototype, \"validateInput\", 2);\nE([x(\"object\")], y.prototype, \"chatStyle\", 2);\nE([x(\"object\")], y.prototype, \"attachmentContainerStyle\", 2);\nE([x(\"object\")], y.prototype, \"dropupStyles\", 2);\nE([x(\"object\")], y.prototype, \"inputAreaStyle\", 2);\nE([x(\"object\")], y.prototype, \"textInput\", 2);\nE([x(\"object\")], y.prototype, \"submitButtonStyles\", 2);\nE([x(\"string\")], y.prototype, \"auxiliaryStyle\", 2);\nE([x(\"array\")], y.prototype, \"initialMessages\", 2);\nE([x(\"object\")], y.prototype, \"introMessage\", 2);\nE([x(\"object\")], y.prototype, \"avatars\", 2);\nE([x(\"object\")], y.prototype, \"names\", 2);\nE([x(\"boolean\")], y.prototype, \"displayLoadingBubble\", 2);\nE([x(\"object\")], y.prototype, \"errorMessages\", 2);\nE([x(\"object\")], y.prototype, \"messageStyles\", 2);\nE([x(\"object\")], y.prototype, \"textToSpeech\", 2);\nE([x(\"object\")], y.prototype, \"speechToText\", 2);\nE([x(\"object\")], y.prototype, \"images\", 2);\nE([x(\"object\")], y.prototype, \"gifs\", 2);\nE([x(\"object\")], y.prototype, \"camera\", 2);\nE([x(\"object\")], y.prototype, \"audio\", 2);\nE([x(\"object\")], y.prototype, \"microphone\", 2);\nE([x(\"object\")], y.prototype, \"mixedFiles\", 2);\nE([x(\"object\")], y.prototype, \"dragAndDrop\", 2);\nE([x(\"object\")], y.prototype, \"introPanelStyle\", 2);\nE([x(\"object\")], y.prototype, \"htmlClassUtilities\", 2);\nE([x(\"function\")], y.prototype, \"onNewMessage\", 2);\nE([x(\"function\")], y.prototype, \"onClearMessages\", 2);\nE([x(\"function\")], y.prototype, \"onComponentRender\", 2);\nE([x(\"function\")], y.prototype, \"onError\", 2);\nE([x(\"object\")], y.prototype, \"demo\", 2);\nE([x(\"object\")], y.prototype, \"_insertKeyViewStyles\", 2);\ncustomElements.define(\"deep-chat\", y);\nexport { y as DeepChat };\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 { type ColorsModel } from '../../types/ColorModel';\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: ColorsModel = {\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","/**\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","// 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 '@atlas/shared/client/ui/themes/theme-v2/colors';\nimport { unsafeCSS, css } from 'lit';\nimport { fontFamilies } from '@atlas/shared/client/ui/themes/theme-v2/typography';\n\nexport const buttonStyle = css`\n :host {\n --font-poppins: ${unsafeCSS(fontFamilies.poppins)}, sans-serif;\n }\n #chatbot-button {\n font-family: var(--font-poppins);\n outline: none;\n border: 2px solid #e4e7ec;\n font-size: 0.75rem;\n font-weight: 600;\n background-color: white;\n border-radius: 20px;\n padding: 0.25rem 0.75rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n #chatbot-button ::slotted(img) {\n width: 1rem;\n }\n #chatbot-button[data-variant='filled'] {\n background-color: ${unsafeCSS(colors.base.greys.tone900)};\n border: none;\n color: white;\n }\n`;\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","import { buttonStyle } from './Button.styles';\nimport { html, LitElement, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('lr-button')\nexport class Button extends LitElement {\n @property()\n icon: string = '';\n\n @property()\n label: string = '';\n\n @property()\n ariaLabel: string = '';\n\n @property()\n variant: string = 'light';\n\n @property({ attribute: false })\n action!: () => void;\n\n static styles = css`\n ${buttonStyle}\n `;\n\n render() {\n return html`\n <button aria-label=${this.ariaLabel} data-variant=${this.variant} id=\"chatbot-button\">\n <slot name=\"icon\"></slot> ${this.label}\n </button>\n `;\n }\n}\n","import { rem } from '../../library/polished';\n\nconst SPACING_BASE = 8;\nexport const spacing = (amount: number) => rem(`${amount * SPACING_BASE}px`);\n","import { colors } from '@atlas/shared/client/ui/themes/theme-v2/colors';\nimport { fontFamilies } from '@atlas/shared/client/ui/themes/theme-v2/typography';\nimport { spacing } from '@atlas/shared/client/ui/themes/theme-v2/spaces';\nimport { css, unsafeCSS } from 'lit';\nimport { type DeepChat } from 'deep-chat';\n\nexport const chatbotStyle = css`\n :host {\n --font-poppins: ${unsafeCSS(fontFamilies.poppins)}, sans-serif;\n position: relative;\n }\n #chat-wrapper {\n display: none;\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(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(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(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(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`;\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: colors.base.white,\n borderRadius: '50%',\n padding: 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: fontFamilies.poppins,\n border: 'none',\n backgroundColor: colors.base.greys.tone100,\n maxWidth: '360px',\n height: '465px'\n },\n messageStyles: {\n default: {\n shared: {\n bubble: {\n backgroundColor: colors.base.white,\n color: colors.base.greys.tone900,\n fontSize: '0.75rem',\n padding: '0.625rem',\n fontFamily: fontFamilies.poppins,\n lineHeight: '18px',\n maxWidth: '100%',\n width: '100%',\n marginTop: '0'\n },\n innerContainer: {\n alignItems: 'center'\n },\n outerContainer: {\n margin: `${spacing(2)} 0`\n }\n },\n lr: {\n bubble: {\n background: colors.base.coral.tone300,\n color: 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 },\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 }\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 },\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 ConversationsConversationsGetErrorModel = AxiosError<\n NotFoundProblemDetailsModel | InternalServerErrorProblemDetailsModel | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ConversationsConversationsSummaryGetErrorModel = AxiosError<\n NotFoundProblemDetailsModel | InternalServerErrorProblemDetailsModel | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ConversationsConversationsPostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ConversationsConversationsRatePostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ConversationsConversationsMessagesRatePostErrorModel = AxiosError<\n | BadRequestProblemDetailsModel\n | NotFoundProblemDetailsModel\n | InternalServerErrorProblemDetailsModel\n | ServiceUnavailableProblemDetailsModel\n>;\n\nexport type ConversationsWebhookPostErrorModel = AxiosError<\n BadRequestProblemDetailsModel | UnauthorizedProblemDetailsModel\n>;\n\nexport class ConversationsServiceErrorGuards {\n static ConversationsConversationsGet = class {\n static isNotFoundProblemDetails = (\n error: ConversationsConversationsGetErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ConversationsConversationsGetErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ConversationsConversationsGetErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ConversationsConversationsSummaryGet = class {\n static isNotFoundProblemDetails = (\n error: ConversationsConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ConversationsConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ConversationsConversationsSummaryGetErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ConversationsConversationsPost = class {\n static isBadRequestProblemDetails = (\n error: ConversationsConversationsPostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ConversationsConversationsPostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ConversationsConversationsPostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ConversationsConversationsPostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ConversationsConversationsRatePost = class {\n static isBadRequestProblemDetails = (\n error: ConversationsConversationsRatePostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ConversationsConversationsRatePostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ConversationsConversationsRatePostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ConversationsConversationsRatePostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ConversationsConversationsMessagesRatePost = class {\n static isBadRequestProblemDetails = (\n error: ConversationsConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isNotFoundProblemDetails = (\n error: ConversationsConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<NotFoundProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<NotFoundProblemDetailsModel>(error, 404);\n };\n static isInternalServerErrorProblemDetails = (\n error: ConversationsConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<InternalServerErrorProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<InternalServerErrorProblemDetailsModel>(error, 500);\n };\n static isServiceUnavailableProblemDetails = (\n error: ConversationsConversationsMessagesRatePostErrorModel | unknown\n ): error is AxiosError<ServiceUnavailableProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<ServiceUnavailableProblemDetailsModel>(error, 503);\n };\n };\n\n static ConversationsWebhookPost = class {\n static isBadRequestProblemDetails = (\n error: ConversationsWebhookPostErrorModel | unknown\n ): error is AxiosError<BadRequestProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<BadRequestProblemDetailsModel>(error, 400);\n };\n static isUnauthorizedProblemDetails = (\n error: ConversationsWebhookPostErrorModel | unknown\n ): error is AxiosError<UnauthorizedProblemDetailsModel> => {\n return axios.isAxiosError(error) && isOfErrorType<UnauthorizedProblemDetailsModel>(error, 401);\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 RateConversationMessageRequestModel,\n RateConversationRequestModel,\n WebhookRequestModel,\n WebhookResponseModel\n} from '../models';\nimport {\n ConversationsServiceErrorGuards,\n type ConversationsConversationsGetErrorModel,\n type ConversationsConversationsMessagesRatePostErrorModel,\n type ConversationsConversationsPostErrorModel,\n type ConversationsConversationsRatePostErrorModel,\n type ConversationsConversationsSummaryGetErrorModel,\n type ConversationsWebhookPostErrorModel\n} from './errors/ConversationsServiceErrors';\n\nexport class ConversationsService extends HttpClient {\n /** ConversationsService API static endpoints */\n static Endpoints = {\n conversationsConversationsGet: ({ id }: any) => `/api/conversations/Conversations/${id}`,\n conversationsConversationsSummaryGet: ({ id }: any) => `/api/conversations/Conversations/${id}/summary`,\n conversationsConversationsPost: '/api/conversations/Conversations',\n conversationsConversationsRatePost: ({ id }: any) => `/api/conversations/Conversations/${id}/rate`,\n conversationsConversationsMessagesRatePost: ({ id, messageId }: any) =>\n `/api/conversations/Conversations/${id}/messages/${messageId}/rate`,\n conversationsWebhookPost: '/api/conversations/Webhook'\n };\n\n /** ConversationsService API static errors typeguards */\n static Errors = ConversationsServiceErrorGuards;\n\n /** ConversationsService API methods */\n /**\n * @description Gets a current user conversation\n * @tags ChatbotApi\n * @name ConversationsConversationsGet\n * @summary Gets a conversation\n * @request GET:/api/conversations/Conversations/{id}\n */\n conversationsConversationsGet = (id: string, requestParams: RequestParams = {}) =>\n this.request<ConversationResponseModel, ConversationsConversationsGetErrorModel>({\n path: ConversationsService.Endpoints.conversationsConversationsGet({ id }),\n method: 'GET',\n format: 'json',\n ...requestParams\n });\n /**\n * @description Gets a current user conversation summary\n * @tags ChatbotApi\n * @name ConversationsConversationsSummaryGet\n * @summary Gets a conversation summary\n * @request GET:/api/conversations/Conversations/{id}/summary\n */\n conversationsConversationsSummaryGet = (id: string, requestParams: RequestParams = {}) =>\n this.request<ConversationSummaryResponseModel, ConversationsConversationsSummaryGetErrorModel>({\n path: ConversationsService.Endpoints.conversationsConversationsSummaryGet({ 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 ChatbotApi\n * @name ConversationsConversationsPost\n * @summary Starts or continues a conversation\n * @request POST:/api/conversations/Conversations\n */\n conversationsConversationsPost = (data: ConversationQuestionRequestModel, requestParams: RequestParams = {}) =>\n this.request<ConversationQuestionResponseModel, ConversationsConversationsPostErrorModel>({\n path: ConversationsService.Endpoints.conversationsConversationsPost,\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 ChatbotApi\n * @name ConversationsConversationsRatePost\n * @summary Rates a conversation\n * @request POST:/api/conversations/Conversations/{id}/rate\n */\n conversationsConversationsRatePost = (\n id: string,\n data: RateConversationRequestModel,\n requestParams: RequestParams = {}\n ) =>\n this.request<void, ConversationsConversationsRatePostErrorModel>({\n path: ConversationsService.Endpoints.conversationsConversationsRatePost({ 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 ChatbotApi\n * @name ConversationsConversationsMessagesRatePost\n * @summary Rates a message inside a conversation\n * @request POST:/api/conversations/Conversations/{id}/messages/{message_id}/rate\n */\n conversationsConversationsMessagesRatePost = (\n id: string,\n messageId: string,\n data: RateConversationMessageRequestModel,\n requestParams: RequestParams = {}\n ) =>\n this.request<void, ConversationsConversationsMessagesRatePostErrorModel>({\n path: ConversationsService.Endpoints.conversationsConversationsMessagesRatePost({ id, messageId }),\n method: 'POST',\n body: data,\n type: 'application/json',\n ...requestParams\n });\n /**\n * No description\n * @tags ChatbotApi\n * @name ConversationsWebhookPost\n * @summary Performs an action through webhook\n * @request POST:/api/conversations/Webhook\n */\n conversationsWebhookPost = (data: WebhookRequestModel, requestParams: RequestParams = {}) =>\n this.request<WebhookResponseModel, ConversationsWebhookPostErrorModel>({\n path: ConversationsService.Endpoints.conversationsWebhookPost,\n method: 'POST',\n body: data,\n type: 'application/json',\n format: 'json',\n ...requestParams\n });\n}\n\nexport * from './errors/ConversationsServiceErrors';\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 'deep-chat';\nimport '../button/Button';\nimport { LitElement, html, css, 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 { ConversationsService } from '@atlas/shared/data-access/chatbot';\nimport { i18nConfig } from '@atlas/shared/client/i18n/config.ts';\ndeclare const __PKG_VERSION__: string;\n\n@customElement('lr-chatbot')\nexport class Chatbot extends LitElement {\n private _chatElementRef?: DeepChat | null = null;\n\n @property({ type: String })\n accessor apiUrl: string = '';\n\n @property({ type: Boolean })\n accessor opened: boolean = true;\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 static styles = css`\n ${chatbotStyle}\n `;\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._chatElementRef = this.shadowRoot?.getElementById('chat-element') as DeepChat;\n if (this._chatElementRef) {\n this.setChatStyle();\n this.setChatInitialMessages();\n this.setChatTranslations();\n this.setChatConnection();\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.initialMessages = [\n ...chat?.initialMessages!,\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 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) => {\n const chat = this._chatElementRef!;\n const text = event.target.label;\n chat.submitUserMessage({ text: text });\n }\n }\n }\n };\n }\n\n private setChatInitialMessages() {\n const chat = this._chatElementRef!;\n chat.initialMessages = [\n {\n role: 'lr',\n html: t('chatbot:legalInformation')\n }\n ];\n }\n\n private setChatConnection() {\n const chat = this._chatElementRef!;\n chat.request = {\n handler: async (body, signals) => {\n try {\n const message = body.messages[0].text;\n const service = new ConversationsService({\n baseURL: this.apiUrl,\n withCredentials: true,\n method: 'POST'\n });\n const response = await service.conversationsConversationsPost({\n language: this.language.split('-')[0].toLocaleUpperCase(),\n question: message,\n source: {\n platform: 'Web',\n channel: 'Channel'\n },\n context: []\n });\n if (!response.message) {\n throw Error();\n }\n signals.onResponse({ text: response.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 // TODO : INTERCEPT SOME RESPONSE TO TRANSFORM WITH SUGGESTIONS OR FEEDBACK OR CHAT ENDING.....\n return response;\n };\n }\n\n close() {\n this.opened = false;\n }\n\n minimize() {\n this.minimized = true;\n this.opened = false;\n }\n\n open() {\n this.minimized = false;\n this.opened = true;\n }\n\n render() {\n return html` <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 >\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.close}\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 <div>\n <deep-chat id=\"chat-element\" part=\"chat-element\"></deep-chat>\n </div>\n </div>\n ${this.minimized\n ? 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 >\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 : nothing}`;\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","e","r","_isNativeReflectConstruct","p","fn","_callSuper","_possibleConstructorReturn","self","call","_typeof","_assertThisInitialized","_inherits","subClass","superClass","_regeneratorRuntime","t","a","c","u","define","wrap","Generator","Context","makeInvokeMethod","tryCatch","l","s","GeneratorFunction","GeneratorFunctionPrototype","d","v","values","g","defineIteratorMethods","AsyncIterator","invoke","h","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","_s","Bt","C","qn","jt","wi","R","ye","Hn","rt","ii","Ss","ws","Gn","Ve","_this","_this2","_t2","_t$disabled","_t$placeholder","_i$text","Gi","an","Ms","Vi","Ts","Cs","As","ln","A","Vn","Wn","_len","_key","G","Jn","$n","Ft","Re","ks","Is","Kn","re","b","_i2","_i3","_i4","cn","Yn","Se","_i5","_i6","_i7","dn","ni","we","_loop","_ret","Ie","Ls","Rs","Pi","un","xe","le","Qe","Nt","Zn","Ns","Os","Xn","Ps","gt","Qn","Di","Ds","js","Fs","Ne","Bs","zs","Us","qs","U","De","es","Wi","W","Hs","je","bt","Gs","Vs","ji","ts","is","ns","Ws","Js","$s","Ks","hn","Mi","Ys","m","f","Zs","Xs","Qs","er","tr","ir","pn","nr","mn","He","sr","_","S","Ti","ss","Fe","rr","or","ar","lr","gn","bn","cr","dr","J","X","O","H","Q","ee","I","Rt","te","ur","hr","pr","rs","fr","mr","gr","br","Ci","vr","Ot","yr","xr","Er","Pt","Ji","_r","Sr","wr","Mr","Tr","Cr","$i","vn","Ar","kr","Ir","Lr","Rr","yn","xn","Nr","Or","Pr","Dr","jr","Fr","Br","zr","Ur","qr","Hr","Gr","si","Vr","Wr","Jr","$r","Kr","Yr","Zr","Xr","Qr","eo","to","io","no","so","ro","oo","ao","lo","Ai","ri","co","uo","ho","po","fo","os","fe","vt","as","We","ae","zt","D","Ye","_this3","_this4","_this5","Ki","ot","_i8","Oe","ls","at","_tempRemoveContentHeader","_callee","_context","tempRemoveContentHeader","_x5","_x6","_x7","_fetch","fetch","_x","_x2","_x3","_x4","_processRequestInterceptor","_callee2","_context2","processRequestInterceptor","_x8","_x9","mo","_x10","_x11","_mo","_callee113","_context113","go","vo","bo","En","yo","Fi","xo","_n","Eo","_o","_H","_callee3","_context3","T","_request","_callee6","_yield$v$processReque","_e$streamHandlers","_args6","_context6","he","Ee","_callee4","_context4","_callee5","_context5","request","_x12","_x13","_x14","_i9","cs","lt","_callee7","_context7","B","_this6","_ref2","_callee8","_context8","_x15","_sendWebsocket","_callee9","_yield$v$processReque2","_args9","_context9","sendWebsocket","_x16","_x17","_x18","_i$o","_request2","_callee11","_context11","_ref3","_callee10","_context10","_x22","_x19","_x20","_x21","_ref4","_callee12","_context12","_x23","_this7","_ref5","_callee13","_context13","_x24","w","_request3","_callee15","_yield$v$processReque3","_args15","_context15","_ref6","_callee14","_context14","_x28","_x25","_x26","_x27","_ref7","_callee16","_context16","_x29","_poll","_callee17","_yield$v$processReque4","_args17","_context17","poll","_x30","_x31","_x32","et","L","_l$files","_h$maxNumberOfFiles","_l$files2","_e$files","_i$acceptedFormats","_n$maxNumberOfFiles","Pe","_a$url","_request4","_callee18","_args18","_context18","_x33","_x34","_callAPIWithText","_callee19","_o$headers","_a$ContentType","_context19","callAPIWithText","_x35","_x36","_callApiWithFiles","_callee20","_context20","callApiWithFiles","_x37","_x38","_x39","_callServiceAPI","_callee21","_context21","callServiceAPI","_x40","_x41","_x42","_callAPI","_callee22","_context22","callAPI","_x43","_x44","_extractResultData","_callee23","_context23","extractResultData","_x45","q","_Pe","_this8","_i$headers","_this$keyVerification","Ut","_HTMLElement","Je","_this9","So","wo","Mo","V","ds","$e","To","P","_o2","_P$createHelpTextCont","_t","me","_loop2","Sn","wn","_Pe2","M","_this10","_this11","_this12","_this13","_configureInit","_callee24","_context24","configureInit","_x46","_init","_callee25","_context25","init","_x47","_loadModel","_callee26","_this14","_this$getConfig","_p","_context26","loadModel","_x48","_x49","_unloadChat","_callee27","_context27","unloadChat","_x50","_immediateResp","_callee28","_context28","immediateResp","_x51","_x52","_x53","_streamResp","_callee30","_this15","_context30","_ref8","_callee29","_context29","_x57","_x58","streamResp","_x54","_x55","_x56","_generateRespByType","_callee31","_context31","generateRespByType","_x59","_x60","_x61","_x62","_generateResp","_callee32","_yield$v$processReque5","_context32","generateResp","_x63","_x64","_x65","_callServiceAPI2","_callee33","_context33","_x66","_x67","_processResponse","_callee34","_context34","processResponse","_x68","_x69","_x70","qt","us","_q","Bi","_this16","_n$options","_callServiceAPI3","_callee35","_context35","_x71","_x72","_x73","Be","St","_Be","_this17","_callServiceAPI4","_callee36","_context36","_x74","_x75","_x76","Co","_St","_extractPollResultData","_callee37","_context37","extractPollResultData","_x77","Ao","_St2","_extractPollResultData2","_callee38","_context38","_x78","wt","ce","oi","_q2","_this18","Ht","_oi","_this19","_callServiceAPI5","_callee39","_context39","_x79","_x80","_x81","_extractResultData2","_callee40","_context40","_x82","Gt","_oi2","_this20","_callServiceAPI6","_callee41","_context41","_x83","_x84","_x85","_extractResultData3","_callee42","_context42","_x86","ko","_St3","_extractPollResultData3","_callee43","_context43","_x87","Io","_Be2","_extractResultData4","_callee44","_context44","_x88","Lo","_Be3","_this21","_extractResultData5","_callee45","_context45","_x89","Ro","_Be4","_extractResultData6","_callee46","_context46","_x90","No","_Be5","_this22$maxMessages","_this22","_i$options","_extractResultData7","_callee47","_context47","_x91","Vt","_oi3","_this23","_callServiceAPI7","_callee48","_context48","_x92","_x93","_x94","_extractResultData8","_callee49","_context49","_x95","Oo","_Be6","_extractResultData9","_callee50","_context50","_x96","Wt","_oi4","_this24","_callServiceAPI8","_callee51","_context51","_x97","_x98","_extractResultData10","_callee52","_context52","_x99","Po","_Be7","_this25","_extractResultData11","_callee53","_context53","_x100","Jt","Xi","_q3","_this26","Do","_Xi","_callServiceAPI9","_callee54","_context54","_x101","_x102","_extractResultData12","_callee55","_context55","_x103","jo","_Xi2","_callServiceAPI10","_callee56","_context56","_x104","_x105","_extractResultData13","_callee57","_context57","_x106","N","_directFetch","_callee58","_args58","_context58","directFetch","_x107","_x108","_x109","Qi","_q4","zi","_o$model","_a$voice","_this27","_callServiceAPI11","_callee59","_context59","_x110","_x111","_extractResultData14","_callee60","_context60","_x112","Fo","ai","_q5","Me","_o$model2","_this28","_callServiceAPI12","_callee61","_context61","_x113","_x114","_x115","_extractResultData15","_callee62","_context62","_x116","Bo","Z","zo","_q6","_this29","Uo","_zo","_a$language","_this30","_callServiceAPI13","_callee63","_context63","_x117","_x118","_extractResultData16","_callee64","_i10","_context64","_x119","_extractPollResultData4","_callee65","_iterator","_step","_i11","_context65","_x120","ut","_poll2","_callee66","_context66","_x121","_x122","en","_q7","_this31","_callServiceAPI14","_callee67","_context67","_x123","_x124","_x125","_extractResultData17","_callee68","_context68","_x126","hs","_q8","_this32","ps","_hs","fs","_a$lang","_l$name","_c$gender","_this33","_callServiceAPI15","_callee69","_context69","_x127","_x128","_extractResultData18","_callee70","_context70","_x129","qo","ms","_hs2","Ui","_this34","_callServiceAPI16","_callee71","_context71","_x130","_x131","_x132","_extractResultData19","_callee72","_context72","_x133","Ho","Go","_q9","_this35","_callServiceAPI17","_callee73","_context73","_x134","_x135","_extractResultData20","_callee74","_context74","_x136","ve","_storeFiles","_callee76","_context76","_ref9","_callee75","_context75","_x140","storeFiles","_x137","_x138","_x139","_getFiles","_callee77","_context77","_ref10","getFiles","_x141","_x142","_getFilesAndNewText","_callee78","_context78","getFilesAndNewText","_x143","_x144","_x145","_x146","_getFilesAndText","_callee79","_context79","getFilesAndText","_x147","_x148","_x149","li","_q10","oe","_c$headers","_d$OpenAIBeta","_this36","_this36$config","_ref11","_fetchHistoryFunc","_callee80","_this37","_context80","fetchHistoryFunc","_n2","_callServiceAPI18","_callee81","_r$assistant_id","_context81","_x150","_x151","_x152","_createNewAssistant","_callee82","_context82","createNewAssistant","_extractResultData21","_callee83","_context83","_x153","_assignThreadAndRun","_callee84","_context84","assignThreadAndRun","_x154","_getThreadMessages","_callee86","_this38","_args86","_context86","_ref12","_callee85","_context85","_x156","getThreadMessages","_x155","_extractPollResultData5","_callee87","_l$","_l","_context87","_x157","_handleTools","_callee88","_context88","handleTools","_x158","Vo","ci","_q11","Te","_this39","_callServiceAPI19","_callee89","_context89","_x159","_x160","_x161","_extractResultData22","_callee90","_context90","_x162","Wo","ht","_q12","_this40$maxMessages","_l$model","_this40","_ref13","_i$max_tokens","_callServiceAPI20","_callee91","_context91","_x163","_x164","_extractResultData23","_callee92","_context92","_x165","_x166","_x167","_extractStreamResult","_callee93","_this41","_context93","extractStreamResult","_x168","_x169","_x170","_handleTools2","_callee94","_h","_context94","_x171","_x172","_x173","Jo","_Xi3","_this42$maxMessages","_this42","_callServiceAPI21","_callee95","_context95","_x174","_x175","_extractResultData24","_callee96","_context96","_x176","$o","gs","qi","_i12","Ko","bs","x","tn","$t","Yo","Zo","ge","_addNewImageMessage","_callee97","_context97","addNewImageMessage","_x177","_x178","_x179","be","_Ye","_this43","_i13","_this44","_fetchHistory","_callee98","_this45","_context98","fetchHistory","_x180","_t3","_i14","_addMultipleFiles","_callee99","_context99","_n3","addMultipleFiles","_x181","_e$displayLoadingBubb","_i15","Mt","$","Xo","tt","Mn","j","Qo","ne","Tt","_i16","yt","Ae","nn","_this46","Ze","_Tt","_this47","_this48","ea","ta","ia","na","sa","pe","_this49","_r2","Hi","_r3","ra","Tn","vs","_pe","Ce","_this50","_this51","oa","Ct","_completePlaceholders","_callee101","_context101","_ref14","_callee100","_context100","_x182","completePlaceholders","ys","de","_this52","_len2","_key2","_this53","_this54","_i$classList","ct","pt","_Tt2","_this55","ue","ke","_useValidationFunc","_callee102","_context102","useValidationFunc","_x183","_x184","_x185","_x186","_useValidationFuncProgrammatic","_callee103","_context103","useValidationFuncProgrammatic","_x187","_x188","_x189","_ref15","_callee104","_context104","_x190","aa","xt","_Tt3","_this56","xs","di","ui","At","ze","_e","la","ca","Cn","da","nt","dt","kt","hi","Y","_this57","pi","ua","It","Lt","sn","Ue","ha","_i17","qe","ft","_a2","An","pa","fa","kn","In","K","fi","ma","st","Kt","mi","ga","Ln","Ge","Yt","Rn","ba","Nn","Dt","ki","se","Ii","On","Pn","Li","va","Dn","jn","ya","Zt","_ya$Speech","_this58","_this58$_extractText","_i18","gi","Xe","bi","vi","xa","yi","xi","Ri","Xt","_getNewSpeechConfig","_callee105","_context105","getNewSpeechConfig","_x191","_x192","_get","_callee106","_context106","get","_x193","_x194","Ei","Et","_i","Ea","_a","Fn","Bn","Ni","zn","Sa","Qt","_Sa$Speech","_this59","_startAsync","_callee107","_context107","startAsync","_x195","_instantiateService","_callee108","_context108","instantiateService","_x196","_zn$AzureTranscript$e","_zn$AzureTranscript$e2","_this60","Un","wa","ie","Ma","Ke","Oi","ei","_xt","_this61","_ei$processConfigurat","_i$displayInterimResu","_i$textColor","_i$translations","_i$commands","Es","Ta","_xt2","_this62","_this63","_this64","_this65","Ca","z","_e$n","_e$n2","_e$n3","Le","Si","_Tt4","k","_this66","_j$create","_submitFromInput","_callee109","_i19","_context109","submitFromInput","_programmaticSubmit","_callee110","_this67","_context110","programmaticSubmit","_x197","_attemptSubmit","_callee111","_args111","_context111","attemptSubmit","_x198","_addNewMessage","_callee112","_ref16","_context112","addNewMessage","_x199","Aa","ka","Ia","La","Ra","rn","_ct","_this68","_this68$addButtonsAnd","_this69","_this70","_this71","_i20","_i21","Na","ti","_Tt5","_this72","mt","_d","_sa$a","on","Oa","Pa","E","y","_So","_this73","_this$_childElement","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","n$3","_b","fontFamilies","buttonStyle","css","unsafeCSS","Button","LitElement","html","__decorateClass","property","customElement","SPACING_BASE","spacing","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","defaults","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","_f","ConversationsServiceErrorGuards","_ConversationsService","requestParams","messageId","ConversationsService","i18nConfig","_apiUrl","_opened","_minimized","_sticky","_country","_language","Chatbot","__privateAdd","__privateGet","__privateSet","i18next","chat","text","chat2","signals","nothing"],"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,75,76,77,78,81,82,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,108,112,113,114,115,116,117,118,119,120,121,122,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]}