@botfabrik/engine-webclient 4.101.1 → 4.101.3-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setAuthPageHeaders = setAuthPageHeaders;
4
- exports.renderAuthSuccessPage = renderAuthSuccessPage;
5
- exports.renderAuthErrorPage = renderAuthErrorPage;
6
1
  const STRINGS = {
7
2
  de: {
8
3
  successTitle: 'Login erfolgreich',
@@ -41,13 +36,13 @@ const STRINGS = {
41
36
  closeWindow: 'Chiudi finestra',
42
37
  },
43
38
  };
44
- function setAuthPageHeaders(res) {
39
+ export function setAuthPageHeaders(res) {
45
40
  res.setHeader('Content-Type', 'text/html; charset=utf-8');
46
41
  res.setHeader('Content-Security-Policy', "default-src 'none'; base-uri 'none'; frame-ancestors 'none'; form-action 'none'; img-src 'none'; style-src 'unsafe-inline'; script-src 'unsafe-inline'");
47
42
  res.setHeader('Referrer-Policy', 'no-referrer');
48
43
  res.setHeader('X-Content-Type-Options', 'nosniff');
49
44
  }
50
- function renderAuthSuccessPage(lang) {
45
+ export function renderAuthSuccessPage(lang) {
51
46
  const t = STRINGS[lang];
52
47
  return `<!doctype html>
53
48
  <html lang="${lang}">
@@ -74,7 +69,7 @@ function renderAuthSuccessPage(lang) {
74
69
  </body>
75
70
  </html>`;
76
71
  }
77
- function renderAuthErrorPage(lang) {
72
+ export function renderAuthErrorPage(lang) {
78
73
  const t = STRINGS[lang];
79
74
  return `<!doctype html>
80
75
  <html lang="${lang}">
@@ -1,6 +1,6 @@
1
1
  import type { BotInstance, Logger } from '@botfabrik/engine-domain';
2
2
  import type { Namespace } from 'socket.io';
3
- import type { Auth } from '../types';
3
+ import type { Auth } from '../types.js';
4
4
  export type AuthenticatedUser = {
5
5
  email: string;
6
6
  firstName: string | undefined;
@@ -1,66 +1,58 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setUpSamlAuth = setUpSamlAuth;
7
- exports.storeLoginRequestToken = storeLoginRequestToken;
8
- exports.verifyLoginToken = verifyLoginToken;
9
- const passport_saml_1 = require("@node-saml/passport-saml");
10
- const express_1 = __importDefault(require("express"));
11
- const jsonwebtoken_1 = require("jsonwebtoken");
12
- const passport_1 = __importDefault(require("passport"));
13
- const auth_pages_1 = require("./auth-pages");
14
- const relay_state_1 = require("./relay-state");
15
- const ttl_cache_1 = require("./ttl-cache");
1
+ import { Strategy, } from '@node-saml/passport-saml';
2
+ import express from 'express';
3
+ import { sign, verify } from 'jsonwebtoken';
4
+ import passport from 'passport';
5
+ import { renderAuthErrorPage, renderAuthSuccessPage, setAuthPageHeaders, } from './auth-pages.js';
6
+ import { signRelayState, verifyRelayState } from './relay-state.js';
7
+ import { TtlCache } from './ttl-cache.js';
16
8
  const E_MAIL_CLAIM = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress';
17
9
  const FIRST_NAME_CLAIM = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname';
18
10
  const LAST_NAME_CLAIM = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname';
19
- const loginTokenCache = new ttl_cache_1.TtlCache({
11
+ const loginTokenCache = new TtlCache({
20
12
  defaultTtlMs: 5 * 60 * 1000, // 5 minutes
21
13
  });
22
- function setUpSamlAuth(bot, auth, clientName, nsp) {
14
+ export function setUpSamlAuth(bot, auth, clientName, nsp) {
23
15
  bot.logger.info(`Setting up SAML authentication for ${clientName}`);
24
16
  const strategyName = `${clientName}-saml`;
25
17
  const callbackUrl = `/${clientName}/auth/saml/login/callback`;
26
- const samlStrategy = new passport_saml_1.Strategy({
18
+ const samlStrategy = new Strategy({
27
19
  callbackUrl: `${bot.webserver.baseUrl}${callbackUrl}`,
28
20
  entryPoint: auth.saml.entryPoint,
29
21
  issuer: auth.saml.issuer,
30
22
  idpCert: fixUnwantedEscapeCharacters(auth.saml.idpCert),
31
23
  ...(auth.saml.options || {}),
32
24
  }, signonVerify, logoutVerify);
33
- passport_1.default.use(strategyName, samlStrategy);
25
+ passport.use(strategyName, samlStrategy);
34
26
  bot.webserver.express.get(`/${clientName}/auth/login`, (req, res, next) => {
35
27
  const { loginRequestToken } = req.query;
36
- const relayState = (0, relay_state_1.signRelayState)(String(loginRequestToken), auth.jwtSecret);
28
+ const relayState = signRelayState(String(loginRequestToken), auth.jwtSecret);
37
29
  const options = {
38
30
  session: false,
39
31
  additionalParams: { RelayState: relayState },
40
32
  };
41
- const authenticateFn = passport_1.default.authenticate(strategyName, options);
33
+ const authenticateFn = passport.authenticate(strategyName, options);
42
34
  authenticateFn(req, res, next);
43
35
  });
44
- bot.webserver.express.post(callbackUrl, express_1.default.urlencoded({ extended: false }), (req, res, next) => {
45
- const authenticatorFn = passport_1.default.authenticate(strategyName, { session: false }, (err, user) => {
36
+ bot.webserver.express.post(callbackUrl, express.urlencoded({ extended: false }), (req, res, next) => {
37
+ const authenticatorFn = passport.authenticate(strategyName, { session: false }, (err, user) => {
46
38
  const lang = getLang(req);
47
- (0, auth_pages_1.setAuthPageHeaders)(res);
39
+ setAuthPageHeaders(res);
48
40
  try {
49
41
  if (err) {
50
42
  bot.logger.error('SAML callback error:', err);
51
- return res.status(500).send((0, auth_pages_1.renderAuthErrorPage)(lang));
43
+ return res.status(500).send(renderAuthErrorPage(lang));
52
44
  }
53
45
  const relayState = req.body?.RelayState;
54
46
  if (!relayState) {
55
47
  bot.logger.warn('Missing RelayState');
56
- return res.status(400).send((0, auth_pages_1.renderAuthErrorPage)(lang));
48
+ return res.status(400).send(renderAuthErrorPage(lang));
57
49
  }
58
- const loginRequestToken = (0, relay_state_1.verifyRelayState)(relayState, auth.jwtSecret);
50
+ const loginRequestToken = verifyRelayState(relayState, auth.jwtSecret);
59
51
  const { socketId } = consumeLoginRequestToken(loginRequestToken);
60
52
  if (!user) {
61
- return res.status(401).send((0, auth_pages_1.renderAuthErrorPage)(lang));
53
+ return res.status(401).send(renderAuthErrorPage(lang));
62
54
  }
63
- const loginToken = (0, jsonwebtoken_1.sign)(user, auth.jwtSecret, {
55
+ const loginToken = sign(user, auth.jwtSecret, {
64
56
  expiresIn: '1m',
65
57
  });
66
58
  const socket = nsp.sockets.get(socketId);
@@ -70,17 +62,17 @@ function setUpSamlAuth(bot, auth, clientName, nsp) {
70
62
  else {
71
63
  bot.logger.warn('Target socket not found', { socketId });
72
64
  }
73
- return res.send((0, auth_pages_1.renderAuthSuccessPage)(lang));
65
+ return res.send(renderAuthSuccessPage(lang));
74
66
  }
75
67
  catch (e) {
76
68
  bot.logger.error('Callback handling failure:', e);
77
- return res.status(500).send((0, auth_pages_1.renderAuthErrorPage)(lang));
69
+ return res.status(500).send(renderAuthErrorPage(lang));
78
70
  }
79
71
  });
80
72
  authenticatorFn(req, res, next);
81
73
  });
82
74
  }
83
- function storeLoginRequestToken(loginRequestToken, socketId) {
75
+ export function storeLoginRequestToken(loginRequestToken, socketId) {
84
76
  // associate socketId with loginRequestToken and store it in memory cache
85
77
  loginTokenCache.set(loginRequestToken, { loginRequestToken, socketId });
86
78
  }
@@ -97,10 +89,10 @@ function consumeLoginRequestToken(loginRequestToken) {
97
89
  loginTokenCache.delete(loginRequestToken);
98
90
  return { socketId: cachedLoginRequest.socketId };
99
91
  }
100
- function verifyLoginToken(token, auth, logger) {
92
+ export function verifyLoginToken(token, auth, logger) {
101
93
  try {
102
94
  if (auth) {
103
- const verified = (0, jsonwebtoken_1.verify)(token || '', auth.jwtSecret);
95
+ const verified = verify(token || '', auth.jwtSecret);
104
96
  return {
105
97
  email: verified['email'],
106
98
  firstName: verified['firstName'],
@@ -1,24 +1,14 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.signRelayState = signRelayState;
7
- exports.verifyRelayState = verifyRelayState;
8
- const crypto_1 = __importDefault(require("crypto"));
1
+ import { createHmac, timingSafeEqual } from 'node:crypto';
9
2
  const STATE_TTL_MS = 5 * 60 * 1000; // 5 minutes
10
- function signRelayState(rawToken, secret) {
3
+ export function signRelayState(rawToken, secret) {
11
4
  if (!/^[\w-]{16,128}$/.test(rawToken))
12
5
  throw new Error('bad token format');
13
6
  const exp = Date.now() + STATE_TTL_MS;
14
7
  const payload = `${rawToken}.${exp}`;
15
- const mac = crypto_1.default
16
- .createHmac('sha256', secret)
17
- .update(payload)
18
- .digest('base64url');
8
+ const mac = createHmac('sha256', secret).update(payload).digest('base64url');
19
9
  return Buffer.from(`${payload}.${mac}`, 'utf8').toString('base64url');
20
10
  }
21
- function verifyRelayState(stateB64, secret) {
11
+ export function verifyRelayState(stateB64, secret) {
22
12
  const raw = Buffer.from(stateB64, 'base64url').toString('utf8');
23
13
  const [token, expStr, mac] = raw.split('.');
24
14
  if (!token || !expStr || !mac) {
@@ -28,11 +18,10 @@ function verifyRelayState(stateB64, secret) {
28
18
  if (!Number.isFinite(exp) || exp < Date.now()) {
29
19
  throw new Error('state expired');
30
20
  }
31
- const expected = crypto_1.default
32
- .createHmac('sha256', secret)
21
+ const expected = createHmac('sha256', secret)
33
22
  .update(`${token}.${exp}`)
34
23
  .digest('base64url');
35
- if (!crypto_1.default.timingSafeEqual(Buffer.from(mac), Buffer.from(expected))) {
24
+ if (!timingSafeEqual(Buffer.from(mac), Buffer.from(expected))) {
36
25
  throw new Error('state tampered');
37
26
  }
38
27
  return token;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TtlCache = void 0;
4
- class TtlCache {
1
+ export class TtlCache {
5
2
  data = new Map();
6
3
  timers = new Map();
7
4
  defaultTtlMs;
@@ -49,4 +46,3 @@ class TtlCache {
49
46
  this.data.clear();
50
47
  }
51
48
  }
52
- exports.TtlCache = TtlCache;
package/dist/constants.js CHANGED
@@ -1,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CLIENT_TYPE = void 0;
4
- exports.CLIENT_TYPE = 'webclient';
1
+ export const CLIENT_TYPE = 'webclient';
@@ -1,7 +1,7 @@
1
1
  import type { Environment, SessionInfo } from '@botfabrik/engine-domain';
2
2
  import type { ParsedUrlQuery } from 'node:querystring';
3
3
  import type { Socket } from 'socket.io';
4
- import { AuthenticatedUser } from './auth';
5
- import type { SessionInfoClientPayload, SessionInfoUserPayload, WebClientProps } from './types';
4
+ import { AuthenticatedUser } from './auth/index.js';
5
+ import type { SessionInfoClientPayload, SessionInfoUserPayload, WebClientProps } from './types.js';
6
6
  declare const createSessionInfo: (socket: Socket, clientName: string, environment: Environment, sessionInfo: SessionInfo<SessionInfoClientPayload, SessionInfoUserPayload>, userId: string, locale: string | undefined, querystrings: ParsedUrlQuery, authenticatedUser: AuthenticatedUser | undefined, props: WebClientProps) => () => Promise<SessionInfo<SessionInfoClientPayload, SessionInfoUserPayload>>;
7
7
  export default createSessionInfo;
@@ -1,11 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const constants_1 = require("./constants");
1
+ import { CLIENT_TYPE } from './constants.js';
4
2
  const createSessionInfoBase = async (userId, querystrings, headers, clientName, environment, sessionInfo, locale, authenticatedUser, props) => {
5
3
  const client = {
6
4
  ...sessionInfo.client,
7
5
  name: clientName,
8
- type: constants_1.CLIENT_TYPE,
6
+ type: CLIENT_TYPE,
9
7
  payload: {
10
8
  ...sessionInfo.client.payload,
11
9
  referrer: decodeURIComponent(querystrings['referrer'] || headers['referer'] || 'unknown'),
@@ -63,4 +61,4 @@ const capitalize = (s) => {
63
61
  return '';
64
62
  return s.charAt(0).toUpperCase() + s.slice(1);
65
63
  };
66
- exports.default = createSessionInfo;
64
+ export default createSessionInfo;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,6 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const globals_1 = require("@jest/globals");
7
- const createSessionInfo_1 = __importDefault(require("./createSessionInfo"));
8
- (0, globals_1.describe)('create session info', () => {
1
+ import { describe, expect, it } from 'vitest';
2
+ import createSessionInfo from './createSessionInfo.js';
3
+ describe('create session info', () => {
9
4
  const querystrings = {};
10
5
  const headers = {
11
6
  host: 'fluance-chatbot.scapp.io',
@@ -42,19 +37,19 @@ const createSessionInfo_1 = __importDefault(require("./createSessionInfo"));
42
37
  contexts: [],
43
38
  environment: 'PROD',
44
39
  };
45
- (0, globals_1.it)('without user payload', async () => {
46
- const sessionInfo = await (0, createSessionInfo_1.default)(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', { email: 'hans@example.com' }, undefined, {})();
40
+ it('without user payload', async () => {
41
+ const sessionInfo = await createSessionInfo(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', { email: 'hans@example.com' }, undefined, {})();
47
42
  // client
48
- (0, globals_1.expect)(sessionInfo.client.name).toBe('my-client');
49
- (0, globals_1.expect)(sessionInfo.client.type).toBe('webclient');
50
- (0, globals_1.expect)(sessionInfo.client.payload.querystrings.email).toBe('hans@example.com');
43
+ expect(sessionInfo.client.name).toBe('my-client');
44
+ expect(sessionInfo.client.type).toBe('webclient');
45
+ expect(sessionInfo.client.payload.querystrings.email).toBe('hans@example.com');
51
46
  // user
52
- (0, globals_1.expect)(sessionInfo.user.id).toBe('my-user-id');
53
- (0, globals_1.expect)(sessionInfo.user.displayName).not.toBeDefined();
54
- (0, globals_1.expect)(sessionInfo.user.locale).toBe('de_DE');
55
- (0, globals_1.expect)(sessionInfo.user.payload).toStrictEqual({});
47
+ expect(sessionInfo.user.id).toBe('my-user-id');
48
+ expect(sessionInfo.user.displayName).not.toBeDefined();
49
+ expect(sessionInfo.user.locale).toBe('de_DE');
50
+ expect(sessionInfo.user.payload).toStrictEqual({});
56
51
  });
57
- (0, globals_1.it)('with enhanced user data', async () => {
52
+ it('with enhanced user data', async () => {
58
53
  const requestUserInfos = async () => {
59
54
  const userProfile = {
60
55
  username: 'hans.muster',
@@ -71,49 +66,49 @@ const createSessionInfo_1 = __importDefault(require("./createSessionInfo"));
71
66
  const props = {
72
67
  requestUserInfos,
73
68
  };
74
- const sessionInfo = await (0, createSessionInfo_1.default)(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, undefined, props)();
75
- (0, globals_1.expect)(sessionInfo.user.id).toBe('hans.muster@PRIMARY');
76
- (0, globals_1.expect)(sessionInfo.user.displayName).toBe('Hans Muster');
77
- (0, globals_1.expect)(sessionInfo.user.payload.username).toBe('hans.muster');
78
- (0, globals_1.expect)(sessionInfo.user.payload.firstName).toBe('Hans');
79
- (0, globals_1.expect)(sessionInfo.user.payload.lastName).toBe('Muster');
69
+ const sessionInfo = await createSessionInfo(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, undefined, props)();
70
+ expect(sessionInfo.user.id).toBe('hans.muster@PRIMARY');
71
+ expect(sessionInfo.user.displayName).toBe('Hans Muster');
72
+ expect(sessionInfo.user.payload.username).toBe('hans.muster');
73
+ expect(sessionInfo.user.payload.firstName).toBe('Hans');
74
+ expect(sessionInfo.user.payload.lastName).toBe('Muster');
80
75
  });
81
- (0, globals_1.it)('with undefined enhanced user data', async () => {
76
+ it('with undefined enhanced user data', async () => {
82
77
  const requestUserInfos = async () => {
83
78
  return {};
84
79
  };
85
80
  const props = {
86
81
  requestUserInfos,
87
82
  };
88
- const sessionInfo = await (0, createSessionInfo_1.default)(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, undefined, props)();
89
- (0, globals_1.expect)(sessionInfo.user.id).toBe('my-user-id');
90
- (0, globals_1.expect)(sessionInfo.user.displayName).not.toBeDefined();
91
- (0, globals_1.expect)(sessionInfo.user.locale).toBe('de_DE');
92
- (0, globals_1.expect)(sessionInfo.user.payload).toStrictEqual({});
93
- (0, globals_1.expect)(sessionInfo.environment).toBe('TEST');
83
+ const sessionInfo = await createSessionInfo(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, undefined, props)();
84
+ expect(sessionInfo.user.id).toBe('my-user-id');
85
+ expect(sessionInfo.user.displayName).not.toBeDefined();
86
+ expect(sessionInfo.user.locale).toBe('de_DE');
87
+ expect(sessionInfo.user.payload).toStrictEqual({});
88
+ expect(sessionInfo.environment).toBe('TEST');
94
89
  });
95
- (0, globals_1.it)('with authenticated user', async () => {
96
- const sessionInfo = await (0, createSessionInfo_1.default)(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, {
90
+ it('with authenticated user', async () => {
91
+ const sessionInfo = await createSessionInfo(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, {
97
92
  email: 'hans.muster@example.com',
98
93
  firstName: 'Hans',
99
94
  lastName: 'Muster',
100
95
  }, {})();
101
- (0, globals_1.expect)(sessionInfo.user.id).toBe('my-user-id');
102
- (0, globals_1.expect)(sessionInfo.user.displayName).toBe('Hans Muster');
103
- (0, globals_1.expect)(sessionInfo.user.firstName).toBe('Hans');
104
- (0, globals_1.expect)(sessionInfo.user.lastName).toBe('Muster');
105
- (0, globals_1.expect)(sessionInfo.user.email).toBe('hans.muster@example.com');
96
+ expect(sessionInfo.user.id).toBe('my-user-id');
97
+ expect(sessionInfo.user.displayName).toBe('Hans Muster');
98
+ expect(sessionInfo.user.firstName).toBe('Hans');
99
+ expect(sessionInfo.user.lastName).toBe('Muster');
100
+ expect(sessionInfo.user.email).toBe('hans.muster@example.com');
106
101
  });
107
- (0, globals_1.it)('with authenticated user and guessed name', async () => {
108
- const sessionInfo = await (0, createSessionInfo_1.default)(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, {
102
+ it('with authenticated user and guessed name', async () => {
103
+ const sessionInfo = await createSessionInfo(socket, 'my-client', 'TEST', defaultSessionInfo, 'my-user-id', 'de_DE', {}, {
109
104
  email: 'hans.muster@example.com',
110
105
  firstName: undefined,
111
106
  lastName: undefined,
112
107
  }, {})();
113
- (0, globals_1.expect)(sessionInfo.user.id).toBe('my-user-id');
114
- (0, globals_1.expect)(sessionInfo.user.displayName).toBe('Hans Muster');
115
- (0, globals_1.expect)(sessionInfo.user.firstName).toBe('Hans');
116
- (0, globals_1.expect)(sessionInfo.user.lastName).toBe('Muster');
117
- (0, globals_1.expect)(sessionInfo.user.email).toBe('hans.muster@example.com');
108
+ expect(sessionInfo.user.id).toBe('my-user-id');
109
+ expect(sessionInfo.user.displayName).toBe('Hans Muster');
110
+ expect(sessionInfo.user.firstName).toBe('Hans');
111
+ expect(sessionInfo.user.lastName).toBe('Muster');
112
+ expect(sessionInfo.user.email).toBe('hans.muster@example.com');
118
113
  });
119
114
  });
@@ -1,5 +1,5 @@
1
- (function(){"use strict";const gt=!1;var pn=Array.isArray,gn=Array.prototype.indexOf,wn=Array.from,mn=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,bn=Object.getOwnPropertyDescriptors,yn=Object.prototype,En=Array.prototype,wt=Object.getPrototypeOf,mt=Object.isExtensible;function kn(e){for(var t=0;t<e.length;t++)e[t]()}function bt(){var e,t,n=new Promise((r,i)=>{e=r,t=i});return{promise:n,resolve:e,reject:t}}const b=2,We=4,He=8,B=16,W=32,$=64,Se=128,y=1024,O=2048,H=4096,z=8192,Y=16384,Ye=32768,ae=65536,yt=1<<17,Et=1<<18,le=1<<19,xn=1<<20,P=256,Te=512,Oe=32768,Ge=1<<21,Ke=1<<22,ee=1<<23,Ce=Symbol("$state"),Sn=Symbol("legacy props"),Tn=Symbol(""),fe=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function On(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Cn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function An(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Rn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function In(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Dn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Pn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ln(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Nn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Mn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Fn(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Un=1,zn=4,jn=8,qn=16,Bn=1,Wn=2,E=Symbol(),Hn="http://www.w3.org/1999/xhtml";function Yn(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function kt(e){return e===this.v}function Gn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Kn(e){return!Gn(e,this.v)}let Vn=!1,R=null;function ue(e){R=e}function Ae(e,t=!1,n){R={p:R,i:!1,c:null,e:null,s:e,x:null,l:null}}function Re(e){var t=R,n=t.e;if(n!==null){t.e=null;for(var r of n)Ut(r)}return t.i=!0,R=t.p,{}}function xt(){return!0}let ce=[];function Zn(){var e=ce;ce=[],kn(e)}function Ve(e){if(ce.length===0){var t=ce;queueMicrotask(()=>{t===ce&&Zn()})}ce.push(e)}function St(e){var t=_;if(t===null)return v.f|=ee,e;if((t.f&Ye)===0){if((t.f&Se)===0)throw e;t.b.error(e)}else de(e,t)}function de(e,t){for(;t!==null;){if((t.f&Se)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e}const Ie=new Set;let w=null,N=null,Ze=new Set,J=[],Je=null,Qe=!1;class j{committed=!1;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=0;#r=0;#l=null;#o=[];#a=[];skipped_effects=new Set;is_fork=!1;process(t){J=[],this.apply();var n={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const r of t)this.#i(r,n);this.is_fork||this.#f(),this.#r>0||this.is_fork?(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects)):(w=null,Tt(n.render_effects),Tt(n.effects)),N=null}#i(t,n){t.f^=y;for(var r=t.first;r!==null;){var i=r.f,o=(i&(W|$))!==0,s=o&&(i&y)!==0,a=s||(i&z)!==0||this.skipped_effects.has(r);if((r.f&Se)!==0&&r.b?.is_pending()&&(n={parent:n,effect:r,effects:[],render_effects:[],block_effects:[]}),!a&&r.fn!==null){o?r.f^=y:(i&We)!==0?n.effects.push(r):Ee(r)&&((r.f&B)!==0&&n.block_effects.push(r),ke(r));var l=r.first;if(l!==null){r=l;continue}}var f=r.parent;for(r=r.next;r===null&&f!==null;)f===n.effect&&(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects),n=n.parent),r=f.next,f=f.parent}}#s(t){for(const n of t)((n.f&O)!==0?this.#o:this.#a).push(n),k(n,y)}capture(t,n){this.previous.has(t)||this.previous.set(t,n),this.current.set(t,t.v),N?.set(t,t.v)}activate(){w=this}deactivate(){w=null,N=null}flush(){if(this.activate(),J.length>0){if(Jn(),w!==null&&w!==this)return}else this.#n===0&&this.process([]);this.deactivate();for(const t of Ze)if(Ze.delete(t),t(),w!==null)break}discard(){for(const t of this.#t)t(this);this.#t.clear()}#f(){if(this.#r===0){for(const t of this.#e)t();this.#e.clear()}this.#n===0&&this.#u()}#u(){if(Ie.size>1){this.previous.clear();var t=N,n=!0,r={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const i of Ie){if(i===this){n=!1;continue}const o=[];for(const[a,l]of this.current){if(i.current.has(a))if(n&&l!==i.current.get(a))i.current.set(a,l);else continue;o.push(a)}if(o.length===0)continue;const s=[...i.current.keys()].filter(a=>!this.current.has(a));if(s.length>0){const a=new Set,l=new Map;for(const f of o)Ot(f,s,a,l);if(J.length>0){w=i,i.apply();for(const f of J)i.#i(f,r);J=[],i.deactivate()}}}w=null,N=t}this.committed=!0,Ie.delete(this),this.#l?.resolve()}increment(t){this.#n+=1,t&&(this.#r+=1)}decrement(t){this.#n-=1,t&&(this.#r-=1),this.revive()}revive(){for(const t of this.#o)k(t,O),te(t);for(const t of this.#a)k(t,H),te(t);this.#o=[],this.#a=[],this.flush()}oncommit(t){this.#e.add(t)}ondiscard(t){this.#t.add(t)}settled(){return(this.#l??=bt()).promise}static ensure(){if(w===null){const t=w=new j;Ie.add(w),j.enqueue(()=>{w===t&&t.flush()})}return w}static enqueue(t){Ve(t)}apply(){}}function Jn(){var e=ve;Qe=!0;try{var t=0;for(Yt(!0);J.length>0;){var n=j.ensure();if(t++>1e3){var r,i;Qn()}n.process(J),Q.clear()}}finally{Qe=!1,Yt(e),Je=null}}function Qn(){try{Dn()}catch(e){de(e,Je)}}let G=null;function Tt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(Y|z))===0&&Ee(r)&&(G=new Set,ke(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null&&r.ac===null?qt(r):r.fn=null),G?.size>0)){Q.clear();for(const i of G){if((i.f&(Y|z))!==0)continue;const o=[i];let s=i.parent;for(;s!==null;)G.has(s)&&(G.delete(s),o.push(s)),s=s.parent;for(let a=o.length-1;a>=0;a--){const l=o[a];(l.f&(Y|z))===0&&ke(l)}}G.clear()}}G=null}}function Ot(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const o=i.f;(o&b)!==0?Ot(i,t,n,r):(o&(Ke|B))!==0&&(o&O)===0&&Ct(i,t,r)&&(k(i,O),te(i))}}function Ct(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(t.includes(i))return!0;if((i.f&b)!==0&&Ct(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function te(e){for(var t=Je=e;t.parent!==null;){t=t.parent;var n=t.f;if(Qe&&t===_&&(n&B)!==0)return;if((n&($|W))!==0){if((n&y)===0)return;t.f^=y}}J.push(t)}function Xn(e){let t=0,n=De(0),r;return()=>{vr()&&(T(n),br(()=>(t===0&&(r=it(()=>e(()=>me(n)))),t+=1,()=>{Ve(()=>{t-=1,t===0&&(r?.(),r=void 0,me(n))})})))}}var $n=ae|le|Se;function er(e,t,n){new tr(e,t,n)}class tr{parent;#e=!1;#t;#n=null;#r;#l;#o;#a=null;#i=null;#s=null;#f=null;#u=null;#h=0;#c=0;#v=!1;#d=null;#m=()=>{this.#d&&Pe(this.#d,this.#h)};#b=Xn(()=>(this.#d=De(this.#h),()=>{this.#d=null}));constructor(t,n,r){this.#t=t,this.#r=n,this.#l=r,this.parent=_.b,this.#e=!!this.#r.pending,this.#o=rt(()=>{_.b=this;{var i=this.#g();try{this.#a=V(()=>r(i))}catch(o){this.error(o)}this.#c>0?this.#p():this.#e=!1}return()=>{this.#u?.remove()}},$n)}#y(){try{this.#a=V(()=>this.#l(this.#t))}catch(t){this.error(t)}this.#e=!1}#E(){const t=this.#r.pending;t&&(this.#i=V(()=>t(this.#t)),j.enqueue(()=>{var n=this.#g();this.#a=this.#_(()=>(j.ensure(),V(()=>this.#l(n)))),this.#c>0?this.#p():(be(this.#i,()=>{this.#i=null}),this.#e=!1)}))}#g(){var t=this.#t;return this.#e&&(this.#u=he(),this.#t.before(this.#u),t=this.#u),t}is_pending(){return this.#e||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#r.pending}#_(t){var n=_,r=v,i=R;q(this.#o),C(this.#o),ue(this.#o.ctx);try{return t()}catch(o){return St(o),null}finally{q(n),C(r),ue(i)}}#p(){const t=this.#r.pending;this.#a!==null&&(this.#f=document.createDocumentFragment(),this.#f.append(this.#u),Ht(this.#a,this.#f)),this.#i===null&&(this.#i=V(()=>t(this.#t)))}#w(t){if(!this.has_pending_snippet()){this.parent&&this.parent.#w(t);return}this.#c+=t,this.#c===0&&(this.#e=!1,this.#i&&be(this.#i,()=>{this.#i=null}),this.#f&&(this.#t.before(this.#f),this.#f=null))}update_pending_count(t){this.#w(t),this.#h+=t,Ze.add(this.#m)}get_effect_pending(){return this.#b(),T(this.#d)}error(t){var n=this.#r.onerror;let r=this.#r.failed;if(this.#v||!n&&!r)throw t;this.#a&&(I(this.#a),this.#a=null),this.#i&&(I(this.#i),this.#i=null),this.#s&&(I(this.#s),this.#s=null);var i=!1,o=!1;const s=()=>{if(i){Yn();return}i=!0,o&&Fn(),j.ensure(),this.#h=0,this.#s!==null&&be(this.#s,()=>{this.#s=null}),this.#e=this.has_pending_snippet(),this.#a=this.#_(()=>(this.#v=!1,V(()=>this.#l(this.#t)))),this.#c>0?this.#p():this.#e=!1};var a=v;try{C(null),o=!0,n?.(t,s),o=!1}catch(l){de(l,this.#o&&this.#o.parent)}finally{C(a)}r&&Ve(()=>{this.#s=this.#_(()=>{j.ensure(),this.#v=!0;try{return V(()=>{r(this.#t,()=>t,()=>s)})}catch(l){return de(l,this.#o.parent),null}finally{this.#v=!1}})})}}function nr(e,t,n){const r=$e;if(t.length===0){n(e.map(r));return}var i=w,o=_,s=rr();Promise.all(t.map(a=>ir(a))).then(a=>{s();try{n([...e.map(r),...a])}catch(l){(o.f&Y)===0&&de(l,o)}i?.deactivate(),Xe()}).catch(a=>{de(a,o)})}function rr(){var e=_,t=v,n=R,r=w;return function(o=!0){q(e),C(t),ue(n),o&&r?.activate()}}function Xe(){q(null),C(null),ue(null)}function $e(e){var t=b|O,n=v!==null&&(v.f&b)!==0?v:null;return _===null||n!==null&&(n.f&P)!==0?t|=P:_.f|=le,{ctx:R,deps:null,effects:null,equals:kt,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:n??_,ac:null}}function ir(e,t){let n=_;n===null&&Cn();var r=n.b,i=void 0,o=De(E),s=!v,a=new Map;return mr(()=>{var l=bt();i=l.promise;try{Promise.resolve(e()).then(l.resolve,l.reject).then(()=>{f===w&&f.committed&&f.deactivate(),Xe()})}catch(h){l.reject(h),Xe()}var f=w;if(s){var u=!r.is_pending();r.update_pending_count(1),f.increment(u),a.get(f)?.reject(fe),a.delete(f),a.set(f,l)}const d=(h,c=void 0)=>{if(f.activate(),c)c!==fe&&(o.f|=ee,Pe(o,c));else{(o.f&ee)!==0&&(o.f^=ee),Pe(o,h);for(const[p,m]of a){if(a.delete(p),p===f)break;m.reject(fe)}}s&&(r.update_pending_count(-1),f.decrement(u))};l.promise.then(d,h=>d(null,h||"unknown"))}),_r(()=>{for(const l of a.values())l.reject(fe)}),new Promise(l=>{function f(u){function d(){u===i?l(o):f(i)}u.then(d,d)}f(i)})}function sr(e){const t=$e(e);return t.equals=Kn,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)I(t[n])}}function or(e){for(var t=e.parent;t!==null;){if((t.f&b)===0)return t;t=t.parent}return null}function et(e){var t,n=_;q(or(e));try{e.f&=~Oe,At(e),t=Qt(e)}finally{q(n)}return t}function Rt(e){var t=et(e);if(e.equals(t)||(e.v=t,e.wv=Zt()),!re)if(N!==null)N.set(e,e.v);else{var n=(X||(e.f&P)!==0)&&e.deps!==null?H:y;k(e,n)}}let tt=new Set;const Q=new Map;let It=!1;function De(e,t){var n={f:0,v:e,reactions:null,equals:kt,rv:0,wv:0};return n}function M(e,t){const n=De(e);return Sr(n),n}function F(e,t,n=!1){v!==null&&(!U||(v.f&yt)!==0)&&xt()&&(v.f&(b|B|Ke|yt))!==0&&!Z?.includes(e)&&Mn();let r=n?ne(t):t;return Pe(e,r)}function Pe(e,t){if(!e.equals(t)){var n=e.v;re?Q.set(e,t):Q.set(e,n),e.v=t;var r=j.ensure();r.capture(e,n),(e.f&b)!==0&&((e.f&O)!==0&&et(e),k(e,(e.f&P)===0?y:H)),e.wv=Zt(),Dt(e,O),_!==null&&(_.f&y)!==0&&(_.f&(W|$))===0&&(L===null?Tr([e]):L.push(e)),!r.is_fork&&tt.size>0&&!It&&ar()}return t}function ar(){It=!1;const e=Array.from(tt);for(const t of e)(t.f&y)!==0&&k(t,H),Ee(t)&&ke(t);tt.clear()}function me(e){F(e,e.v+1)}function Dt(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,i=0;i<r;i++){var o=n[i],s=o.f,a=(s&O)===0;a&&k(o,t),(s&b)!==0?(s&Oe)===0&&(o.f|=Oe,Dt(o,H)):a&&((s&B)!==0&&G!==null&&G.add(o),te(o))}}function ne(e){if(typeof e!="object"||e===null||Ce in e)return e;const t=wt(e);if(t!==yn&&t!==En)return e;var n=new Map,r=pn(e),i=M(0),o=ie,s=a=>{if(ie===o)return a();var l=v,f=ie;C(null),Vt(o);var u=a();return C(l),Vt(f),u};return r&&n.set("length",M(e.length)),new Proxy(e,{defineProperty(a,l,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&Ln();var u=n.get(l);return u===void 0?u=s(()=>{var d=M(f.value);return n.set(l,d),d}):F(u,f.value,!0),!0},deleteProperty(a,l){var f=n.get(l);if(f===void 0){if(l in a){const u=s(()=>M(E));n.set(l,u),me(i)}}else F(f,E),me(i);return!0},get(a,l,f){if(l===Ce)return e;var u=n.get(l),d=l in a;if(u===void 0&&(!d||oe(a,l)?.writable)&&(u=s(()=>{var c=ne(d?a[l]:E),p=M(c);return p}),n.set(l,u)),u!==void 0){var h=T(u);return h===E?void 0:h}return Reflect.get(a,l,f)},getOwnPropertyDescriptor(a,l){var f=Reflect.getOwnPropertyDescriptor(a,l);if(f&&"value"in f){var u=n.get(l);u&&(f.value=T(u))}else if(f===void 0){var d=n.get(l),h=d?.v;if(d!==void 0&&h!==E)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return f},has(a,l){if(l===Ce)return!0;var f=n.get(l),u=f!==void 0&&f.v!==E||Reflect.has(a,l);if(f!==void 0||_!==null&&(!u||oe(a,l)?.writable)){f===void 0&&(f=s(()=>{var h=u?ne(a[l]):E,c=M(h);return c}),n.set(l,f));var d=T(f);if(d===E)return!1}return u},set(a,l,f,u){var d=n.get(l),h=l in a;if(r&&l==="length")for(var c=f;c<d.v;c+=1){var p=n.get(c+"");p!==void 0?F(p,E):c in a&&(p=s(()=>M(E)),n.set(c+"",p))}if(d===void 0)(!h||oe(a,l)?.writable)&&(d=s(()=>M(void 0)),F(d,ne(f)),n.set(l,d));else{h=d.v!==E;var m=s(()=>ne(f));F(d,m)}var x=Reflect.getOwnPropertyDescriptor(a,l);if(x?.set&&x.set.call(u,f),!h){if(r&&typeof l=="string"){var we=n.get("length"),g=Number(l);Number.isInteger(g)&&g>=we.v&&F(we,g+1)}me(i)}return!0},ownKeys(a){T(i);var l=Reflect.ownKeys(a).filter(d=>{var h=n.get(d);return h===void 0||h.v!==E});for(var[f,u]of n)u.v!==E&&!(f in a)&&l.push(f);return l},setPrototypeOf(){Nn()}})}var Pt,Lt,Nt,Mt;function lr(){if(Pt===void 0){Pt=window,Lt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Nt=oe(t,"firstChild").get,Mt=oe(t,"nextSibling").get,mt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),mt(n)&&(n.__t=void 0)}}function he(e=""){return document.createTextNode(e)}function Le(e){return Nt.call(e)}function Ne(e){return Mt.call(e)}function nt(e,t){return Le(e)}function fr(e,t=!1){{var n=Le(e);return n instanceof Comment&&n.data===""?Ne(n):n}}function ur(e,t=1,n=!1){let r=e;for(;t--;)r=Ne(r);return r}function cr(){return!1}function Ft(e){var t=v,n=_;C(null),q(null);try{return e()}finally{C(t),q(n)}}function dr(e){_===null&&v===null&&In(),v!==null&&(v.f&P)!==0&&_===null&&Rn(),re&&An()}function hr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function K(e,t,n,r=!0){var i=_;i!==null&&(i.f&z)!==0&&(e|=z);var o={ctx:R,deps:null,nodes_start:null,nodes_end:null,f:e|O,first:null,fn:t,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{ke(o),o.f|=Ye}catch(l){throw I(o),l}else t!==null&&te(o);if(r){var s=o;if(n&&s.deps===null&&s.teardown===null&&s.nodes_start===null&&s.first===s.last&&(s.f&le)===0&&(s=s.first,(e&B)!==0&&(e&ae)!==0&&s!==null&&(s.f|=ae)),s!==null&&(s.parent=i,i!==null&&hr(s,i),v!==null&&(v.f&b)!==0&&(e&$)===0)){var a=v;(a.effects??=[]).push(s)}}return o}function vr(){return v!==null&&!U}function _r(e){const t=K(He,null,!1);return k(t,y),t.teardown=e,t}function pr(e){dr();var t=_.f,n=!v&&(t&W)!==0&&(t&Ye)===0;if(n){var r=R;(r.e??=[]).push(e)}else return Ut(e)}function Ut(e){return K(We|xn,e,!1)}function gr(e){j.ensure();const t=K($|le,e,!0);return(n={})=>new Promise(r=>{n.outro?be(t,()=>{I(t),r(void 0)}):(I(t),r(void 0))})}function wr(e){return K(We,e,!1)}function mr(e){return K(Ke|le,e,!0)}function br(e,t=0){return K(He|t,e,!0)}function Me(e,t=[],n=[]){nr(t,n,r=>{K(He,()=>e(...r.map(T)),!0)})}function rt(e,t=0){var n=K(B|t,e,!0);return n}function V(e,t=!0){return K(W|le,e,!0,t)}function zt(e){var t=e.teardown;if(t!==null){const n=re,r=v;Gt(!0),C(null);try{t.call(null)}finally{Gt(n),C(r)}}}function jt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&Ft(()=>{i.abort(fe)});var r=n.next;(n.f&$)!==0?n.parent=null:I(n,t),n=r}}function yr(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&W)===0&&I(t),t=n}}function I(e,t=!0){var n=!1;(t||(e.f&Et)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(Er(e.nodes_start,e.nodes_end),n=!0),jt(e,t&&!n),Fe(e,0),k(e,Y);var r=e.transitions;if(r!==null)for(const o of r)o.stop();zt(e);var i=e.parent;i!==null&&i.first!==null&&qt(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function Er(e,t){for(;e!==null;){var n=e===t?null:Ne(e);e.remove(),e=n}}function qt(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function be(e,t,n=!0){var r=[];Bt(e,r,!0),kr(r,()=>{n&&I(e),t&&t()})}function kr(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var i of e)i.out(r)}else t()}function Bt(e,t,n){if((e.f&z)===0){if(e.f^=z,e.transitions!==null)for(const s of e.transitions)(s.is_global||n)&&t.push(s);for(var r=e.first;r!==null;){var i=r.next,o=(r.f&ae)!==0||(r.f&W)!==0&&(e.f&B)!==0;Bt(r,t,o?n:!1),r=i}}}function xr(e){Wt(e,!0)}function Wt(e,t){if((e.f&z)!==0){e.f^=z,(e.f&y)===0&&(k(e,O),te(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&ae)!==0||(n.f&W)!==0;Wt(n,i?t:!1),n=r}if(e.transitions!==null)for(const o of e.transitions)(o.is_global||t)&&o.in()}}function Ht(e,t){for(var n=e.nodes_start,r=e.nodes_end;n!==null;){var i=n===r?null:Ne(n);t.append(n),n=i}}let ve=!1;function Yt(e){ve=e}let re=!1;function Gt(e){re=e}let v=null,U=!1;function C(e){v=e}let _=null;function q(e){_=e}let Z=null;function Sr(e){v!==null&&(Z===null?Z=[e]:Z.push(e))}let S=null,D=0,L=null;function Tr(e){L=e}let Kt=1,ye=0,ie=ye;function Vt(e){ie=e}let X=!1;function Zt(){return++Kt}function Ee(e){var t=e.f;if((t&O)!==0)return!0;if((t&H)!==0){var n=e.deps,r=(t&P)!==0;if(t&b&&(e.f&=~Oe),n!==null){var i,o,s=(t&Te)!==0,a=r&&_!==null&&!X,l=n.length;if((s||a)&&(_===null||(_.f&Y)===0)){var f=e,u=f.parent;for(i=0;i<l;i++)o=n[i],(s||!o?.reactions?.includes(f))&&(o.reactions??=[]).push(f);s&&(f.f^=Te),a&&u!==null&&(u.f&P)===0&&(f.f^=P)}for(i=0;i<l;i++)if(o=n[i],Ee(o)&&Rt(o),o.wv>e.wv)return!0}(!r||_!==null&&!X)&&k(e,y)}return!1}function Jt(e,t,n=!0){var r=e.reactions;if(r!==null&&!Z?.includes(e))for(var i=0;i<r.length;i++){var o=r[i];(o.f&b)!==0?Jt(o,t,!1):t===o&&(n?k(o,O):(o.f&y)!==0&&k(o,H),te(o))}}function Qt(e){var t=S,n=D,r=L,i=v,o=X,s=Z,a=R,l=U,f=ie,u=e.f;S=null,D=0,L=null,X=(u&P)!==0&&(U||!ve||v===null),v=(u&(W|$))===0?e:null,Z=null,ue(e.ctx),U=!1,ie=++ye,e.ac!==null&&(Ft(()=>{e.ac.abort(fe)}),e.ac=null);try{e.f|=Ge;var d=e.fn,h=d(),c=e.deps;if(S!==null){var p;if(Fe(e,D),c!==null&&D>0)for(c.length=D+S.length,p=0;p<S.length;p++)c[D+p]=S[p];else e.deps=c=S;if(!X||(u&b)!==0&&e.reactions!==null)for(p=D;p<c.length;p++)(c[p].reactions??=[]).push(e)}else c!==null&&D<c.length&&(Fe(e,D),c.length=D);if(xt()&&L!==null&&!U&&c!==null&&(e.f&(b|H|O))===0)for(p=0;p<L.length;p++)Jt(L[p],e);return i!==null&&i!==e&&(ye++,L!==null&&(r===null?r=L:r.push(...L))),(e.f&ee)!==0&&(e.f^=ee),h}catch(m){return St(m)}finally{e.f^=Ge,S=t,D=n,L=r,v=i,X=o,Z=s,ue(a),U=l,ie=f}}function Or(e,t){let n=t.reactions;if(n!==null){var r=gn.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}n===null&&(t.f&b)!==0&&(S===null||!S.includes(t))&&(k(t,H),(t.f&(P|Te))===0&&(t.f^=Te),At(t),Fe(t,0))}function Fe(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Or(e,n[r])}function ke(e){var t=e.f;if((t&Y)===0){k(e,y);var n=_,r=ve;_=e,ve=!0;try{(t&B)!==0?yr(e):jt(e),zt(e);var i=Qt(e);e.teardown=typeof i=="function"?i:null,e.wv=Kt;var o;gt&&Vn&&(e.f&O)!==0&&e.deps}finally{ve=r,_=n}}}function T(e){var t=e.f,n=(t&b)!==0;if(v!==null&&!U){var r=_!==null&&(_.f&Y)!==0;if(!r&&!Z?.includes(e)){var i=v.deps;if((v.f&Ge)!==0)e.rv<ye&&(e.rv=ye,S===null&&i!==null&&i[D]===e?D++:S===null?S=[e]:(!X||!S.includes(e))&&S.push(e));else{(v.deps??=[]).push(e);var o=e.reactions;o===null?e.reactions=[v]:o.includes(v)||o.push(v)}}}else if(n&&e.deps===null&&e.effects===null){var s=e,a=s.parent;a!==null&&(a.f&P)===0&&(s.f^=P)}if(re){if(Q.has(e))return Q.get(e);if(n){s=e;var l=s.v;return((s.f&y)===0&&s.reactions!==null||Xt(s))&&(l=et(s)),Q.set(s,l),l}}else if(n){if(s=e,N?.has(s))return N.get(s);Ee(s)&&Rt(s)}if(N?.has(e))return N.get(e);if((e.f&ee)!==0)throw e.v;return e.v}function Xt(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Q.has(t)||(t.f&b)!==0&&Xt(t))return!0;return!1}function it(e){var t=U;try{return U=!0,e()}finally{U=t}}const Cr=-7169;function k(e,t){e.f=e.f&Cr|t}const Ar=["touchstart","touchmove"];function Rr(e){return Ar.includes(e)}const $t=new Set,st=new Set;function Ir(e){for(var t=0;t<e.length;t++)$t.add(e[t]);for(var n of st)n(e)}let en=null;function Ue(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],o=i[0]||e.target;en=e;var s=0,a=en===e&&e.__root;if(a){var l=i.indexOf(a);if(l!==-1&&(t===document||t===window)){e.__root=t;return}var f=i.indexOf(t);if(f===-1)return;l<=f&&(s=l)}if(o=i[s]||e.target,o!==t){mn(e,"currentTarget",{configurable:!0,get(){return o||n}});var u=v,d=_;C(null),q(null);try{for(var h,c=[];o!==null;){var p=o.assignedSlot||o.parentNode||o.host||null;try{var m=o["__"+r];m!=null&&(!o.disabled||e.target===o)&&m.call(o,e)}catch(x){h?c.push(x):h=x}if(e.cancelBubble||p===t||p===null)break;o=p}if(h){for(let x of c)queueMicrotask(()=>{throw x});throw h}}finally{e.__root=t,delete e.currentTarget,C(u),q(d)}}}function Dr(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("<!>","<!---->"),t.content}function ot(e,t){var n=_;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function xe(e,t){var n=(t&Bn)!==0,r=(t&Wn)!==0,i,o=!e.startsWith("<!>");return()=>{i===void 0&&(i=Dr(o?e:"<!>"+e),n||(i=Le(i)));var s=r||Lt?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=Le(s),l=s.lastChild;ot(a,l)}else ot(s,s);return s}}function Pr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=he();return e.append(t,n),ot(t,n),e}function _e(e,t){e!==null&&e.before(t)}function Lr(e,t){return Nr(e,t)}const pe=new Map;function Nr(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0}){lr();var a=new Set,l=d=>{for(var h=0;h<d.length;h++){var c=d[h];if(!a.has(c)){a.add(c);var p=Rr(c);t.addEventListener(c,Ue,{passive:p});var m=pe.get(c);m===void 0?(document.addEventListener(c,Ue,{passive:p}),pe.set(c,1)):pe.set(c,m+1)}}};l(wn($t)),st.add(l);var f=void 0,u=gr(()=>{var d=n??t.appendChild(he());return er(d,{pending:()=>{}},h=>{if(o){Ae({});var c=R;c.c=o}i&&(r.$$events=i),f=e(h,r)||{},o&&Re()}),()=>{for(var h of a){t.removeEventListener(h,Ue);var c=pe.get(h);--c===0?(document.removeEventListener(h,Ue),pe.delete(h)):pe.set(h,c)}st.delete(l),d!==n&&d.parentNode?.removeChild(d)}});return Mr.set(f,u),f}let Mr=new WeakMap;class Fr{anchor;#e=new Map;#t=new Map;#n=new Map;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#l=()=>{var t=w;if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)xr(r);else{var i=this.#n.get(n);i&&(this.#t.set(n,i.effect),this.#n.delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[o,s]of this.#e){if(this.#e.delete(o),o===t)break;const a=this.#n.get(s);a&&(I(a.effect),this.#n.delete(s))}for(const[o,s]of this.#t){if(o===n)continue;const a=()=>{if(Array.from(this.#e.values()).includes(o)){var f=document.createDocumentFragment();Ht(s,f),f.append(he()),this.#n.set(o,{effect:s,fragment:f})}else I(s);this.#t.delete(o)};this.#r||!r?be(s,a,!1):a()}}};#o=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,i]of this.#n)n.includes(r)||(I(i.effect),this.#n.delete(r))};ensure(t,n){var r=w,i=cr();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(i){var o=document.createDocumentFragment(),s=he();o.append(s),this.#n.set(t,{effect:V(()=>n(s)),fragment:o})}else this.#t.set(t,V(()=>n(this.anchor)));if(this.#e.set(r,t),i){for(const[a,l]of this.#t)a===t?r.skipped_effects.delete(l):r.skipped_effects.add(l);for(const[a,l]of this.#n)a===t?r.skipped_effects.delete(l.effect):r.skipped_effects.add(l.effect);r.oncommit(this.#l),r.ondiscard(this.#o)}else this.#l()}}function Ur(e,t,n=!1){var r=new Fr(e),i=n?ae:0;function o(s,a){r.ensure(s,a)}rt(()=>{var s=!1;t((a,l=!0)=>{s=!0,o(l,a)}),s||o(!1,null)},i)}function zr(e,t){var n;n=document.head.appendChild(he());try{rt(()=>t(n),Et)}finally{}}function at(e,t){wr(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const i=document.createElement("style");i.id=t.hash,i.textContent=t.code,r.appendChild(i)}})}const tn=[...`
2
- \r\f \v\uFEFF`];function jr(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var i in n)if(n[i])r=r?r+" "+i:i;else if(r.length)for(var o=i.length,s=0;(s=r.indexOf(i,s))>=0;){var a=s+o;(s===0||tn.includes(r[s-1]))&&(a===r.length||tn.includes(r[a]))?r=(s===0?"":r.substring(0,s))+r.substring(a+1):s=a}}return r===""?null:r}function nn(e,t,n,r,i,o){var s=e.__className;if(s!==n||s===void 0){var a=jr(n,r,o);a==null?e.removeAttribute("class"):e.className=a,e.__className=n}else if(o&&i!==o)for(var l in o){var f=!!o[l];(i==null||f!==!!i[l])&&e.classList.toggle(l,f)}return o}const qr=Symbol("is custom element"),Br=Symbol("is html");function ge(e,t,n,r){var i=Wr(e);i[t]!==(i[t]=n)&&(t==="loading"&&(e[Tn]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Hr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Wr(e){return e.__attributes??={[qr]:e.nodeName.includes("-"),[Br]:e.namespaceURI===Hn}}var rn=new Map;function Hr(e){var t=e.getAttribute("is")||e.nodeName,n=rn.get(t);if(n)return n;rn.set(t,n=[]);for(var r,i=e,o=Element.prototype;o!==i;){r=bn(i);for(var s in r)r[s].set&&n.push(s);i=wt(i)}return n}let ze=!1;function Yr(e){var t=ze;try{return ze=!1,[e(),ze]}finally{ze=t}}function lt(e,t,n,r){var i=(n&jn)!==0,o=(n&qn)!==0,s=r,a=!0,l=()=>(a&&(a=!1,s=o?it(r):r),s),f;if(i){var u=Ce in e||Sn in e;f=oe(e,t)?.set??(u&&t in e?g=>e[t]=g:void 0)}var d,h=!1;i?[d,h]=Yr(()=>e[t]):d=e[t],d===void 0&&r!==void 0&&(d=l(),f&&(Pn(),f(d)));var c;if(c=()=>{var g=e[t];return g===void 0?l():(a=!0,g)},(n&zn)===0)return c;if(f){var p=e.$$legacy;return(function(g,A){return arguments.length>0?((!A||p||h)&&f(A?c():g),g):c()})}var m=!1,x=((n&Un)!==0?$e:sr)(()=>(m=!1,c()));i&&T(x);var we=_;return(function(g,A){if(arguments.length>0){const se=A?T(x):i?ne(g):g;return F(x,se),m=!0,s!==void 0&&(s=se),g}return re&&m||(we.f&Y)!==0?x.v:T(x)})}function sn(e){R===null&&On(),pr(()=>{const t=it(e);if(typeof t=="function")return t})}const Gr="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Gr);var Kr=xe('<div><iframe id="chat-frame" title="Chat" class="bot svelte-yhk8rr" frameborder="0" allow="microphone; clipboard-write" allowfullscreen=""></iframe></div>'),Vr=xe(`<p class="svelte-yhk8rr">Please make sure that the script tag has 'id="chatbot"' and the attribute
1
+ (function(){"use strict";const pt=!1;var _n=Array.isArray,pn=Array.prototype.indexOf,gn=Array.from,wn=Object.defineProperty,oe=Object.getOwnPropertyDescriptor,mn=Object.getOwnPropertyDescriptors,bn=Object.prototype,yn=Array.prototype,gt=Object.getPrototypeOf,wt=Object.isExtensible;function En(e){for(var t=0;t<e.length;t++)e[t]()}function mt(){var e,t,n=new Promise((r,i)=>{e=r,t=i});return{promise:n,resolve:e,reject:t}}const b=2,He=4,Ye=8,B=16,W=32,$=64,Se=128,y=1024,O=2048,H=4096,z=8192,Y=16384,Ge=32768,ae=65536,bt=1<<17,yt=1<<18,le=1<<19,kn=1<<20,P=256,Te=512,Oe=32768,Ke=1<<21,Ve=1<<22,ee=1<<23,Ce=Symbol("$state"),xn=Symbol("legacy props"),Sn=Symbol(""),fe=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Tn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function On(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Cn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function An(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Rn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function In(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Dn(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Pn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ln(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Nn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Mn(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Fn=1,Un=4,zn=8,jn=16,qn=1,Bn=2,E=Symbol(),Wn="http://www.w3.org/1999/xhtml";function Hn(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Et(e){return e===this.v}function Yn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Gn(e){return!Yn(e,this.v)}let Kn=!1,R=null;function ue(e){R=e}function Ae(e,t=!1,n){R={p:R,i:!1,c:null,e:null,s:e,x:null,l:null}}function Re(e){var t=R,n=t.e;if(n!==null){t.e=null;for(var r of n)Ft(r)}return t.i=!0,R=t.p,{}}function kt(){return!0}let ce=[];function Vn(){var e=ce;ce=[],En(e)}function Ze(e){if(ce.length===0){var t=ce;queueMicrotask(()=>{t===ce&&Vn()})}ce.push(e)}function xt(e){var t=_;if(t===null)return v.f|=ee,e;if((t.f&Ge)===0){if((t.f&Se)===0)throw e;t.b.error(e)}else de(e,t)}function de(e,t){for(;t!==null;){if((t.f&Se)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e}const Ie=new Set;let m=null,N=null,J=[],Je=null,Qe=!1;class j{committed=!1;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=0;#r=0;#l=null;#o=[];#a=[];skipped_effects=new Set;is_fork=!1;process(t){J=[],this.apply();var n={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const r of t)this.#i(r,n);this.is_fork||this.#f(),this.#r>0||this.is_fork?(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects)):(m=null,St(n.render_effects),St(n.effects),this.#l?.resolve()),N=null}#i(t,n){t.f^=y;for(var r=t.first;r!==null;){var i=r.f,o=(i&(W|$))!==0,s=o&&(i&y)!==0,l=s||(i&z)!==0||this.skipped_effects.has(r);if((r.f&Se)!==0&&r.b?.is_pending()&&(n={parent:n,effect:r,effects:[],render_effects:[],block_effects:[]}),!l&&r.fn!==null){o?r.f^=y:(i&He)!==0?n.effects.push(r):Ee(r)&&((r.f&B)!==0&&n.block_effects.push(r),ke(r));var a=r.first;if(a!==null){r=a;continue}}var f=r.parent;for(r=r.next;r===null&&f!==null;)f===n.effect&&(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects),n=n.parent),r=f.next,f=f.parent}}#s(t){for(const n of t)((n.f&O)!==0?this.#o:this.#a).push(n),k(n,y)}capture(t,n){this.previous.has(t)||this.previous.set(t,n),this.current.set(t,t.v),N?.set(t,t.v)}activate(){m=this}deactivate(){m=null,N=null}flush(){if(this.activate(),J.length>0){if(Zn(),m!==null&&m!==this)return}else this.#n===0&&this.process([]);this.deactivate()}discard(){for(const t of this.#t)t(this);this.#t.clear()}#f(){if(this.#r===0){for(const t of this.#e)t();this.#e.clear()}this.#n===0&&this.#u()}#u(){if(Ie.size>1){this.previous.clear();var t=N,n=!0,r={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const i of Ie){if(i===this){n=!1;continue}const o=[];for(const[l,a]of this.current){if(i.current.has(l))if(n&&a!==i.current.get(l))i.current.set(l,a);else continue;o.push(l)}if(o.length===0)continue;const s=[...i.current.keys()].filter(l=>!this.current.has(l));if(s.length>0){const l=new Set,a=new Map;for(const f of o)Tt(f,s,l,a);if(J.length>0){m=i,i.apply();for(const f of J)i.#i(f,r);J=[],i.deactivate()}}}m=null,N=t}this.committed=!0,Ie.delete(this)}increment(t){this.#n+=1,t&&(this.#r+=1)}decrement(t){this.#n-=1,t&&(this.#r-=1),this.revive()}revive(){for(const t of this.#o)k(t,O),te(t);for(const t of this.#a)k(t,H),te(t);this.#o=[],this.#a=[],this.flush()}oncommit(t){this.#e.add(t)}ondiscard(t){this.#t.add(t)}settled(){return(this.#l??=mt()).promise}static ensure(){if(m===null){const t=m=new j;Ie.add(m),j.enqueue(()=>{m===t&&t.flush()})}return m}static enqueue(t){Ze(t)}apply(){}}function Zn(){var e=ve;Qe=!0;try{var t=0;for(Ht(!0);J.length>0;){var n=j.ensure();if(t++>1e3){var r,i;Jn()}n.process(J),Q.clear()}}finally{Qe=!1,Ht(e),Je=null}}function Jn(){try{In()}catch(e){de(e,Je)}}let G=null;function St(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(Y|z))===0&&Ee(r)&&(G=new Set,ke(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null&&r.ac===null?jt(r):r.fn=null),G?.size>0)){Q.clear();for(const i of G){if((i.f&(Y|z))!==0)continue;const o=[i];let s=i.parent;for(;s!==null;)G.has(s)&&(G.delete(s),o.push(s)),s=s.parent;for(let l=o.length-1;l>=0;l--){const a=o[l];(a.f&(Y|z))===0&&ke(a)}}G.clear()}}G=null}}function Tt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const o=i.f;(o&b)!==0?Tt(i,t,n,r):(o&(Ve|B))!==0&&(o&O)===0&&Ot(i,t,r)&&(k(i,O),te(i))}}function Ot(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(t.includes(i))return!0;if((i.f&b)!==0&&Ot(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function te(e){for(var t=Je=e;t.parent!==null;){t=t.parent;var n=t.f;if(Qe&&t===_&&(n&B)!==0)return;if((n&($|W))!==0){if((n&y)===0)return;t.f^=y}}J.push(t)}function Qn(e){let t=0,n=Pe(0),r;return()=>{hr()&&(T(n),mr(()=>(t===0&&(r=rt(()=>e(()=>me(n)))),t+=1,()=>{Ze(()=>{t-=1,t===0&&(r?.(),r=void 0,me(n))})})))}}var Xn=ae|le|Se;function $n(e,t,n){new er(e,t,n)}class er{parent;#e=!1;#t;#n=null;#r;#l;#o;#a=null;#i=null;#s=null;#f=null;#u=null;#h=0;#c=0;#v=!1;#d=null;#m=Qn(()=>(this.#d=Pe(this.#h),()=>{this.#d=null}));constructor(t,n,r){this.#t=t,this.#r=n,this.#l=r,this.parent=_.b,this.#e=!!this.#r.pending,this.#o=nt(()=>{_.b=this;{var i=this.#g();try{this.#a=V(()=>r(i))}catch(o){this.error(o)}this.#c>0?this.#p():this.#e=!1}return()=>{this.#u?.remove()}},Xn)}#b(){try{this.#a=V(()=>this.#l(this.#t))}catch(t){this.error(t)}this.#e=!1}#y(){const t=this.#r.pending;t&&(this.#i=V(()=>t(this.#t)),j.enqueue(()=>{var n=this.#g();this.#a=this.#_(()=>(j.ensure(),V(()=>this.#l(n)))),this.#c>0?this.#p():(be(this.#i,()=>{this.#i=null}),this.#e=!1)}))}#g(){var t=this.#t;return this.#e&&(this.#u=he(),this.#t.before(this.#u),t=this.#u),t}is_pending(){return this.#e||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#r.pending}#_(t){var n=_,r=v,i=R;q(this.#o),C(this.#o),ue(this.#o.ctx);try{return t()}catch(o){return xt(o),null}finally{q(n),C(r),ue(i)}}#p(){const t=this.#r.pending;this.#a!==null&&(this.#f=document.createDocumentFragment(),this.#f.append(this.#u),Wt(this.#a,this.#f)),this.#i===null&&(this.#i=V(()=>t(this.#t)))}#w(t){if(!this.has_pending_snippet()){this.parent&&this.parent.#w(t);return}this.#c+=t,this.#c===0&&(this.#e=!1,this.#i&&be(this.#i,()=>{this.#i=null}),this.#f&&(this.#t.before(this.#f),this.#f=null))}update_pending_count(t){this.#w(t),this.#h+=t,this.#d&&Le(this.#d,this.#h)}get_effect_pending(){return this.#m(),T(this.#d)}error(t){var n=this.#r.onerror;let r=this.#r.failed;if(this.#v||!n&&!r)throw t;this.#a&&(I(this.#a),this.#a=null),this.#i&&(I(this.#i),this.#i=null),this.#s&&(I(this.#s),this.#s=null);var i=!1,o=!1;const s=()=>{if(i){Hn();return}i=!0,o&&Mn(),j.ensure(),this.#h=0,this.#s!==null&&be(this.#s,()=>{this.#s=null}),this.#e=this.has_pending_snippet(),this.#a=this.#_(()=>(this.#v=!1,V(()=>this.#l(this.#t)))),this.#c>0?this.#p():this.#e=!1};var l=v;try{C(null),o=!0,n?.(t,s),o=!1}catch(a){de(a,this.#o&&this.#o.parent)}finally{C(l)}r&&Ze(()=>{this.#s=this.#_(()=>{j.ensure(),this.#v=!0;try{return V(()=>{r(this.#t,()=>t,()=>s)})}catch(a){return de(a,this.#o.parent),null}finally{this.#v=!1}})})}}function tr(e,t,n,r){const i=Xe;if(n.length===0&&e.length===0){r(t.map(i));return}var o=m,s=_,l=nr();function a(){Promise.all(n.map(f=>rr(f))).then(f=>{l();try{r([...t.map(i),...f])}catch(u){(s.f&Y)===0&&de(u,s)}o?.deactivate(),De()}).catch(f=>{de(f,s)})}e.length>0?Promise.all(e).then(()=>{l();try{return a()}finally{o?.deactivate(),De()}}):a()}function nr(){var e=_,t=v,n=R,r=m;return function(o=!0){q(e),C(t),ue(n),o&&r?.activate()}}function De(){q(null),C(null),ue(null)}function Xe(e){var t=b|O,n=v!==null&&(v.f&b)!==0?v:null;return _===null||n!==null&&(n.f&P)!==0?t|=P:_.f|=le,{ctx:R,deps:null,effects:null,equals:Et,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:n??_,ac:null}}function rr(e,t){let n=_;n===null&&On();var r=n.b,i=void 0,o=Pe(E),s=!v,l=new Map;return wr(()=>{var a=mt();i=a.promise;try{Promise.resolve(e()).then(a.resolve,a.reject).then(()=>{f===m&&f.committed&&f.deactivate(),De()})}catch(h){a.reject(h),De()}var f=m;if(s){var u=!r.is_pending();r.update_pending_count(1),f.increment(u),l.get(f)?.reject(fe),l.delete(f),l.set(f,a)}const d=(h,c=void 0)=>{if(f.activate(),c)c!==fe&&(o.f|=ee,Le(o,c));else{(o.f&ee)!==0&&(o.f^=ee),Le(o,h);for(const[p,w]of l){if(l.delete(p),p===f)break;w.reject(fe)}}s&&(r.update_pending_count(-1),f.decrement(u))};a.promise.then(d,h=>d(null,h||"unknown"))}),vr(()=>{for(const a of l.values())a.reject(fe)}),new Promise(a=>{function f(u){function d(){u===i?a(o):f(i)}u.then(d,d)}f(i)})}function ir(e){const t=Xe(e);return t.equals=Gn,t}function Ct(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)I(t[n])}}function sr(e){for(var t=e.parent;t!==null;){if((t.f&b)===0)return t;t=t.parent}return null}function $e(e){var t,n=_;q(sr(e));try{e.f&=~Oe,Ct(e),t=Jt(e)}finally{q(n)}return t}function At(e){var t=$e(e);if(e.equals(t)||(e.v=t,e.wv=Vt()),!re)if(N!==null)N.set(e,e.v);else{var n=(X||(e.f&P)!==0)&&e.deps!==null?H:y;k(e,n)}}let et=new Set;const Q=new Map;let Rt=!1;function Pe(e,t){var n={f:0,v:e,reactions:null,equals:Et,rv:0,wv:0};return n}function M(e,t){const n=Pe(e);return xr(n),n}function F(e,t,n=!1){v!==null&&(!U||(v.f&bt)!==0)&&kt()&&(v.f&(b|B|Ve|bt))!==0&&!Z?.includes(e)&&Nn();let r=n?ne(t):t;return Le(e,r)}function Le(e,t){if(!e.equals(t)){var n=e.v;re?Q.set(e,t):Q.set(e,n),e.v=t;var r=j.ensure();r.capture(e,n),(e.f&b)!==0&&((e.f&O)!==0&&$e(e),k(e,(e.f&P)===0?y:H)),e.wv=Vt(),It(e,O),_!==null&&(_.f&y)!==0&&(_.f&(W|$))===0&&(L===null?Sr([e]):L.push(e)),!r.is_fork&&et.size>0&&!Rt&&or()}return t}function or(){Rt=!1;const e=Array.from(et);for(const t of e)(t.f&y)!==0&&k(t,H),Ee(t)&&ke(t);et.clear()}function me(e){F(e,e.v+1)}function It(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,i=0;i<r;i++){var o=n[i],s=o.f,l=(s&O)===0;l&&k(o,t),(s&b)!==0?(s&Oe)===0&&(o.f|=Oe,It(o,H)):l&&((s&B)!==0&&G!==null&&G.add(o),te(o))}}function ne(e){if(typeof e!="object"||e===null||Ce in e)return e;const t=gt(e);if(t!==bn&&t!==yn)return e;var n=new Map,r=_n(e),i=M(0),o=ie,s=l=>{if(ie===o)return l();var a=v,f=ie;C(null),Kt(o);var u=l();return C(a),Kt(f),u};return r&&n.set("length",M(e.length)),new Proxy(e,{defineProperty(l,a,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&Pn();var u=n.get(a);return u===void 0?u=s(()=>{var d=M(f.value);return n.set(a,d),d}):F(u,f.value,!0),!0},deleteProperty(l,a){var f=n.get(a);if(f===void 0){if(a in l){const u=s(()=>M(E));n.set(a,u),me(i)}}else F(f,E),me(i);return!0},get(l,a,f){if(a===Ce)return e;var u=n.get(a),d=a in l;if(u===void 0&&(!d||oe(l,a)?.writable)&&(u=s(()=>{var c=ne(d?l[a]:E),p=M(c);return p}),n.set(a,u)),u!==void 0){var h=T(u);return h===E?void 0:h}return Reflect.get(l,a,f)},getOwnPropertyDescriptor(l,a){var f=Reflect.getOwnPropertyDescriptor(l,a);if(f&&"value"in f){var u=n.get(a);u&&(f.value=T(u))}else if(f===void 0){var d=n.get(a),h=d?.v;if(d!==void 0&&h!==E)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return f},has(l,a){if(a===Ce)return!0;var f=n.get(a),u=f!==void 0&&f.v!==E||Reflect.has(l,a);if(f!==void 0||_!==null&&(!u||oe(l,a)?.writable)){f===void 0&&(f=s(()=>{var h=u?ne(l[a]):E,c=M(h);return c}),n.set(a,f));var d=T(f);if(d===E)return!1}return u},set(l,a,f,u){var d=n.get(a),h=a in l;if(r&&a==="length")for(var c=f;c<d.v;c+=1){var p=n.get(c+"");p!==void 0?F(p,E):c in l&&(p=s(()=>M(E)),n.set(c+"",p))}if(d===void 0)(!h||oe(l,a)?.writable)&&(d=s(()=>M(void 0)),F(d,ne(f)),n.set(a,d));else{h=d.v!==E;var w=s(()=>ne(f));F(d,w)}var x=Reflect.getOwnPropertyDescriptor(l,a);if(x?.set&&x.set.call(u,f),!h){if(r&&typeof a=="string"){var we=n.get("length"),g=Number(a);Number.isInteger(g)&&g>=we.v&&F(we,g+1)}me(i)}return!0},ownKeys(l){T(i);var a=Reflect.ownKeys(l).filter(d=>{var h=n.get(d);return h===void 0||h.v!==E});for(var[f,u]of n)u.v!==E&&!(f in l)&&a.push(f);return a},setPrototypeOf(){Ln()}})}var Dt,Pt,Lt,Nt;function ar(){if(Dt===void 0){Dt=window,Pt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Lt=oe(t,"firstChild").get,Nt=oe(t,"nextSibling").get,wt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),wt(n)&&(n.__t=void 0)}}function he(e=""){return document.createTextNode(e)}function Ne(e){return Lt.call(e)}function Me(e){return Nt.call(e)}function tt(e,t){return Ne(e)}function lr(e,t=!1){{var n=Ne(e);return n instanceof Comment&&n.data===""?Me(n):n}}function fr(e,t=1,n=!1){let r=e;for(;t--;)r=Me(r);return r}function ur(){return!1}function Mt(e){var t=v,n=_;C(null),q(null);try{return e()}finally{C(t),q(n)}}function cr(e){_===null&&v===null&&Rn(),v!==null&&(v.f&P)!==0&&_===null&&An(),re&&Cn()}function dr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function K(e,t,n,r=!0){var i=_;i!==null&&(i.f&z)!==0&&(e|=z);var o={ctx:R,deps:null,nodes_start:null,nodes_end:null,f:e|O,first:null,fn:t,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{ke(o),o.f|=Ge}catch(a){throw I(o),a}else t!==null&&te(o);if(r){var s=o;if(n&&s.deps===null&&s.teardown===null&&s.nodes_start===null&&s.first===s.last&&(s.f&le)===0&&(s=s.first,(e&B)!==0&&(e&ae)!==0&&s!==null&&(s.f|=ae)),s!==null&&(s.parent=i,i!==null&&dr(s,i),v!==null&&(v.f&b)!==0&&(e&$)===0)){var l=v;(l.effects??=[]).push(s)}}return o}function hr(){return v!==null&&!U}function vr(e){const t=K(Ye,null,!1);return k(t,y),t.teardown=e,t}function _r(e){cr();var t=_.f,n=!v&&(t&W)!==0&&(t&Ge)===0;if(n){var r=R;(r.e??=[]).push(e)}else return Ft(e)}function Ft(e){return K(He|kn,e,!1)}function pr(e){j.ensure();const t=K($|le,e,!0);return(n={})=>new Promise(r=>{n.outro?be(t,()=>{I(t),r(void 0)}):(I(t),r(void 0))})}function gr(e){return K(He,e,!1)}function wr(e){return K(Ve|le,e,!0)}function mr(e,t=0){return K(Ye|t,e,!0)}function Fe(e,t=[],n=[],r=[]){tr(r,t,n,i=>{K(Ye,()=>e(...i.map(T)),!0)})}function nt(e,t=0){var n=K(B|t,e,!0);return n}function V(e,t=!0){return K(W|le,e,!0,t)}function Ut(e){var t=e.teardown;if(t!==null){const n=re,r=v;Yt(!0),C(null);try{t.call(null)}finally{Yt(n),C(r)}}}function zt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&Mt(()=>{i.abort(fe)});var r=n.next;(n.f&$)!==0?n.parent=null:I(n,t),n=r}}function br(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&W)===0&&I(t),t=n}}function I(e,t=!0){var n=!1;(t||(e.f&yt)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(yr(e.nodes_start,e.nodes_end),n=!0),zt(e,t&&!n),Ue(e,0),k(e,Y);var r=e.transitions;if(r!==null)for(const o of r)o.stop();Ut(e);var i=e.parent;i!==null&&i.first!==null&&jt(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function yr(e,t){for(;e!==null;){var n=e===t?null:Me(e);e.remove(),e=n}}function jt(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function be(e,t,n=!0){var r=[];qt(e,r,!0),Er(r,()=>{n&&I(e),t&&t()})}function Er(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var i of e)i.out(r)}else t()}function qt(e,t,n){if((e.f&z)===0){if(e.f^=z,e.transitions!==null)for(const s of e.transitions)(s.is_global||n)&&t.push(s);for(var r=e.first;r!==null;){var i=r.next,o=(r.f&ae)!==0||(r.f&W)!==0&&(e.f&B)!==0;qt(r,t,o?n:!1),r=i}}}function kr(e){Bt(e,!0)}function Bt(e,t){if((e.f&z)!==0){e.f^=z,(e.f&y)===0&&(k(e,O),te(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&ae)!==0||(n.f&W)!==0;Bt(n,i?t:!1),n=r}if(e.transitions!==null)for(const o of e.transitions)(o.is_global||t)&&o.in()}}function Wt(e,t){for(var n=e.nodes_start,r=e.nodes_end;n!==null;){var i=n===r?null:Me(n);t.append(n),n=i}}let ve=!1;function Ht(e){ve=e}let re=!1;function Yt(e){re=e}let v=null,U=!1;function C(e){v=e}let _=null;function q(e){_=e}let Z=null;function xr(e){v!==null&&(Z===null?Z=[e]:Z.push(e))}let S=null,D=0,L=null;function Sr(e){L=e}let Gt=1,ye=0,ie=ye;function Kt(e){ie=e}let X=!1;function Vt(){return++Gt}function Ee(e){var t=e.f;if((t&O)!==0)return!0;if((t&H)!==0){var n=e.deps,r=(t&P)!==0;if(t&b&&(e.f&=~Oe),n!==null){var i,o,s=(t&Te)!==0,l=r&&_!==null&&!X,a=n.length;if((s||l)&&(_===null||(_.f&Y)===0)){var f=e,u=f.parent;for(i=0;i<a;i++)o=n[i],(s||!o?.reactions?.includes(f))&&(o.reactions??=[]).push(f);s&&(f.f^=Te),l&&u!==null&&(u.f&P)===0&&(f.f^=P)}for(i=0;i<a;i++)if(o=n[i],Ee(o)&&At(o),o.wv>e.wv)return!0}(!r||_!==null&&!X)&&k(e,y)}return!1}function Zt(e,t,n=!0){var r=e.reactions;if(r!==null&&!Z?.includes(e))for(var i=0;i<r.length;i++){var o=r[i];(o.f&b)!==0?Zt(o,t,!1):t===o&&(n?k(o,O):(o.f&y)!==0&&k(o,H),te(o))}}function Jt(e){var t=S,n=D,r=L,i=v,o=X,s=Z,l=R,a=U,f=ie,u=e.f;S=null,D=0,L=null,X=(u&P)!==0&&(U||!ve||v===null),v=(u&(W|$))===0?e:null,Z=null,ue(e.ctx),U=!1,ie=++ye,e.ac!==null&&(Mt(()=>{e.ac.abort(fe)}),e.ac=null);try{e.f|=Ke;var d=e.fn,h=d(),c=e.deps;if(S!==null){var p;if(Ue(e,D),c!==null&&D>0)for(c.length=D+S.length,p=0;p<S.length;p++)c[D+p]=S[p];else e.deps=c=S;if(!X||(u&b)!==0&&e.reactions!==null)for(p=D;p<c.length;p++)(c[p].reactions??=[]).push(e)}else c!==null&&D<c.length&&(Ue(e,D),c.length=D);if(kt()&&L!==null&&!U&&c!==null&&(e.f&(b|H|O))===0)for(p=0;p<L.length;p++)Zt(L[p],e);return i!==null&&i!==e&&(ye++,L!==null&&(r===null?r=L:r.push(...L))),(e.f&ee)!==0&&(e.f^=ee),h}catch(w){return xt(w)}finally{e.f^=Ke,S=t,D=n,L=r,v=i,X=o,Z=s,ue(l),U=a,ie=f}}function Tr(e,t){let n=t.reactions;if(n!==null){var r=pn.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}n===null&&(t.f&b)!==0&&(S===null||!S.includes(t))&&(k(t,H),(t.f&(P|Te))===0&&(t.f^=Te),Ct(t),Ue(t,0))}function Ue(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Tr(e,n[r])}function ke(e){var t=e.f;if((t&Y)===0){k(e,y);var n=_,r=ve;_=e,ve=!0;try{(t&B)!==0?br(e):zt(e),Ut(e);var i=Jt(e);e.teardown=typeof i=="function"?i:null,e.wv=Gt;var o;pt&&Kn&&(e.f&O)!==0&&e.deps}finally{ve=r,_=n}}}function T(e){var t=e.f,n=(t&b)!==0;if(v!==null&&!U){var r=_!==null&&(_.f&Y)!==0;if(!r&&!Z?.includes(e)){var i=v.deps;if((v.f&Ke)!==0)e.rv<ye&&(e.rv=ye,S===null&&i!==null&&i[D]===e?D++:S===null?S=[e]:(!X||!S.includes(e))&&S.push(e));else{(v.deps??=[]).push(e);var o=e.reactions;o===null?e.reactions=[v]:o.includes(v)||o.push(v)}}}else if(n&&e.deps===null&&e.effects===null){var s=e,l=s.parent;l!==null&&(l.f&P)===0&&(s.f^=P)}if(re){if(Q.has(e))return Q.get(e);if(n){s=e;var a=s.v;return((s.f&y)===0&&s.reactions!==null||Qt(s))&&(a=$e(s)),Q.set(s,a),a}}else if(n){if(s=e,N?.has(s))return N.get(s);Ee(s)&&At(s)}if(N?.has(e))return N.get(e);if((e.f&ee)!==0)throw e.v;return e.v}function Qt(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Q.has(t)||(t.f&b)!==0&&Qt(t))return!0;return!1}function rt(e){var t=U;try{return U=!0,e()}finally{U=t}}const Or=-7169;function k(e,t){e.f=e.f&Or|t}const Cr=["touchstart","touchmove"];function Ar(e){return Cr.includes(e)}const Xt=new Set,it=new Set;function Rr(e){for(var t=0;t<e.length;t++)Xt.add(e[t]);for(var n of it)n(e)}let $t=null;function ze(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],o=i[0]||e.target;$t=e;var s=0,l=$t===e&&e.__root;if(l){var a=i.indexOf(l);if(a!==-1&&(t===document||t===window)){e.__root=t;return}var f=i.indexOf(t);if(f===-1)return;a<=f&&(s=a)}if(o=i[s]||e.target,o!==t){wn(e,"currentTarget",{configurable:!0,get(){return o||n}});var u=v,d=_;C(null),q(null);try{for(var h,c=[];o!==null;){var p=o.assignedSlot||o.parentNode||o.host||null;try{var w=o["__"+r];w!=null&&(!o.disabled||e.target===o)&&w.call(o,e)}catch(x){h?c.push(x):h=x}if(e.cancelBubble||p===t||p===null)break;o=p}if(h){for(let x of c)queueMicrotask(()=>{throw x});throw h}}finally{e.__root=t,delete e.currentTarget,C(u),q(d)}}}function Ir(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("<!>","<!---->"),t.content}function st(e,t){var n=_;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function xe(e,t){var n=(t&qn)!==0,r=(t&Bn)!==0,i,o=!e.startsWith("<!>");return()=>{i===void 0&&(i=Ir(o?e:"<!>"+e),n||(i=Ne(i)));var s=r||Pt?document.importNode(i,!0):i.cloneNode(!0);if(n){var l=Ne(s),a=s.lastChild;st(l,a)}else st(s,s);return s}}function Dr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=he();return e.append(t,n),st(t,n),e}function _e(e,t){e!==null&&e.before(t)}function Pr(e,t){return Lr(e,t)}const pe=new Map;function Lr(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0}){ar();var l=new Set,a=d=>{for(var h=0;h<d.length;h++){var c=d[h];if(!l.has(c)){l.add(c);var p=Ar(c);t.addEventListener(c,ze,{passive:p});var w=pe.get(c);w===void 0?(document.addEventListener(c,ze,{passive:p}),pe.set(c,1)):pe.set(c,w+1)}}};a(gn(Xt)),it.add(a);var f=void 0,u=pr(()=>{var d=n??t.appendChild(he());return $n(d,{pending:()=>{}},h=>{if(o){Ae({});var c=R;c.c=o}i&&(r.$$events=i),f=e(h,r)||{},o&&Re()}),()=>{for(var h of l){t.removeEventListener(h,ze);var c=pe.get(h);--c===0?(document.removeEventListener(h,ze),pe.delete(h)):pe.set(h,c)}it.delete(a),d!==n&&d.parentNode?.removeChild(d)}});return Nr.set(f,u),f}let Nr=new WeakMap;class Mr{anchor;#e=new Map;#t=new Map;#n=new Map;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#l=()=>{var t=m;if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)kr(r);else{var i=this.#n.get(n);i&&(this.#t.set(n,i.effect),this.#n.delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[o,s]of this.#e){if(this.#e.delete(o),o===t)break;const l=this.#n.get(s);l&&(I(l.effect),this.#n.delete(s))}for(const[o,s]of this.#t){if(o===n)continue;const l=()=>{if(Array.from(this.#e.values()).includes(o)){var f=document.createDocumentFragment();Wt(s,f),f.append(he()),this.#n.set(o,{effect:s,fragment:f})}else I(s);this.#t.delete(o)};this.#r||!r?be(s,l,!1):l()}}};#o=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,i]of this.#n)n.includes(r)||(I(i.effect),this.#n.delete(r))};ensure(t,n){var r=m,i=ur();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(i){var o=document.createDocumentFragment(),s=he();o.append(s),this.#n.set(t,{effect:V(()=>n(s)),fragment:o})}else this.#t.set(t,V(()=>n(this.anchor)));if(this.#e.set(r,t),i){for(const[l,a]of this.#t)l===t?r.skipped_effects.delete(a):r.skipped_effects.add(a);for(const[l,a]of this.#n)l===t?r.skipped_effects.delete(a.effect):r.skipped_effects.add(a.effect);r.oncommit(this.#l),r.ondiscard(this.#o)}else this.#l()}}function Fr(e,t,n=!1){var r=new Mr(e),i=n?ae:0;function o(s,l){r.ensure(s,l)}nt(()=>{var s=!1;t((l,a=!0)=>{s=!0,o(a,l)}),s||o(!1,null)},i)}function Ur(e,t){var n;n=document.head.appendChild(he());try{nt(()=>t(n),yt)}finally{}}function ot(e,t){gr(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const i=document.createElement("style");i.id=t.hash,i.textContent=t.code,r.appendChild(i)}})}const en=[...`
2
+ \r\f \v\uFEFF`];function zr(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var i in n)if(n[i])r=r?r+" "+i:i;else if(r.length)for(var o=i.length,s=0;(s=r.indexOf(i,s))>=0;){var l=s+o;(s===0||en.includes(r[s-1]))&&(l===r.length||en.includes(r[l]))?r=(s===0?"":r.substring(0,s))+r.substring(l+1):s=l}}return r===""?null:r}function tn(e,t,n,r,i,o){var s=e.__className;if(s!==n||s===void 0){var l=zr(n,r,o);l==null?e.removeAttribute("class"):e.className=l,e.__className=n}else if(o&&i!==o)for(var a in o){var f=!!o[a];(i==null||f!==!!i[a])&&e.classList.toggle(a,f)}return o}const jr=Symbol("is custom element"),qr=Symbol("is html");function ge(e,t,n,r){var i=Br(e);i[t]!==(i[t]=n)&&(t==="loading"&&(e[Sn]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Wr(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Br(e){return e.__attributes??={[jr]:e.nodeName.includes("-"),[qr]:e.namespaceURI===Wn}}var nn=new Map;function Wr(e){var t=e.getAttribute("is")||e.nodeName,n=nn.get(t);if(n)return n;nn.set(t,n=[]);for(var r,i=e,o=Element.prototype;o!==i;){r=mn(i);for(var s in r)r[s].set&&n.push(s);i=gt(i)}return n}let je=!1;function Hr(e){var t=je;try{return je=!1,[e(),je]}finally{je=t}}function at(e,t,n,r){var i=(n&zn)!==0,o=(n&jn)!==0,s=r,l=!0,a=()=>(l&&(l=!1,s=o?rt(r):r),s),f;if(i){var u=Ce in e||xn in e;f=oe(e,t)?.set??(u&&t in e?g=>e[t]=g:void 0)}var d,h=!1;i?[d,h]=Hr(()=>e[t]):d=e[t],d===void 0&&r!==void 0&&(d=a(),f&&(Dn(),f(d)));var c;if(c=()=>{var g=e[t];return g===void 0?a():(l=!0,g)},(n&Un)===0)return c;if(f){var p=e.$$legacy;return(function(g,A){return arguments.length>0?((!A||p||h)&&f(A?c():g),g):c()})}var w=!1,x=((n&Fn)!==0?Xe:ir)(()=>(w=!1,c()));i&&T(x);var we=_;return(function(g,A){if(arguments.length>0){const se=A?T(x):i?ne(g):g;return F(x,se),w=!0,s!==void 0&&(s=se),g}return re&&w||(we.f&Y)!==0?x.v:T(x)})}function rn(e){R===null&&Tn(),_r(()=>{const t=rt(e);if(typeof t=="function")return t})}const Yr="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Yr);var Gr=xe('<div><iframe id="chat-frame" title="Chat" class="bot svelte-yhk8rr" frameborder="0" allow="microphone; clipboard-write" allowfullscreen=""></iframe></div>'),Kr=xe(`<p class="svelte-yhk8rr">Please make sure that the script tag has 'id="chatbot"' and the attribute
3
3
  'data-server' with the full qualified URL to the chatbot-server.</p> <pre class="svelte-yhk8rr">
4
4
  <code class="svelte-yhk8rr">
5
5
  &lt;script
@@ -12,7 +12,7 @@
12
12
  <br class="svelte-yhk8rr"/>
13
13
  src="https://server.com/webclient/embed/bundle.js"&gt; &lt;/script&gt;
14
14
  </code>
15
- </pre>`,1);const Zr={hash:"svelte-yhk8rr",code:`.svelte-yhk8rr,
15
+ </pre>`,1);const Vr={hash:"svelte-yhk8rr",code:`.svelte-yhk8rr,
16
16
  .svelte-yhk8rr:before,
17
17
  .svelte-yhk8rr:after {box-sizing:border-box;}.bot-border.svelte-yhk8rr {position:fixed;display:flex;flex-direction:column;top:0;bottom:env(safe-area-inset-bottom);height:100%;max-height:100vh;width:100%;border-width:0;border-radius:var(--window-border-radius, 8px);box-shadow:rgba(0, 0, 0, 0.24) 0px 16px 40px;background:transparent;opacity:1;transition:transform 200ms,
18
18
  opacity 100ms 100ms,
@@ -20,10 +20,10 @@
20
20
 
21
21
  @media screen and (min-width: 768px) {#chat-frame.svelte-yhk8rr {border-radius:var(--window-border-radius, 8px);}.bot-border.svelte-yhk8rr {height:var(--window-height, 43em);max-height:var(--window-max-height, calc(100vh - 2em));width:var(--window-width, 25em);top:var(--window-top, auto);right:var(--window-right, 1em);bottom:var(--window-bottom, 1em);left:var(--window-left, auto);border-radius:var(--window-border-radius, 8px);}.bot-border.closed.svelte-yhk8rr {transform:translateY(var(--window-height, 43em));opacity:0;}
22
22
  }p.svelte-yhk8rr,
23
- pre.svelte-yhk8rr {max-width:300px;}pre.svelte-yhk8rr {font-size:0.6em;line-height:0.5;}`};function Jr(e,t){Ae(t,!0),at(e,Zr),sn(()=>{document.getElementById("chat-frame")?.addEventListener("load",t.onLoad)});var n=Pr(),r=fr(n);{var i=s=>{var a=Kr();let l;var f=nt(a);Me(u=>{l=nn(a,1,"bot-border svelte-yhk8rr",null,l,{closed:!t.open}),ge(a,"aria-hidden",t.open?"false":"true"),ge(f,"src",u)},[()=>`${t.server}${t.server.indexOf("?")===-1?"?":"&"}referrer=${encodeURIComponent(t.referrer??"")}`]),_e(s,a)},o=s=>{var a=Vr();_e(s,a)};Ur(r,s=>{t.server?s(i):s(o,!1)})}_e(e,n),Re()}var Qr=xe('<div class="chat-button-wrapper svelte-1xi58vz" tabindex="0" role="button" aria-label="Open chat window"><img class="chat-button svelte-1xi58vz" alt="Open chat window"/></div>');const Xr={hash:"svelte-1xi58vz",code:`.svelte-1xi58vz,
23
+ pre.svelte-yhk8rr {max-width:300px;}pre.svelte-yhk8rr {font-size:0.6em;line-height:0.5;}`};function Zr(e,t){Ae(t,!0),ot(e,Vr),rn(()=>{document.getElementById("chat-frame")?.addEventListener("load",t.onLoad)});var n=Dr(),r=lr(n);{var i=s=>{var l=Gr();let a;var f=tt(l);Fe(u=>{a=tn(l,1,"bot-border svelte-yhk8rr",null,a,{closed:!t.open}),ge(l,"aria-hidden",t.open?"false":"true"),ge(f,"src",u)},[()=>`${t.server}${t.server.indexOf("?")===-1?"?":"&"}referrer=${encodeURIComponent(t.referrer??"")}`]),_e(s,l)},o=s=>{var l=Kr();_e(s,l)};Fr(r,s=>{t.server?s(i):s(o,!1)})}_e(e,n),Re()}var Jr=xe('<div class="chat-button-wrapper svelte-1xi58vz" tabindex="0" role="button" aria-label="Open chat window"><img class="chat-button svelte-1xi58vz" alt="Open chat window"/></div>');const Qr={hash:"svelte-1xi58vz",code:`.svelte-1xi58vz,
24
24
  .svelte-1xi58vz:before,
25
25
  .svelte-1xi58vz:after {box-sizing:border-box;}.chat-button-wrapper.svelte-1xi58vz {position:fixed;top:var(--fab-top-mobile, var(--fab-top, auto));right:var(--fab-right-mobile, var(--fab-right, 1.5em));bottom:var(--fab-bottom-mobile, var(--fab-bottom, 1.5em));left:var(--fab-left-mobile, var(--fab-left, auto));width:var(--fab-size-mobile, var(--fab-size, 5em));height:var(--fab-size-mobile, var(--fab-size, 5em));z-index:999;}
26
26
 
27
27
  @media screen and (min-width: 768px) {.chat-button-wrapper.svelte-1xi58vz {top:var(--fab-top, auto);right:var(--fab-right, 1.5em);bottom:var(--fab-bottom, 1.5em);left:var(--fab-left, auto);width:var(--fab-size, 6em);height:var(--fab-size, 6em);}
28
28
  }.chat-button.svelte-1xi58vz {display:block;height:100%;cursor:pointer;border-radius:50%;box-shadow:9px 9px 16px rgba(0, 0, 0, 0.25);transition:transform 100ms,
29
- box-shadow 100ms;}.chat-button.svelte-1xi58vz:hover {box-shadow:16px 16px 16px rgba(0, 0, 0, 0.2);transform:translateY(-2px);}`};function $r(e,t){Ae(t,!0),at(e,Xr);function n(o){const s=o.key;(s==="ArrowDown"||s==="ArrowRight"||s==="Enter"||s===" "||s==="Space")&&(o.stopPropagation(),t.onToggle())}var r=Qr();r.__click=function(...o){t.onToggle?.apply(this,o)},r.__keydown=n;var i=nt(r);Me(()=>{ge(r,"aria-expanded",t.open?"true":"false"),ge(i,"src",`${t.assetsUrl}/fab.svg`)}),_e(e,r),Re()}Ir(["click","keydown"]);let on=!1;function ei(e){on=e}function ti(){return on}/*! js-cookie v3.0.5 | MIT */function je(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var ni={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function ft(e,t){function n(i,o,s){if(!(typeof document>"u")){s=je({},t,s),typeof s.expires=="number"&&(s.expires=new Date(Date.now()+s.expires*864e5)),s.expires&&(s.expires=s.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var l in s)s[l]&&(a+="; "+l,s[l]!==!0&&(a+="="+s[l].split(";")[0]));return document.cookie=i+"="+e.write(o,i)+a}}function r(i){if(!(typeof document>"u"||arguments.length&&!i)){for(var o=document.cookie?document.cookie.split("; "):[],s={},a=0;a<o.length;a++){var l=o[a].split("="),f=l.slice(1).join("=");try{var u=decodeURIComponent(l[0]);if(s[u]=e.read(f,u),i===u)break}catch{}}return i?s[i]:s}}return Object.create({set:n,get:r,remove:function(i,o){n(i,"",je({},o,{expires:-1}))},withAttributes:function(i){return ft(this.converter,je({},this.attributes,i))},withConverter:function(i){return ft(je({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var an=ft(ni,{path:"/"});const ln="bubble-chat-window-state",fn=()=>{switch(an.get(ln)){case"open":return!0;case"closed":return!1;default:return}},un=e=>{const t=new Date(new Date().getTime()+288e5);an.set(ln,e,{expires:t})},ut=[];let ct=fn();function dt(){ct=!0,un("open"),ut.forEach(function(e){e.call(window,!0)})}function qe(){ct=!1,un("closed"),ut.forEach(function(e){e.call(window,!1)})}function cn(){ct?qe():dt()}function ri(){ht({type:"RESTART_CHAT"})}function ii(e){ht({type:"CHAT_MESSAGE_FROM_GUEST",text:e})}function si(e){ht({type:"TRIGGER_STORY",story:e})}function ht(e){document.getElementById("chat-frame")?.contentWindow?.postMessage(e,"*")}function dn(e,t){switch(e){case"ON_CHAT_WINDOW_STATE_CHANGE":ut.push(t);break;default:throw new Error("Unsupported event "+e)}}const oi=Object.freeze(Object.defineProperty({__proto__:null,closeChatWindow:qe,enterGuestMessage:ii,isChatbotLoaded:ti,openChatWindow:dt,restartChat:ri,subscribe:dn,toggleChatWindow:cn,triggerStory:si},Symbol.toStringTag,{value:"Module"}));function ai(){return navigator.userAgent.match(/(iPad|iPhone|iPod)/g)}const li=()=>{ai()&&document.querySelectorAll("html, body").forEach(e=>{e.classList.add("iOS-device")})},fi=e=>{"gtag"in window&&typeof window.gtag=="function"?window.gtag("event","",e):"dataLayer"in window&&Array.isArray(window.dataLayer)&&window.dataLayer.push(e)},ui=(e,t,n,r,i)=>{window.addEventListener("message",o=>{const s=o.data;switch(s.type){case"webclient.chat.started":e();break;case"webclient.chat.ended":t();break;case"webclient.window.expand":n(s.devices,s.initial);break;case"webclient.window.close":r();break;case"webclient.change.url":i(s.url);break;case"google.tag.event":fi(s.payload);break}},!1)},ci=e=>new Promise(t=>{const n=document.getElementById(e);n?(n.onload=()=>{t(!0)},n.onerror=()=>{console.error("Failed to load CSS file: custom.css"),t(!1)}):(console.error("No custom.css file found"),t(!1))});var di=xe('<link rel="stylesheet"/>'),hi=xe("<div><!> <!></div>");const vi={hash:"svelte-1n46o8q",code:".bubble-chat.svelte-1n46o8q {font-size:16px;visibility:hidden;opacity:0;}.bubble-chat.chatbot-ready.svelte-1n46o8q {visibility:visible;opacity:1;}"};function _i(e,t){Ae(t,!0),at(e,vi);let n=lt(t,"assetsUrl",19,()=>t.server?t.server.split("?")[0]:void 0),r=lt(t,"linkHandling",3,"default"),i=lt(t,"chatStarted",7,!1);const o="chatbot-style";let s=M(!1),a=M(!1);li();let l=M(ne(fn()));dn("ON_CHAT_WINDOW_STATE_CHANGE",function(A){F(l,A,!0)});function f(){i(!0)}function u(){i(!1)}function d(g,A){const se=window.innerWidth,_t=g==null||g==="all",pt=g==="desktop"&&se>=768,bi=g==="mobile"&&se<768,yi=_t||pt||bi;(A?T(l)!==!1:!0)&&yi&&dt()}function h(){qe()}function c(g){const A=window.innerWidth,se=window.location.hostname,_t=new URL(g).hostname,pt=se===_t;A<768&&qe(),r()==="new-tab"?window.open(g,"_blank"):r()==="existing-tab"||pt?document.location.href=g:window.open(g,"_blank")}function p(){F(a,!0)}ui(f,u,d,h,c),sn(async()=>{F(s,await ci(o),!0)});var m=hi();zr("1n46o8q",g=>{var A=di();ge(A,"id",o),Me(()=>ge(A,"href",`${n()}/custom.css`)),_e(g,A)});var x=nt(m);$r(x,{get assetsUrl(){return n()},get open(){return T(l)},get onToggle(){return cn}});var we=ur(x,2);Jr(we,{get server(){return t.server},get referrer(){return t.referrer},get open(){return T(l)},onLoad:p}),Me(()=>nn(m,1,`bubble-chat ${T(s)&&T(a)?"chatbot-ready":""}`,"svelte-1n46o8q")),_e(e,m),Re()}const pi=e=>e.replace(/\/embed\/bundle\.js/,""),gi=e=>e.dataset?.server,wi=e=>{if(e&&"src"in e&&typeof e.src=="string")return gi(e)||pi(e.src)},vt=document.querySelector("script#chatbot"),hn=wi(vt),mi=vt?.getAttribute("link-handling")?vt.getAttribute("link-handling"):"default";window.chatbot=oi;const vn=()=>{console.log("Chatbot is loading from",hn),Lr(_i,{target:document.body,props:{server:hn,referrer:window.location.href,linkHandling:mi}}),ei(!0)},_n=(e=0)=>{e>=3||document.readyState==="complete"?setTimeout(vn,500):setTimeout(()=>{_n(e+1)},500)};_n();const Be=document.getElementById("chatbot");Be&&"src"in Be&&typeof Be.src=="string"&&Be.src.indexOf("caller=bookmarklet")>0&&setTimeout(vn,500)})();
29
+ box-shadow 100ms;}.chat-button.svelte-1xi58vz:hover {box-shadow:16px 16px 16px rgba(0, 0, 0, 0.2);transform:translateY(-2px);}`};function Xr(e,t){Ae(t,!0),ot(e,Qr);function n(o){const s=o.key;(s==="ArrowDown"||s==="ArrowRight"||s==="Enter"||s===" "||s==="Space")&&(o.stopPropagation(),t.onToggle())}var r=Jr();r.__click=function(...o){t.onToggle?.apply(this,o)},r.__keydown=n;var i=tt(r);Fe(()=>{ge(r,"aria-expanded",t.open?"true":"false"),ge(i,"src",`${t.assetsUrl}/fab.svg`)}),_e(e,r),Re()}Rr(["click","keydown"]);let sn=!1;function $r(e){sn=e}function ei(){return sn}/*! js-cookie v3.0.5 | MIT */function qe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var ti={read:function(e){return e[0]==='"'&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function lt(e,t){function n(i,o,s){if(!(typeof document>"u")){s=qe({},t,s),typeof s.expires=="number"&&(s.expires=new Date(Date.now()+s.expires*864e5)),s.expires&&(s.expires=s.expires.toUTCString()),i=encodeURIComponent(i).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var a in s)s[a]&&(l+="; "+a,s[a]!==!0&&(l+="="+s[a].split(";")[0]));return document.cookie=i+"="+e.write(o,i)+l}}function r(i){if(!(typeof document>"u"||arguments.length&&!i)){for(var o=document.cookie?document.cookie.split("; "):[],s={},l=0;l<o.length;l++){var a=o[l].split("="),f=a.slice(1).join("=");try{var u=decodeURIComponent(a[0]);if(s[u]=e.read(f,u),i===u)break}catch{}}return i?s[i]:s}}return Object.create({set:n,get:r,remove:function(i,o){n(i,"",qe({},o,{expires:-1}))},withAttributes:function(i){return lt(this.converter,qe({},this.attributes,i))},withConverter:function(i){return lt(qe({},this.converter,i),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var on=lt(ti,{path:"/"});const an="bubble-chat-window-state",ln=()=>{switch(on.get(an)){case"open":return!0;case"closed":return!1;default:return}},fn=e=>{const t=new Date(new Date().getTime()+288e5);on.set(an,e,{expires:t})},ft=[];let ut=ln();function ct(){ut=!0,fn("open"),ft.forEach(function(e){e.call(window,!0)})}function Be(){ut=!1,fn("closed"),ft.forEach(function(e){e.call(window,!1)})}function un(){ut?Be():ct()}function ni(){dt({type:"RESTART_CHAT"})}function ri(e){dt({type:"CHAT_MESSAGE_FROM_GUEST",text:e})}function ii(e){dt({type:"TRIGGER_STORY",story:e})}function dt(e){document.getElementById("chat-frame")?.contentWindow?.postMessage(e,"*")}function cn(e,t){switch(e){case"ON_CHAT_WINDOW_STATE_CHANGE":ft.push(t);break;default:throw new Error("Unsupported event "+e)}}const si=Object.freeze(Object.defineProperty({__proto__:null,closeChatWindow:Be,enterGuestMessage:ri,isChatbotLoaded:ei,openChatWindow:ct,restartChat:ni,subscribe:cn,toggleChatWindow:un,triggerStory:ii},Symbol.toStringTag,{value:"Module"}));function oi(){return navigator.userAgent.match(/(iPad|iPhone|iPod)/g)}const ai=()=>{oi()&&document.querySelectorAll("html, body").forEach(e=>{e.classList.add("iOS-device")})},li=e=>{"gtag"in window&&typeof window.gtag=="function"?window.gtag("event","",e):"dataLayer"in window&&Array.isArray(window.dataLayer)&&window.dataLayer.push(e)},fi=(e,t,n,r,i)=>{window.addEventListener("message",o=>{const s=o.data;switch(s.type){case"webclient.chat.started":e();break;case"webclient.chat.ended":t();break;case"webclient.window.expand":n(s.devices,s.initial);break;case"webclient.window.close":r();break;case"webclient.change.url":i(s.url);break;case"google.tag.event":li(s.payload);break}},!1)},ui=e=>new Promise(t=>{const n=document.getElementById(e);n?(n.onload=()=>{t(!0)},n.onerror=()=>{console.error("Failed to load CSS file: custom.css"),t(!1)}):(console.error("No custom.css file found"),t(!1))});var ci=xe('<link rel="stylesheet"/>'),di=xe("<div><!> <!></div>");const hi={hash:"svelte-1n46o8q",code:".bubble-chat.svelte-1n46o8q {font-size:16px;visibility:hidden;opacity:0;}.bubble-chat.chatbot-ready.svelte-1n46o8q {visibility:visible;opacity:1;}"};function vi(e,t){Ae(t,!0),ot(e,hi);let n=at(t,"assetsUrl",19,()=>t.server?t.server.split("?")[0]:void 0),r=at(t,"linkHandling",3,"default"),i=at(t,"chatStarted",7,!1);const o="chatbot-style";let s=M(!1),l=M(!1);ai();let a=M(ne(ln()));cn("ON_CHAT_WINDOW_STATE_CHANGE",function(A){F(a,A,!0)});function f(){i(!0)}function u(){i(!1)}function d(g,A){const se=window.innerWidth,vt=g==null||g==="all",_t=g==="desktop"&&se>=768,mi=g==="mobile"&&se<768,bi=vt||_t||mi;(A?T(a)!==!1:!0)&&bi&&ct()}function h(){Be()}function c(g){const A=window.innerWidth,se=window.location.hostname,vt=new URL(g).hostname,_t=se===vt;A<768&&Be(),r()==="new-tab"?window.open(g,"_blank"):r()==="existing-tab"||_t?document.location.href=g:window.open(g,"_blank")}function p(){F(l,!0)}fi(f,u,d,h,c),rn(async()=>{F(s,await ui(o),!0)});var w=di();Ur("1n46o8q",g=>{var A=ci();ge(A,"id",o),Fe(()=>ge(A,"href",`${n()}/custom.css`)),_e(g,A)});var x=tt(w);Xr(x,{get assetsUrl(){return n()},get open(){return T(a)},get onToggle(){return un}});var we=fr(x,2);Zr(we,{get server(){return t.server},get referrer(){return t.referrer},get open(){return T(a)},onLoad:p}),Fe(()=>tn(w,1,`bubble-chat ${T(s)&&T(l)?"chatbot-ready":""}`,"svelte-1n46o8q")),_e(e,w),Re()}const _i=e=>e.replace(/\/embed\/bundle\.js/,""),pi=e=>e.dataset?.server,gi=e=>{if(e&&"src"in e&&typeof e.src=="string")return pi(e)||_i(e.src)},ht=document.querySelector("script#chatbot"),dn=gi(ht),wi=ht?.getAttribute("link-handling")?ht.getAttribute("link-handling"):"default";window.chatbot=si;const hn=()=>{console.log("Chatbot is loading from",dn),Pr(vi,{target:document.body,props:{server:dn,referrer:window.location.href,linkHandling:wi}}),$r(!0)},vn=(e=0)=>{e>=3||document.readyState==="complete"?setTimeout(hn,500):setTimeout(()=>{vn(e+1)},500)};vn();const We=document.getElementById("chatbot");We&&"src"in We&&typeof We.src=="string"&&We.src.indexOf("caller=bookmarklet")>0&&setTimeout(hn,500)})();