{"version":3,"file":"reflag-vue-sdk.mjs","sources":["../../browser-sdk/dist/reflag-browser-sdk.mjs","../src/version.ts","../src/hooks.ts","../src/ReflagBootstrappedProvider.vue","../src/ReflagClientProvider.vue","../src/ReflagProvider.vue","../src/index.ts"],"sourcesContent":["var Zr = Object.getOwnPropertyNames, Gr = Object.getOwnPropertySymbols, Qr = Object.prototype.hasOwnProperty;\nfunction vt(t, e) {\n  return function(n, i, o) {\n    return t(n, i, o) && e(n, i, o);\n  };\n}\nfunction Ee(t) {\n  return function(r, n, i) {\n    if (!r || !n || typeof r != \"object\" || typeof n != \"object\")\n      return t(r, n, i);\n    var o = i.cache, s = o.get(r), a = o.get(n);\n    if (s && a)\n      return s === n && a === r;\n    o.set(r, n), o.set(n, r);\n    var c = t(r, n, i);\n    return o.delete(r), o.delete(n), c;\n  };\n}\nfunction _t(t) {\n  return Zr(t).concat(Gr(t));\n}\nvar Yr = Object.hasOwn || (function(t, e) {\n  return Qr.call(t, e);\n});\nfunction le(t, e) {\n  return t === e || !t && !e && t !== t && e !== e;\n}\nvar Jr = \"__v\", Xr = \"__o\", en = \"_owner\", xt = Object.getOwnPropertyDescriptor, wt = Object.keys;\nfunction tn(t, e, r) {\n  var n = t.length;\n  if (e.length !== n)\n    return !1;\n  for (; n-- > 0; )\n    if (!r.equals(t[n], e[n], n, n, t, e, r))\n      return !1;\n  return !0;\n}\nfunction rn(t, e) {\n  return le(t.getTime(), e.getTime());\n}\nfunction nn(t, e) {\n  return t.name === e.name && t.message === e.message && t.cause === e.cause && t.stack === e.stack;\n}\nfunction on(t, e) {\n  return t === e;\n}\nfunction Ct(t, e, r) {\n  var n = t.size;\n  if (n !== e.size)\n    return !1;\n  if (!n)\n    return !0;\n  for (var i = new Array(n), o = t.entries(), s, a, c = 0; (s = o.next()) && !s.done; ) {\n    for (var l = e.entries(), f = !1, u = 0; (a = l.next()) && !a.done; ) {\n      if (i[u]) {\n        u++;\n        continue;\n      }\n      var m = s.value, d = a.value;\n      if (r.equals(m[0], d[0], c, u, t, e, r) && r.equals(m[1], d[1], m[0], d[0], t, e, r)) {\n        f = i[u] = !0;\n        break;\n      }\n      u++;\n    }\n    if (!f)\n      return !1;\n    c++;\n  }\n  return !0;\n}\nvar sn = le;\nfunction an(t, e, r) {\n  var n = wt(t), i = n.length;\n  if (wt(e).length !== i)\n    return !1;\n  for (; i-- > 0; )\n    if (!nr(t, e, r, n[i]))\n      return !1;\n  return !0;\n}\nfunction ve(t, e, r) {\n  var n = _t(t), i = n.length;\n  if (_t(e).length !== i)\n    return !1;\n  for (var o, s, a; i-- > 0; )\n    if (o = n[i], !nr(t, e, r, o) || (s = xt(t, o), a = xt(e, o), (s || a) && (!s || !a || s.configurable !== a.configurable || s.enumerable !== a.enumerable || s.writable !== a.writable)))\n      return !1;\n  return !0;\n}\nfunction ln(t, e) {\n  return le(t.valueOf(), e.valueOf());\n}\nfunction cn(t, e) {\n  return t.source === e.source && t.flags === e.flags;\n}\nfunction kt(t, e, r) {\n  var n = t.size;\n  if (n !== e.size)\n    return !1;\n  if (!n)\n    return !0;\n  for (var i = new Array(n), o = t.values(), s, a; (s = o.next()) && !s.done; ) {\n    for (var c = e.values(), l = !1, f = 0; (a = c.next()) && !a.done; ) {\n      if (!i[f] && r.equals(s.value, a.value, s.value, a.value, t, e, r)) {\n        l = i[f] = !0;\n        break;\n      }\n      f++;\n    }\n    if (!l)\n      return !1;\n  }\n  return !0;\n}\nfunction un(t, e) {\n  var r = t.length;\n  if (e.length !== r)\n    return !1;\n  for (; r-- > 0; )\n    if (t[r] !== e[r])\n      return !1;\n  return !0;\n}\nfunction fn(t, e) {\n  return t.hostname === e.hostname && t.pathname === e.pathname && t.protocol === e.protocol && t.port === e.port && t.hash === e.hash && t.username === e.username && t.password === e.password;\n}\nfunction nr(t, e, r, n) {\n  return (n === en || n === Xr || n === Jr) && (t.$$typeof || e.$$typeof) ? !0 : Yr(e, n) && r.equals(t[n], e[n], n, n, t, e, r);\n}\nvar dn = \"[object Arguments]\", hn = \"[object Boolean]\", gn = \"[object Date]\", pn = \"[object Error]\", mn = \"[object Map]\", bn = \"[object Number]\", yn = \"[object Object]\", vn = \"[object RegExp]\", _n = \"[object Set]\", xn = \"[object String]\", wn = \"[object URL]\", Cn = Array.isArray, St = typeof ArrayBuffer == \"function\" && ArrayBuffer.isView ? ArrayBuffer.isView : null, Et = Object.assign, kn = Object.prototype.toString.call.bind(Object.prototype.toString);\nfunction Sn(t) {\n  var e = t.areArraysEqual, r = t.areDatesEqual, n = t.areErrorsEqual, i = t.areFunctionsEqual, o = t.areMapsEqual, s = t.areNumbersEqual, a = t.areObjectsEqual, c = t.arePrimitiveWrappersEqual, l = t.areRegExpsEqual, f = t.areSetsEqual, u = t.areTypedArraysEqual, m = t.areUrlsEqual;\n  return function(g, b, p) {\n    if (g === b)\n      return !0;\n    if (g == null || b == null)\n      return !1;\n    var y = typeof g;\n    if (y !== typeof b)\n      return !1;\n    if (y !== \"object\")\n      return y === \"number\" ? s(g, b, p) : y === \"function\" ? i(g, b, p) : !1;\n    var v = g.constructor;\n    if (v !== b.constructor)\n      return !1;\n    if (v === Object)\n      return a(g, b, p);\n    if (Cn(g))\n      return e(g, b, p);\n    if (St != null && St(g))\n      return u(g, b, p);\n    if (v === Date)\n      return r(g, b, p);\n    if (v === RegExp)\n      return l(g, b, p);\n    if (v === Map)\n      return o(g, b, p);\n    if (v === Set)\n      return f(g, b, p);\n    var _ = kn(g);\n    return _ === gn ? r(g, b, p) : _ === vn ? l(g, b, p) : _ === mn ? o(g, b, p) : _ === _n ? f(g, b, p) : _ === yn ? typeof g.then != \"function\" && typeof b.then != \"function\" && a(g, b, p) : _ === wn ? m(g, b, p) : _ === pn ? n(g, b, p) : _ === dn ? a(g, b, p) : _ === hn || _ === bn || _ === xn ? c(g, b, p) : !1;\n  };\n}\nfunction En(t) {\n  var e = t.circular, r = t.createCustomConfig, n = t.strict, i = {\n    areArraysEqual: n ? ve : tn,\n    areDatesEqual: rn,\n    areErrorsEqual: nn,\n    areFunctionsEqual: on,\n    areMapsEqual: n ? vt(Ct, ve) : Ct,\n    areNumbersEqual: sn,\n    areObjectsEqual: n ? ve : an,\n    arePrimitiveWrappersEqual: ln,\n    areRegExpsEqual: cn,\n    areSetsEqual: n ? vt(kt, ve) : kt,\n    areTypedArraysEqual: n ? ve : un,\n    areUrlsEqual: fn\n  };\n  if (r && (i = Et({}, i, r(i))), e) {\n    var o = Ee(i.areArraysEqual), s = Ee(i.areMapsEqual), a = Ee(i.areObjectsEqual), c = Ee(i.areSetsEqual);\n    i = Et({}, i, {\n      areArraysEqual: o,\n      areMapsEqual: s,\n      areObjectsEqual: a,\n      areSetsEqual: c\n    });\n  }\n  return i;\n}\nfunction Fn(t) {\n  return function(e, r, n, i, o, s, a) {\n    return t(e, r, a);\n  };\n}\nfunction In(t) {\n  var e = t.circular, r = t.comparator, n = t.createState, i = t.equals, o = t.strict;\n  if (n)\n    return function(c, l) {\n      var f = n(), u = f.cache, m = u === void 0 ? e ? /* @__PURE__ */ new WeakMap() : void 0 : u, d = f.meta;\n      return r(c, l, {\n        cache: m,\n        equals: i,\n        meta: d,\n        strict: o\n      });\n    };\n  if (e)\n    return function(c, l) {\n      return r(c, l, {\n        cache: /* @__PURE__ */ new WeakMap(),\n        equals: i,\n        meta: void 0,\n        strict: o\n      });\n    };\n  var s = {\n    cache: void 0,\n    equals: i,\n    meta: void 0,\n    strict: o\n  };\n  return function(c, l) {\n    return r(c, l, s);\n  };\n}\nvar Q = ee();\nee({ strict: !0 });\nee({ circular: !0 });\nee({\n  circular: !0,\n  strict: !0\n});\nee({\n  createInternalComparator: function() {\n    return le;\n  }\n});\nee({\n  strict: !0,\n  createInternalComparator: function() {\n    return le;\n  }\n});\nee({\n  circular: !0,\n  createInternalComparator: function() {\n    return le;\n  }\n});\nee({\n  circular: !0,\n  createInternalComparator: function() {\n    return le;\n  },\n  strict: !0\n});\nfunction ee(t) {\n  t === void 0 && (t = {});\n  var e = t.circular, r = e === void 0 ? !1 : e, n = t.createInternalComparator, i = t.createState, o = t.strict, s = o === void 0 ? !1 : o, a = En(t), c = Sn(a), l = n ? n(c) : Fn(c);\n  return In({ circular: r, comparator: c, createState: i, equals: l, strict: s });\n}\nconst On = \"1.7.4\", ir = \"https://front.reflag.com\", Ln = \"https://app.reflag.com\", Qe = \"reflag-sdk-version\", or = `browser-sdk/${On}`, Rn = 1, sr = 720 * 60 * 60 * 1e3, An = 100, Tn = 2e3, fe = typeof window > \"u\" || typeof document > \"u\", Mn = 500;\nfunction Ft(t) {\n  return typeof t == \"object\" && t !== null;\n}\nfunction Pn(t) {\n  if (!Ft(t))\n    return {};\n  const e = typeof t.code == \"string\" ? t.code : void 0, r = typeof t.message == \"string\" ? t.message : void 0, n = t.error;\n  return Ft(n) ? {\n    code: typeof n.code == \"string\" ? n.code : e,\n    message: typeof n.message == \"string\" ? n.message : r\n  } : {\n    code: e,\n    message: r\n  };\n}\nasync function qn(t) {\n  try {\n    const e = await t.text();\n    if (!e)\n      return {};\n    let r, n;\n    try {\n      const i = JSON.parse(e), o = Pn(i);\n      r = o.code, n = o.message;\n    } catch {\n    }\n    return {\n      responseBody: e.slice(0, Mn),\n      apiErrorCode: r,\n      apiErrorMessage: n\n    };\n  } catch {\n    return {};\n  }\n}\nfunction Dn(t) {\n  return t.apiErrorCode && t.apiErrorMessage ? `${t.apiErrorCode}: ${t.apiErrorMessage}` : t.apiErrorMessage ?? t.apiErrorCode;\n}\nasync function ar(t) {\n  const e = await qn(t), r = Dn(e);\n  return { errorDetails: e, errorSummary: r };\n}\nasync function ie(t) {\n  const { logger: e, level: r = \"error\", res: n, message: i, extra: o } = t, { errorDetails: s, errorSummary: a } = await ar(n);\n  return e[r](a ? `${i}: ${a}` : i, {\n    status: n.status,\n    statusText: n.statusText,\n    ...s,\n    ...o\n  }), { errorDetails: s, errorSummary: a };\n}\nconst Un = 900 * 1e3;\nclass Vn {\n  constructor(e, r = {}) {\n    this.queue = [], this.timer = null, this.inFlightBatch = null, this.inFlightPromise = null, this.lastDropErrorAt = null, this.totalDroppedEvents = 0, this.droppedSinceLastError = 0, this.sendBulk = e, this.flushDelayMs = r.flushDelayMs ?? Tn, this.maxSize = r.maxSize ?? An, this.logger = r.logger;\n  }\n  async enqueue(e) {\n    this.queue.push(e), this.trimPendingQueueToCapacity();\n    const r = Math.max(0, this.maxSize - this.getInFlightBatchSize());\n    if (this.queue.length > 0 && this.queue.length >= r) {\n      this.flush();\n      return;\n    }\n    this.schedule(this.flushDelayMs);\n  }\n  async flush() {\n    if (this.inFlightPromise)\n      return await this.inFlightPromise, this.queue.length === 0 ? void 0 : this.flush();\n    if (this.queue.length === 0)\n      return;\n    this.timer && (clearTimeout(this.timer), this.timer = null);\n    const e = this.queue.splice(0, this.maxSize);\n    this.inFlightBatch = e;\n    const r = this.sendBatch(e);\n    this.inFlightPromise = r;\n    try {\n      await r;\n    } finally {\n      this.inFlightPromise === r && (this.inFlightPromise = null), this.inFlightBatch = null;\n    }\n    this.queue.length > 0 && !this.timer && this.schedule(this.flushDelayMs);\n  }\n  async size() {\n    return this.queue.length + this.getInFlightBatchSize();\n  }\n  schedule(e) {\n    if (!(this.timer || this.inFlightPromise || this.queue.length === 0)) {\n      if (e <= 0) {\n        this.flush();\n        return;\n      }\n      this.timer = setTimeout(() => {\n        this.timer = null, this.flush();\n      }, e);\n    }\n  }\n  async sendBatch(e) {\n    var n;\n    let r;\n    try {\n      r = await this.sendBulk(e);\n    } catch (i) {\n      (n = this.logger) == null || n.debug(\"bulk request failed; dropping batch\", {\n        error: i,\n        batchSize: e.length\n      });\n      return;\n    }\n    if (!r.ok) {\n      this.logger && await ie({\n        logger: this.logger,\n        res: r,\n        message: \"bulk request failed; dropping batch\"\n      });\n      return;\n    }\n  }\n  getInFlightBatchSize() {\n    var e;\n    return ((e = this.inFlightBatch) == null ? void 0 : e.length) ?? 0;\n  }\n  trimPendingQueueToCapacity() {\n    var i;\n    const e = Math.max(0, this.maxSize - this.getInFlightBatchSize());\n    if (this.queue.length <= e)\n      return;\n    const r = this.queue.length - e;\n    this.queue = e === 0 ? [] : this.queue.slice(-e), this.totalDroppedEvents += r, this.droppedSinceLastError += r;\n    const n = Date.now();\n    (!this.lastDropErrorAt || n - this.lastDropErrorAt >= Un) && ((i = this.logger) == null || i.debug(\"bulk queue dropped events due to max size\", {\n      droppedEvents: this.droppedSinceLastError,\n      totalDroppedEvents: this.totalDroppedEvents,\n      queueSize: this.queue.length + this.getInFlightBatchSize(),\n      maxSize: this.maxSize\n    }), this.lastDropErrorAt = n, this.droppedSinceLastError = 0);\n  }\n}\nfunction zn(t) {\n  let e;\n  try {\n    e = JSON.stringify(t, (r, n) => typeof n == \"bigint\" ? String(n) : n === null || typeof n != \"object\" || Array.isArray(n) ? n : Object.fromEntries(\n      Object.entries(n).sort(\n        ([i], [o]) => i < o ? -1 : i > o ? 1 : 0\n      )\n    ));\n  } catch {\n    throw new Error(\"value must be JSON serializable\");\n  }\n  if (e === void 0)\n    throw new Error(\"value must be JSON serializable\");\n  return e;\n}\nfunction Bn(t) {\n  const e = Object.getPrototypeOf(t);\n  return (e === Object.prototype || e === null) && typeof t.toJSON != \"function\";\n}\nfunction lr(t, e) {\n  if (e.has(t))\n    throw new Error(\"value must be JSON serializable\");\n  e.add(t);\n  const r = Object.entries(t).flatMap(([n, i]) => {\n    if (i === void 0) return [];\n    if (i !== null && typeof i == \"object\" && !Array.isArray(i) && Bn(i)) {\n      const o = Object.keys(i), s = lr(i, e);\n      return o.length > 0 && Object.keys(s).length === 0 ? [] : [[n, s]];\n    }\n    return [[n, i]];\n  });\n  return e.delete(t), Object.fromEntries(r);\n}\nfunction cr(t) {\n  if (!t) return;\n  const e = Object.fromEntries(\n    Object.entries(lr(t, /* @__PURE__ */ new WeakSet())).filter(\n      ([, r]) => !r || typeof r != \"object\" || Array.isArray(r) || Object.keys(r).length > 0\n    )\n  );\n  return Object.keys(e).length ? zn(e) : void 0;\n}\nconst Nn = {\n  debug(t) {\n  },\n  info(t) {\n  },\n  warn(t, ...e) {\n    console.warn(t, ...e);\n  },\n  error(t, ...e) {\n    console.error(t, ...e);\n  }\n};\nfunction at(t, e) {\n  return {\n    debug(r, ...n) {\n      t.debug(`${e} ${r}`, ...n);\n    },\n    info(r, ...n) {\n      t.info(`${e} ${r}`, ...n);\n    },\n    warn(r, ...n) {\n      t.warn(`${e} ${r}`, ...n);\n    },\n    error(r, ...n) {\n      t.error(`${e} ${r}`, ...n);\n    }\n  };\n}\nclass $n {\n  constructor(e, r, n, i, o, s, a, c = \"sse\", l, f) {\n    this.channels = e, this.sseBaseUrl = r, this.messageHandler = n, this.eventSourceFactory = o, this.publishableKey = s, this.sdkVersion = a, this.path = c, this.context = l, this.credentials = f, this.isOpen = !1, this.eventSource = null, this.retryInterval = null, this.logger = at(i, \"[SSE]\"), this.sseBaseUrl.endsWith(\"/\") || (this.sseBaseUrl += \"/\");\n  }\n  onMessage(e) {\n    let r;\n    try {\n      if (e.data) {\n        const n = JSON.parse(e.data);\n        if (n && typeof n == \"object\") {\n          const i = { ...n };\n          if (typeof i.data == \"string\")\n            try {\n              i.data = JSON.parse(i.data);\n            } catch {\n            }\n          r = i;\n        }\n      }\n    } catch (n) {\n      this.logger.warn(\"received unparsable message\", n, e);\n      return;\n    }\n    if (r) {\n      this.logger.debug(\"received message\", r);\n      try {\n        this.messageHandler(r);\n      } catch (n) {\n        this.logger.warn(\"failed to handle message\", n, r);\n      }\n      return;\n    }\n    this.logger.warn(\"received invalid message\", e);\n  }\n  onOpen(e) {\n    this.logger.debug(\"event source connection opened\", e);\n  }\n  onError(e) {\n    var n;\n    const r = (n = e == null ? void 0 : e.target) == null ? void 0 : n.readyState;\n    r === 2 ? this.logger.debug(\"event source connection closed\", e) : r === 1 ? this.logger.warn(\"event source connection failed to open\", e) : this.logger.warn(\"event source unexpected error occurred\", e), this.disconnect();\n  }\n  createEventSource(e) {\n    if (this.eventSourceFactory)\n      return this.eventSourceFactory(e);\n    if (typeof EventSource > \"u\") {\n      this.logger.warn(\n        \"EventSource is not available in this environment; SSE channel cannot be opened\"\n      );\n      return;\n    }\n    return this.credentials === \"include\" ? new EventSource(e, { withCredentials: !0 }) : new EventSource(e);\n  }\n  async connect() {\n    if (this.isOpen) {\n      this.logger.warn(\"channel connection already open\");\n      return;\n    }\n    this.isOpen = !0;\n    try {\n      const e = new URL(this.path, this.sseBaseUrl);\n      this.channels.length > 0 && (e.searchParams.append(\"v\", \"1.2\"), e.searchParams.append(\"channels\", this.channels.join(\",\")), e.searchParams.append(\"rewind\", \"1\")), this.publishableKey && e.searchParams.append(\"publishableKey\", this.publishableKey), this.sdkVersion && e.searchParams.append(Qe, this.sdkVersion);\n      const r = cr(this.context);\n      if (r && e.searchParams.append(\"contextJson\", r), this.eventSource = this.createEventSource(e.toString()) ?? null, !this.eventSource)\n        return;\n      this.eventSource.addEventListener(\"error\", (n) => this.onError(n)), this.eventSource.addEventListener(\"open\", (n) => this.onOpen(n)), this.eventSource.addEventListener(\"message\", (n) => this.onMessage(n)), this.logger.debug(\"channel connection opened\");\n    } finally {\n      this.isOpen = !!this.eventSource;\n    }\n  }\n  disconnect() {\n    this.isOpen && (this.eventSource && (this.eventSource.close(), this.eventSource = null, this.logger.debug(\"channel connection closed\")), this.isOpen = !1);\n  }\n  open(e) {\n    if (!this.eventSourceFactory && typeof EventSource > \"u\") {\n      this.logger.warn(\n        \"EventSource is not available in this environment; SSE channel cannot be opened\"\n      );\n      return;\n    }\n    const r = (e == null ? void 0 : e.retryInterval) ?? 1e3 * 30, n = (e == null ? void 0 : e.retryCount) ?? 3;\n    let i = n;\n    const o = async () => {\n      try {\n        await this.connect(), i = n;\n      } catch (s) {\n        i > 0 ? this.logger.warn(\n          `failed to connect, ${i} retries remaining`,\n          s\n        ) : this.logger.warn(\"failed to connect, no retries remaining\", s);\n      }\n    };\n    o(), this.retryInterval = setInterval(() => {\n      if (!this.isConnected() && this.retryInterval) {\n        if (i <= 0) {\n          clearInterval(this.retryInterval), this.retryInterval = null;\n          return;\n        }\n        i--, o();\n      }\n    }, r);\n  }\n  close() {\n    this.retryInterval && (clearInterval(this.retryInterval), this.retryInterval = null), this.disconnect();\n  }\n  isActive() {\n    return !!this.retryInterval;\n  }\n  isConnected() {\n    return this.isOpen && !!this.eventSource;\n  }\n}\nfunction ur({\n  channel: t,\n  channels: e,\n  callback: r,\n  sseBaseUrl: n,\n  logger: i,\n  eventSourceFactory: o,\n  publishableKey: s,\n  sdkVersion: a,\n  path: c,\n  context: l,\n  credentials: f\n}) {\n  const u = e ?? (t ? [t] : []), m = new $n(\n    u,\n    n,\n    r,\n    i,\n    o,\n    s,\n    a,\n    c,\n    l,\n    f\n  );\n  return m.open(), m;\n}\nfunction jn(t) {\n  return t <= 0 ? Promise.resolve() : new Promise((e) => {\n    setTimeout(e, t);\n  });\n}\nasync function fr(t, e) {\n  let r;\n  for (let n = 0; n <= t.length; n += 1)\n    try {\n      return await e();\n    } catch (i) {\n      if (r = i, n === t.length)\n        throw i;\n      await jn(t[n] ?? 0);\n    }\n  throw r;\n}\n/*! js-cookie v3.0.7 | MIT */\nfunction Fe(t) {\n  for (var e = 1; e < arguments.length; e++) {\n    var r = arguments[e];\n    for (var n in r)\n      n !== \"__proto__\" && (t[n] = r[n]);\n  }\n  return t;\n}\nvar Hn = {\n  read: function(t) {\n    return t[0] === '\"' && (t = t.slice(1, -1)), t.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\n  },\n  write: function(t) {\n    return encodeURIComponent(t).replace(\n      /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n      decodeURIComponent\n    );\n  }\n};\nfunction Ye(t, e) {\n  function r(i, o, s) {\n    if (!(typeof document > \"u\")) {\n      s = Fe({}, e, 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);\n      var a = \"\";\n      for (var c in s)\n        s[c] && (a += \"; \" + c, s[c] !== !0 && (a += \"=\" + s[c].split(\";\")[0]));\n      return document.cookie = i + \"=\" + t.write(o, i) + a;\n    }\n  }\n  function n(i) {\n    if (!(typeof document > \"u\" || arguments.length && !i)) {\n      for (var o = document.cookie ? document.cookie.split(\"; \") : [], s = {}, a = 0; a < o.length; a++) {\n        var c = o[a].split(\"=\"), l = c.slice(1).join(\"=\");\n        try {\n          var f = decodeURIComponent(c[0]);\n          if (f in s || (s[f] = t.read(l, f)), i === f)\n            break;\n        } catch {\n        }\n      }\n      return i ? s[i] : s;\n    }\n  }\n  return Object.create(\n    {\n      set: r,\n      get: n,\n      remove: function(i, o) {\n        r(\n          i,\n          \"\",\n          Fe({}, o, {\n            expires: -1\n          })\n        );\n      },\n      withAttributes: function(i) {\n        return Ye(this.converter, Fe({}, this.attributes, i));\n      },\n      withConverter: function(i) {\n        return Ye(Fe({}, this.converter, i), this.attributes);\n      }\n    },\n    {\n      attributes: { value: Object.freeze(e) },\n      converter: { value: Object.freeze(t) }\n    }\n  );\n}\nvar Je = Ye(Hn, { path: \"/\" });\nconst Kn = (t, e, r) => {\n  Je.set(`reflag-prompt-${t}`, e, {\n    expires: r,\n    sameSite: \"strict\",\n    secure: !0\n  });\n}, Wn = (t, e) => (Je.get(`reflag-prompt-${t}`) || Je.get(`bucket-prompt-${t}`)) === e, Zn = (t) => {\n  if (!(typeof (t == null ? void 0 : t.question) != \"string\" || !t.question.length || typeof t.showAfter != \"number\" || typeof t.showBefore != \"number\" || typeof t.promptId != \"string\" || !t.promptId.length || typeof t.featureId != \"string\" || !t.featureId.length))\n    return {\n      question: t.question,\n      showAfter: new Date(t.showAfter),\n      showBefore: new Date(t.showBefore),\n      promptId: t.promptId,\n      featureId: t.featureId\n    };\n}, Gn = (t, e, r) => {\n  const n = /* @__PURE__ */ new Date(), i = () => {\n    Kn(t, e.promptId, e.showBefore);\n  };\n  return Wn(t, e.promptId) || n > e.showBefore ? !1 : n < e.showAfter ? (setTimeout(() => {\n    r(t, e, i);\n  }, e.showAfter.getTime() - n.getTime()), !0) : (r(t, e, i), !0);\n};\nvar Be, I, dr, te, It, hr, Xe, lt, et, tt, _e = {}, gr = [], Qn = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, ct = Array.isArray;\nfunction Y(t, e) {\n  for (var r in e) t[r] = e[r];\n  return t;\n}\nfunction pr(t) {\n  var e = t.parentNode;\n  e && e.removeChild(t);\n}\nfunction h(t, e, r) {\n  var n, i, o, s = {};\n  for (o in e) o == \"key\" ? n = e[o] : o == \"ref\" ? i = e[o] : s[o] = e[o];\n  if (arguments.length > 2 && (s.children = arguments.length > 3 ? Be.call(arguments, 2) : r), typeof t == \"function\" && t.defaultProps != null) for (o in t.defaultProps) s[o] === void 0 && (s[o] = t.defaultProps[o]);\n  return Ae(t, s, n, i, null);\n}\nfunction Ae(t, e, r, n, i) {\n  var o = { type: t, props: e, key: r, ref: n, __k: null, __: null, __b: 0, __e: null, __d: void 0, __c: null, constructor: void 0, __v: i ?? ++dr, __i: -1, __u: 0 };\n  return i == null && I.vnode != null && I.vnode(o), o;\n}\nfunction B(t) {\n  return t.children;\n}\nfunction Te(t, e) {\n  this.props = t, this.context = e;\n}\nfunction oe(t, e) {\n  if (e == null) return t.__ ? oe(t.__, t.__i + 1) : null;\n  for (var r; e < t.__k.length; e++) if ((r = t.__k[e]) != null && r.__e != null) return r.__e;\n  return typeof t.type == \"function\" ? oe(t) : null;\n}\nfunction mr(t) {\n  var e, r;\n  if ((t = t.__) != null && t.__c != null) {\n    for (t.__e = t.__c.base = null, e = 0; e < t.__k.length; e++) if ((r = t.__k[e]) != null && r.__e != null) {\n      t.__e = t.__c.base = r.__e;\n      break;\n    }\n    return mr(t);\n  }\n}\nfunction Ot(t) {\n  (!t.__d && (t.__d = !0) && te.push(t) && !qe.__r++ || It !== I.debounceRendering) && ((It = I.debounceRendering) || hr)(qe);\n}\nfunction qe() {\n  var t, e, r, n, i, o, s, a;\n  for (te.sort(Xe); t = te.shift(); ) t.__d && (e = te.length, n = void 0, o = (i = (r = t).__v).__e, s = [], a = [], r.__P && ((n = Y({}, i)).__v = i.__v + 1, I.vnode && I.vnode(n), ut(r.__P, n, i, r.__n, r.__P.namespaceURI, 32 & i.__u ? [o] : null, s, o ?? oe(i), !!(32 & i.__u), a), n.__v = i.__v, n.__.__k[n.__i] = n, vr(s, n, a), n.__e != o && mr(n)), te.length > e && te.sort(Xe));\n  qe.__r = 0;\n}\nfunction br(t, e, r, n, i, o, s, a, c, l, f) {\n  var u, m, d, g, b, p = n && n.__k || gr, y = e.length;\n  for (r.__d = c, Yn(r, e, p), c = r.__d, u = 0; u < y; u++) (d = r.__k[u]) != null && typeof d != \"boolean\" && typeof d != \"function\" && (m = d.__i === -1 ? _e : p[d.__i] || _e, d.__i = u, ut(t, d, m, i, o, s, a, c, l, f), g = d.__e, d.ref && m.ref != d.ref && (m.ref && ft(m.ref, null, d), f.push(d.ref, d.__c || g, d)), b == null && g != null && (b = g), 65536 & d.__u || m.__k === d.__k ? (c && typeof d.type == \"string\" && !t.contains(c) && (c = oe(m)), c = yr(d, c, t)) : typeof d.type == \"function\" && d.__d !== void 0 ? c = d.__d : g && (c = g.nextSibling), d.__d = void 0, d.__u &= -196609);\n  r.__d = c, r.__e = b;\n}\nfunction Yn(t, e, r) {\n  var n, i, o, s, a, c = e.length, l = r.length, f = l, u = 0;\n  for (t.__k = [], n = 0; n < c; n++) s = n + u, (i = t.__k[n] = (i = e[n]) == null || typeof i == \"boolean\" || typeof i == \"function\" ? null : typeof i == \"string\" || typeof i == \"number\" || typeof i == \"bigint\" || i.constructor == String ? Ae(null, i, null, null, null) : ct(i) ? Ae(B, { children: i }, null, null, null) : i.constructor === void 0 && i.__b > 0 ? Ae(i.type, i.props, i.key, i.ref ? i.ref : null, i.__v) : i) != null ? (i.__ = t, i.__b = t.__b + 1, a = Jn(i, r, s, f), i.__i = a, o = null, a !== -1 && (f--, (o = r[a]) && (o.__u |= 131072)), o == null || o.__v === null ? (a == -1 && u--, typeof i.type != \"function\" && (i.__u |= 65536)) : a !== s && (a == s - 1 ? u = a - s : a == s + 1 ? u++ : a > s ? f > c - s ? u += a - s : u-- : a < s && u++, a !== n + u && (i.__u |= 65536))) : (o = r[s]) && o.key == null && o.__e && (131072 & o.__u) == 0 && (o.__e == t.__d && (t.__d = oe(o)), rt(o, o, !1), r[s] = null, f--);\n  if (f) for (n = 0; n < l; n++) (o = r[n]) != null && (131072 & o.__u) == 0 && (o.__e == t.__d && (t.__d = oe(o)), rt(o, o));\n}\nfunction yr(t, e, r) {\n  var n, i;\n  if (typeof t.type == \"function\") {\n    for (n = t.__k, i = 0; n && i < n.length; i++) n[i] && (n[i].__ = t, e = yr(n[i], e, r));\n    return e;\n  }\n  t.__e != e && (r.insertBefore(t.__e, e || null), e = t.__e);\n  do\n    e = e && e.nextSibling;\n  while (e != null && e.nodeType === 8);\n  return e;\n}\nfunction Jn(t, e, r, n) {\n  var i = t.key, o = t.type, s = r - 1, a = r + 1, c = e[r];\n  if (c === null || c && i == c.key && o === c.type && (131072 & c.__u) == 0) return r;\n  if (n > (c != null && (131072 & c.__u) == 0 ? 1 : 0)) for (; s >= 0 || a < e.length; ) {\n    if (s >= 0) {\n      if ((c = e[s]) && (131072 & c.__u) == 0 && i == c.key && o === c.type) return s;\n      s--;\n    }\n    if (a < e.length) {\n      if ((c = e[a]) && (131072 & c.__u) == 0 && i == c.key && o === c.type) return a;\n      a++;\n    }\n  }\n  return -1;\n}\nfunction Lt(t, e, r) {\n  e[0] === \"-\" ? t.setProperty(e, r ?? \"\") : t[e] = r == null ? \"\" : typeof r != \"number\" || Qn.test(e) ? r : r + \"px\";\n}\nfunction Ie(t, e, r, n, i) {\n  var o;\n  e: if (e === \"style\") if (typeof r == \"string\") t.style.cssText = r;\n  else {\n    if (typeof n == \"string\" && (t.style.cssText = n = \"\"), n) for (e in n) r && e in r || Lt(t.style, e, \"\");\n    if (r) for (e in r) n && r[e] === n[e] || Lt(t.style, e, r[e]);\n  }\n  else if (e[0] === \"o\" && e[1] === \"n\") o = e !== (e = e.replace(/(PointerCapture)$|Capture$/i, \"$1\")), e = e.toLowerCase() in t || e === \"onFocusOut\" || e === \"onFocusIn\" ? e.toLowerCase().slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + o] = r, r ? n ? r.u = n.u : (r.u = lt, t.addEventListener(e, o ? tt : et, o)) : t.removeEventListener(e, o ? tt : et, o);\n  else {\n    if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n    else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n      t[e] = r ?? \"\";\n      break e;\n    } catch {\n    }\n    typeof r == \"function\" || (r == null || r === !1 && e[4] !== \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && r == 1 ? \"\" : r));\n  }\n}\nfunction Rt(t) {\n  return function(e) {\n    if (this.l) {\n      var r = this.l[e.type + t];\n      if (e.t == null) e.t = lt++;\n      else if (e.t < r.u) return;\n      return r(I.event ? I.event(e) : e);\n    }\n  };\n}\nfunction ut(t, e, r, n, i, o, s, a, c, l) {\n  var f, u, m, d, g, b, p, y, v, _, x, w, k, C, O, T, S = e.type;\n  if (e.constructor !== void 0) return null;\n  128 & r.__u && (c = !!(32 & r.__u), o = [a = e.__e = r.__e]), (f = I.__b) && f(e);\n  e: if (typeof S == \"function\") try {\n    if (y = e.props, v = \"prototype\" in S && S.prototype.render, _ = (f = S.contextType) && n[f.__c], x = f ? _ ? _.props.value : f.__ : n, r.__c ? p = (u = e.__c = r.__c).__ = u.__E : (v ? e.__c = u = new S(y, x) : (e.__c = u = new Te(y, x), u.constructor = S, u.render = ei), _ && _.sub(u), u.props = y, u.state || (u.state = {}), u.context = x, u.__n = n, m = u.__d = !0, u.__h = [], u._sb = []), v && u.__s == null && (u.__s = u.state), v && S.getDerivedStateFromProps != null && (u.__s == u.state && (u.__s = Y({}, u.__s)), Y(u.__s, S.getDerivedStateFromProps(y, u.__s))), d = u.props, g = u.state, u.__v = e, m) v && S.getDerivedStateFromProps == null && u.componentWillMount != null && u.componentWillMount(), v && u.componentDidMount != null && u.__h.push(u.componentDidMount);\n    else {\n      if (v && S.getDerivedStateFromProps == null && y !== d && u.componentWillReceiveProps != null && u.componentWillReceiveProps(y, x), !u.__e && (u.shouldComponentUpdate != null && u.shouldComponentUpdate(y, u.__s, x) === !1 || e.__v === r.__v)) {\n        for (e.__v !== r.__v && (u.props = y, u.state = u.__s, u.__d = !1), e.__e = r.__e, e.__k = r.__k, e.__k.forEach(function(M) {\n          M && (M.__ = e);\n        }), w = 0; w < u._sb.length; w++) u.__h.push(u._sb[w]);\n        u._sb = [], u.__h.length && s.push(u);\n        break e;\n      }\n      u.componentWillUpdate != null && u.componentWillUpdate(y, u.__s, x), v && u.componentDidUpdate != null && u.__h.push(function() {\n        u.componentDidUpdate(d, g, b);\n      });\n    }\n    if (u.context = x, u.props = y, u.__P = t, u.__e = !1, k = I.__r, C = 0, v) {\n      for (u.state = u.__s, u.__d = !1, k && k(e), f = u.render(u.props, u.state, u.context), O = 0; O < u._sb.length; O++) u.__h.push(u._sb[O]);\n      u._sb = [];\n    } else do\n      u.__d = !1, k && k(e), f = u.render(u.props, u.state, u.context), u.state = u.__s;\n    while (u.__d && ++C < 25);\n    u.state = u.__s, u.getChildContext != null && (n = Y(Y({}, n), u.getChildContext())), v && !m && u.getSnapshotBeforeUpdate != null && (b = u.getSnapshotBeforeUpdate(d, g)), br(t, ct(T = f != null && f.type === B && f.key == null ? f.props.children : f) ? T : [T], e, r, n, i, o, s, a, c, l), u.base = e.__e, e.__u &= -161, u.__h.length && s.push(u), p && (u.__E = u.__ = null);\n  } catch (M) {\n    e.__v = null, c || o != null ? (e.__e = a, e.__u |= c ? 160 : 32, o[o.indexOf(a)] = null) : (e.__e = r.__e, e.__k = r.__k), I.__e(M, e, r);\n  }\n  else o == null && e.__v === r.__v ? (e.__k = r.__k, e.__e = r.__e) : e.__e = Xn(r.__e, e, r, n, i, o, s, c, l);\n  (f = I.diffed) && f(e);\n}\nfunction vr(t, e, r) {\n  e.__d = void 0;\n  for (var n = 0; n < r.length; n++) ft(r[n], r[++n], r[++n]);\n  I.__c && I.__c(e, t), t.some(function(i) {\n    try {\n      t = i.__h, i.__h = [], t.some(function(o) {\n        o.call(i);\n      });\n    } catch (o) {\n      I.__e(o, i.__v);\n    }\n  });\n}\nfunction Xn(t, e, r, n, i, o, s, a, c) {\n  var l, f, u, m, d, g, b, p = r.props, y = e.props, v = e.type;\n  if (v === \"svg\" ? i = \"http://www.w3.org/2000/svg\" : v === \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), o != null) {\n    for (l = 0; l < o.length; l++) if ((d = o[l]) && \"setAttribute\" in d == !!v && (v ? d.localName === v : d.nodeType === 3)) {\n      t = d, o[l] = null;\n      break;\n    }\n  }\n  if (t == null) {\n    if (v === null) return document.createTextNode(y);\n    t = document.createElementNS(i, v, y.is && y), o = null, a = !1;\n  }\n  if (v === null) p === y || a && t.data === y || (t.data = y);\n  else {\n    if (o = o && Be.call(t.childNodes), p = r.props || _e, !a && o != null) for (p = {}, l = 0; l < t.attributes.length; l++) p[(d = t.attributes[l]).name] = d.value;\n    for (l in p) if (d = p[l], l != \"children\") {\n      if (l == \"dangerouslySetInnerHTML\") u = d;\n      else if (l !== \"key\" && !(l in y)) {\n        if (l == \"value\" && \"defaultValue\" in y || l == \"checked\" && \"defaultChecked\" in y) continue;\n        Ie(t, l, null, d, i);\n      }\n    }\n    for (l in y) d = y[l], l == \"children\" ? m = d : l == \"dangerouslySetInnerHTML\" ? f = d : l == \"value\" ? g = d : l == \"checked\" ? b = d : l === \"key\" || a && typeof d != \"function\" || p[l] === d || Ie(t, l, d, p[l], i);\n    if (f) a || u && (f.__html === u.__html || f.__html === t.innerHTML) || (t.innerHTML = f.__html), e.__k = [];\n    else if (u && (t.innerHTML = \"\"), br(t, ct(m) ? m : [m], e, r, n, v === \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, o, s, o ? o[0] : r.__k && oe(r, 0), a, c), o != null) for (l = o.length; l--; ) o[l] != null && pr(o[l]);\n    a || (l = \"value\", g !== void 0 && (g !== t[l] || v === \"progress\" && !g || v === \"option\" && g !== p[l]) && Ie(t, l, g, p[l], i), l = \"checked\", b !== void 0 && b !== t[l] && Ie(t, l, b, p[l], i));\n  }\n  return t;\n}\nfunction ft(t, e, r) {\n  try {\n    typeof t == \"function\" ? t(e) : t.current = e;\n  } catch (n) {\n    I.__e(n, r);\n  }\n}\nfunction rt(t, e, r) {\n  var n, i;\n  if (I.unmount && I.unmount(t), (n = t.ref) && (n.current && n.current !== t.__e || ft(n, null, e)), (n = t.__c) != null) {\n    if (n.componentWillUnmount) try {\n      n.componentWillUnmount();\n    } catch (o) {\n      I.__e(o, e);\n    }\n    n.base = n.__P = null;\n  }\n  if (n = t.__k) for (i = 0; i < n.length; i++) n[i] && rt(n[i], e, r || typeof t.type != \"function\");\n  r || t.__e == null || pr(t.__e), t.__c = t.__ = t.__e = t.__d = void 0;\n}\nfunction ei(t, e, r) {\n  return this.constructor(t, r);\n}\nfunction _r(t, e, r) {\n  var n, i, o, s;\n  I.__ && I.__(t, e), i = (n = !1) ? null : e.__k, o = [], s = [], ut(e, t = e.__k = h(B, null, [t]), i || _e, _e, e.namespaceURI, i ? null : e.firstChild ? Be.call(e.childNodes) : null, o, i ? i.__e : e.firstChild, n, s), vr(o, t, s);\n}\nBe = gr.slice, I = { __e: function(t, e, r, n) {\n  for (var i, o, s; e = e.__; ) if ((i = e.__c) && !i.__) try {\n    if ((o = i.constructor) && o.getDerivedStateFromError != null && (i.setState(o.getDerivedStateFromError(t)), s = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, n || {}), s = i.__d), s) return i.__E = i;\n  } catch (a) {\n    t = a;\n  }\n  throw t;\n} }, dr = 0, Te.prototype.setState = function(t, e) {\n  var r;\n  r = this.__s != null && this.__s !== this.state ? this.__s : this.__s = Y({}, this.state), typeof t == \"function\" && (t = t(Y({}, r), this.props)), t && Y(r, t), t != null && this.__v && (e && this._sb.push(e), Ot(this));\n}, Te.prototype.forceUpdate = function(t) {\n  this.__v && (this.__e = !0, t && this.__h.push(t), Ot(this));\n}, Te.prototype.render = B, te = [], hr = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, Xe = function(t, e) {\n  return t.__v.__b - e.__v.__b;\n}, qe.__r = 0, lt = 0, et = Rt(!1), tt = Rt(!0);\nconst nt = \"reflag-feedback-dialog-container\", xr = \"reflag-toolbar-dialog-container\", wr = [\n  \"animationcancel\",\n  \"animationend\",\n  \"animationiteration\",\n  \"animationstart\",\n  \"afterscriptexecute\",\n  \"auxclick\",\n  \"beforescriptexecute\",\n  \"blur\",\n  \"click\",\n  \"compositionend\",\n  \"compositionstart\",\n  \"compositionupdate\",\n  \"contextmenu\",\n  \"copy\",\n  \"cut\",\n  \"dblclick\",\n  \"DOMActivate\",\n  \"DOMMouseScroll\",\n  \"error\",\n  \"focusin\",\n  \"focusout\",\n  \"focus\",\n  \"fullscreenchange\",\n  \"fullscreenerror\",\n  \"gesturechange\",\n  \"gestureend\",\n  \"gesturestart\",\n  \"gotpointercapture\",\n  \"keydown\",\n  \"keypress\",\n  \"keyup\",\n  \"lostpointercapture\",\n  \"mousedown\",\n  \"mouseenter\",\n  \"mouseleave\",\n  \"mousemove\",\n  \"mouseout\",\n  \"mouseover\",\n  \"mouseup\",\n  \"mousewheel\",\n  \"paste\",\n  \"pointercancel\",\n  \"pointerdown\",\n  \"pointerenter\",\n  \"pointerleave\",\n  \"pointermove\",\n  \"pointerout\",\n  \"pointerover\",\n  \"pointerup\",\n  \"scroll\",\n  \"select\",\n  \"touchcancel\",\n  \"touchend\",\n  \"touchmove\",\n  \"touchstart\",\n  \"transitioncancel\",\n  \"transitionend\",\n  \"transitionrun\",\n  \"transitionstart\",\n  \"wheel\"\n];\nvar he, L, Ke, At, xe = 0, Cr = [], R = I, Tt = R.__b, Mt = R.__r, Pt = R.diffed, qt = R.__c, Dt = R.unmount, Ut = R.__;\nfunction Ne(t, e) {\n  R.__h && R.__h(L, t, xe || e), xe = 0;\n  var r = L.__H || (L.__H = { __: [], __h: [] });\n  return t >= r.__.length && r.__.push({}), r.__[t];\n}\nfunction A(t) {\n  return xe = 1, ti(kr, t);\n}\nfunction ti(t, e, r) {\n  var n = Ne(he++, 2);\n  if (n.t = t, !n.__c && (n.__ = [kr(void 0, e), function(a) {\n    var c = n.__N ? n.__N[0] : n.__[0], l = n.t(c, a);\n    c !== l && (n.__N = [l, n.__[1]], n.__c.setState({}));\n  }], n.__c = L, !L.u)) {\n    var i = function(a, c, l) {\n      if (!n.__c.__H) return !0;\n      var f = n.__c.__H.__.filter(function(m) {\n        return !!m.__c;\n      });\n      if (f.every(function(m) {\n        return !m.__N;\n      })) return !o || o.call(this, a, c, l);\n      var u = !1;\n      return f.forEach(function(m) {\n        if (m.__N) {\n          var d = m.__[0];\n          m.__ = m.__N, m.__N = void 0, d !== m.__[0] && (u = !0);\n        }\n      }), !(!u && n.__c.props === a) && (!o || o.call(this, a, c, l));\n    };\n    L.u = !0;\n    var o = L.shouldComponentUpdate, s = L.componentWillUpdate;\n    L.componentWillUpdate = function(a, c, l) {\n      if (this.__e) {\n        var f = o;\n        o = void 0, i(a, c, l), o = f;\n      }\n      s && s.call(this, a, c, l);\n    }, L.shouldComponentUpdate = i;\n  }\n  return n.__N || n.__;\n}\nfunction ge(t, e) {\n  var r = Ne(he++, 3);\n  !R.__s && dt(r.__H, e) && (r.__ = t, r.i = e, L.__H.__h.push(r));\n}\nfunction Me(t, e) {\n  var r = Ne(he++, 4);\n  !R.__s && dt(r.__H, e) && (r.__ = t, r.i = e, L.__h.push(r));\n}\nfunction U(t) {\n  return xe = 5, re(function() {\n    return { current: t };\n  }, []);\n}\nfunction re(t, e) {\n  var r = Ne(he++, 7);\n  return dt(r.__H, e) && (r.__ = t(), r.__H = e, r.__h = t), r.__;\n}\nfunction P(t, e) {\n  return xe = 8, re(function() {\n    return t;\n  }, e);\n}\nfunction ri() {\n  for (var t; t = Cr.shift(); ) if (t.__P && t.__H) try {\n    t.__H.__h.forEach(Pe), t.__H.__h.forEach(it), t.__H.__h = [];\n  } catch (e) {\n    t.__H.__h = [], R.__e(e, t.__v);\n  }\n}\nR.__b = function(t) {\n  L = null, Tt && Tt(t);\n}, R.__ = function(t, e) {\n  t && e.__k && e.__k.__m && (t.__m = e.__k.__m), Ut && Ut(t, e);\n}, R.__r = function(t) {\n  Mt && Mt(t), he = 0;\n  var e = (L = t.__c).__H;\n  e && (Ke === L ? (e.__h = [], L.__h = [], e.__.forEach(function(r) {\n    r.__N && (r.__ = r.__N), r.i = r.__N = void 0;\n  })) : (e.__h.forEach(Pe), e.__h.forEach(it), e.__h = [], he = 0)), Ke = L;\n}, R.diffed = function(t) {\n  Pt && Pt(t);\n  var e = t.__c;\n  e && e.__H && (e.__H.__h.length && (Cr.push(e) !== 1 && At === R.requestAnimationFrame || ((At = R.requestAnimationFrame) || ni)(ri)), e.__H.__.forEach(function(r) {\n    r.i && (r.__H = r.i), r.i = void 0;\n  })), Ke = L = null;\n}, R.__c = function(t, e) {\n  e.some(function(r) {\n    try {\n      r.__h.forEach(Pe), r.__h = r.__h.filter(function(n) {\n        return !n.__ || it(n);\n      });\n    } catch (n) {\n      e.some(function(i) {\n        i.__h && (i.__h = []);\n      }), e = [], R.__e(n, r.__v);\n    }\n  }), qt && qt(t, e);\n}, R.unmount = function(t) {\n  Dt && Dt(t);\n  var e, r = t.__c;\n  r && r.__H && (r.__H.__.forEach(function(n) {\n    try {\n      Pe(n);\n    } catch (i) {\n      e = i;\n    }\n  }), r.__H = void 0, e && R.__e(e, r.__v));\n};\nvar Vt = typeof requestAnimationFrame == \"function\";\nfunction ni(t) {\n  var e, r = function() {\n    clearTimeout(n), Vt && cancelAnimationFrame(e), setTimeout(t);\n  }, n = setTimeout(r, 100);\n  Vt && (e = requestAnimationFrame(r));\n}\nfunction Pe(t) {\n  var e = L, r = t.__c;\n  typeof r == \"function\" && (t.__c = void 0, r()), L = e;\n}\nfunction it(t) {\n  var e = L;\n  t.__c = t.__(), L = e;\n}\nfunction dt(t, e) {\n  return !t || t.length !== e.length || e.some(function(r, n) {\n    return r !== t[n];\n  });\n}\nfunction kr(t, e) {\n  return typeof e == \"function\" ? e(t) : e;\n}\nconst ii = \"@keyframes scale{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes floatUp{0%{transform:translateY(15%)}to{transform:translateY(0)}}@keyframes floatDown{0%{transform:translateY(-15%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.dialog.modal{margin:auto;margin-top:4rem}.dialog.modal.open{animation:scale .1s cubic-bezier(.22,1,.36,1),fade .1s cubic-bezier(.22,1,.36,1)}.dialog.modal.open::backdrop{animation:fade .15s cubic-bezier(.22,1,.36,1)}.dialog.anchored{position:absolute;margin:0}.dialog.anchored.open{animation:scale .1s cubic-bezier(.22,1,.36,1),fade .1s cubic-bezier(.22,1,.36,1)}.dialog.anchored.top-start{transform-origin:bottom left}.dialog.anchored.top-end{transform-origin:bottom right}.dialog.anchored.right-start{transform-origin:left top}.dialog.anchored.right-end{transform-origin:left bottom}.dialog.anchored.bottom-start{transform-origin:top left}.dialog.anchored.bottom-end{transform-origin:top right}.dialog.anchored.left-start{transform-origin:right top}.dialog.anchored.left-end{transform-origin:right bottom}.dialog.open.unanchored.unanchored-bottom-left,.dialog.open.unanchored.unanchored-bottom-right{animation:floatUp .3s cubic-bezier(.22,1,.36,1),fade .3s cubic-bezier(.22,1,.36,1)}.dialog.open.unanchored.unanchored-top-left,.dialog.open.unanchored.unanchored-top-right{animation:floatDown .3s cubic-bezier(.22,1,.36,1),fade .3s cubic-bezier(.22,1,.36,1)}.dialog .arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1px;border-bottom:1px solid var(--border-color);padding:3px 12px}.dialog-content{position:relative;padding:7px 12px}\", pe = Math.min, ne = Math.max, De = Math.round, Oe = Math.floor, J = (t) => ({\n  x: t,\n  y: t\n}), oi = {\n  left: \"right\",\n  right: \"left\",\n  bottom: \"top\",\n  top: \"bottom\"\n}, si = {\n  start: \"end\",\n  end: \"start\"\n};\nfunction ot(t, e, r) {\n  return ne(t, pe(e, r));\n}\nfunction Ce(t, e) {\n  return typeof t == \"function\" ? t(e) : t;\n}\nfunction se(t) {\n  return t.split(\"-\")[0];\n}\nfunction ke(t) {\n  return t.split(\"-\")[1];\n}\nfunction Sr(t) {\n  return t === \"x\" ? \"y\" : \"x\";\n}\nfunction ht(t) {\n  return t === \"y\" ? \"height\" : \"width\";\n}\nfunction me(t) {\n  return [\"top\", \"bottom\"].includes(se(t)) ? \"y\" : \"x\";\n}\nfunction gt(t) {\n  return Sr(me(t));\n}\nfunction ai(t, e, r) {\n  r === void 0 && (r = !1);\n  const n = ke(t), i = gt(t), o = ht(i);\n  let s = i === \"x\" ? n === (r ? \"end\" : \"start\") ? \"right\" : \"left\" : n === \"start\" ? \"bottom\" : \"top\";\n  return e.reference[o] > e.floating[o] && (s = Ue(s)), [s, Ue(s)];\n}\nfunction li(t) {\n  const e = Ue(t);\n  return [st(t), e, st(e)];\n}\nfunction st(t) {\n  return t.replace(/start|end/g, (e) => si[e]);\n}\nfunction ci(t, e, r) {\n  const n = [\"left\", \"right\"], i = [\"right\", \"left\"], o = [\"top\", \"bottom\"], s = [\"bottom\", \"top\"];\n  switch (t) {\n    case \"top\":\n    case \"bottom\":\n      return r ? e ? i : n : e ? n : i;\n    case \"left\":\n    case \"right\":\n      return e ? o : s;\n    default:\n      return [];\n  }\n}\nfunction ui(t, e, r, n) {\n  const i = ke(t);\n  let o = ci(se(t), r === \"start\", n);\n  return i && (o = o.map((s) => s + \"-\" + i), e && (o = o.concat(o.map(st)))), o;\n}\nfunction Ue(t) {\n  return t.replace(/left|right|bottom|top/g, (e) => oi[e]);\n}\nfunction fi(t) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...t\n  };\n}\nfunction Er(t) {\n  return typeof t != \"number\" ? fi(t) : {\n    top: t,\n    right: t,\n    bottom: t,\n    left: t\n  };\n}\nfunction Ve(t) {\n  const {\n    x: e,\n    y: r,\n    width: n,\n    height: i\n  } = t;\n  return {\n    width: n,\n    height: i,\n    top: r,\n    left: e,\n    right: e + n,\n    bottom: r + i,\n    x: e,\n    y: r\n  };\n}\nfunction zt(t, e, r) {\n  let {\n    reference: n,\n    floating: i\n  } = t;\n  const o = me(e), s = gt(e), a = ht(s), c = se(e), l = o === \"y\", f = n.x + n.width / 2 - i.width / 2, u = n.y + n.height / 2 - i.height / 2, m = n[a] / 2 - i[a] / 2;\n  let d;\n  switch (c) {\n    case \"top\":\n      d = {\n        x: f,\n        y: n.y - i.height\n      };\n      break;\n    case \"bottom\":\n      d = {\n        x: f,\n        y: n.y + n.height\n      };\n      break;\n    case \"right\":\n      d = {\n        x: n.x + n.width,\n        y: u\n      };\n      break;\n    case \"left\":\n      d = {\n        x: n.x - i.width,\n        y: u\n      };\n      break;\n    default:\n      d = {\n        x: n.x,\n        y: n.y\n      };\n  }\n  switch (ke(e)) {\n    case \"start\":\n      d[s] -= m * (r && l ? -1 : 1);\n      break;\n    case \"end\":\n      d[s] += m * (r && l ? -1 : 1);\n      break;\n  }\n  return d;\n}\nconst di = async (t, e, r) => {\n  const {\n    placement: n = \"bottom\",\n    strategy: i = \"absolute\",\n    middleware: o = [],\n    platform: s\n  } = r, a = o.filter(Boolean), c = await (s.isRTL == null ? void 0 : s.isRTL(e));\n  let l = await s.getElementRects({\n    reference: t,\n    floating: e,\n    strategy: i\n  }), {\n    x: f,\n    y: u\n  } = zt(l, n, c), m = n, d = {}, g = 0;\n  for (let b = 0; b < a.length; b++) {\n    const {\n      name: p,\n      fn: y\n    } = a[b], {\n      x: v,\n      y: _,\n      data: x,\n      reset: w\n    } = await y({\n      x: f,\n      y: u,\n      initialPlacement: n,\n      placement: m,\n      strategy: i,\n      middlewareData: d,\n      rects: l,\n      platform: s,\n      elements: {\n        reference: t,\n        floating: e\n      }\n    });\n    f = v ?? f, u = _ ?? u, d = {\n      ...d,\n      [p]: {\n        ...d[p],\n        ...x\n      }\n    }, w && g <= 50 && (g++, typeof w == \"object\" && (w.placement && (m = w.placement), w.rects && (l = w.rects === !0 ? await s.getElementRects({\n      reference: t,\n      floating: e,\n      strategy: i\n    }) : w.rects), {\n      x: f,\n      y: u\n    } = zt(l, m, c)), b = -1);\n  }\n  return {\n    x: f,\n    y: u,\n    placement: m,\n    strategy: i,\n    middlewareData: d\n  };\n};\nasync function Fr(t, e) {\n  var r;\n  e === void 0 && (e = {});\n  const {\n    x: n,\n    y: i,\n    platform: o,\n    rects: s,\n    elements: a,\n    strategy: c\n  } = t, {\n    boundary: l = \"clippingAncestors\",\n    rootBoundary: f = \"viewport\",\n    elementContext: u = \"floating\",\n    altBoundary: m = !1,\n    padding: d = 0\n  } = Ce(e, t), g = Er(d), p = a[m ? u === \"floating\" ? \"reference\" : \"floating\" : u], y = Ve(await o.getClippingRect({\n    element: (r = await (o.isElement == null ? void 0 : o.isElement(p))) == null || r ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(a.floating)),\n    boundary: l,\n    rootBoundary: f,\n    strategy: c\n  })), v = u === \"floating\" ? {\n    x: n,\n    y: i,\n    width: s.floating.width,\n    height: s.floating.height\n  } : s.reference, _ = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(a.floating)), x = await (o.isElement == null ? void 0 : o.isElement(_)) ? await (o.getScale == null ? void 0 : o.getScale(_)) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  }, w = Ve(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements: a,\n    rect: v,\n    offsetParent: _,\n    strategy: c\n  }) : v);\n  return {\n    top: (y.top - w.top + g.top) / x.y,\n    bottom: (w.bottom - y.bottom + g.bottom) / x.y,\n    left: (y.left - w.left + g.left) / x.x,\n    right: (w.right - y.right + g.right) / x.x\n  };\n}\nconst hi = (t) => ({\n  name: \"arrow\",\n  options: t,\n  async fn(e) {\n    const {\n      x: r,\n      y: n,\n      placement: i,\n      rects: o,\n      platform: s,\n      elements: a,\n      middlewareData: c\n    } = e, {\n      element: l,\n      padding: f = 0\n    } = Ce(t, e) || {};\n    if (l == null)\n      return {};\n    const u = Er(f), m = {\n      x: r,\n      y: n\n    }, d = gt(i), g = ht(d), b = await s.getDimensions(l), p = d === \"y\", y = p ? \"top\" : \"left\", v = p ? \"bottom\" : \"right\", _ = p ? \"clientHeight\" : \"clientWidth\", x = o.reference[g] + o.reference[d] - m[d] - o.floating[g], w = m[d] - o.reference[d], k = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(l));\n    let C = k ? k[_] : 0;\n    (!C || !await (s.isElement == null ? void 0 : s.isElement(k))) && (C = a.floating[_] || o.floating[g]);\n    const O = x / 2 - w / 2, T = C / 2 - b[g] / 2 - 1, S = pe(u[y], T), M = pe(u[v], T), z = S, Z = C - b[g] - M, F = C / 2 - b[g] / 2 + O, H = ot(z, F, Z), E = !c.arrow && ke(i) != null && F !== H && o.reference[g] / 2 - (F < z ? S : M) - b[g] / 2 < 0, q = E ? F < z ? F - z : F - Z : 0;\n    return {\n      [d]: m[d] + q,\n      data: {\n        [d]: H,\n        centerOffset: F - H - q,\n        ...E && {\n          alignmentOffset: q\n        }\n      },\n      reset: E\n    };\n  }\n}), gi = function(t) {\n  return t === void 0 && (t = {}), {\n    name: \"flip\",\n    options: t,\n    async fn(e) {\n      var r, n;\n      const {\n        placement: i,\n        middlewareData: o,\n        rects: s,\n        initialPlacement: a,\n        platform: c,\n        elements: l\n      } = e, {\n        mainAxis: f = !0,\n        crossAxis: u = !0,\n        fallbackPlacements: m,\n        fallbackStrategy: d = \"bestFit\",\n        fallbackAxisSideDirection: g = \"none\",\n        flipAlignment: b = !0,\n        ...p\n      } = Ce(t, e);\n      if ((r = o.arrow) != null && r.alignmentOffset)\n        return {};\n      const y = se(i), v = me(a), _ = se(a) === a, x = await (c.isRTL == null ? void 0 : c.isRTL(l.floating)), w = m || (_ || !b ? [Ue(a)] : li(a)), k = g !== \"none\";\n      !m && k && w.push(...ui(a, b, g, x));\n      const C = [a, ...w], O = await Fr(e, p), T = [];\n      let S = ((n = o.flip) == null ? void 0 : n.overflows) || [];\n      if (f && T.push(O[y]), u) {\n        const F = ai(i, s, x);\n        T.push(O[F[0]], O[F[1]]);\n      }\n      if (S = [...S, {\n        placement: i,\n        overflows: T\n      }], !T.every((F) => F <= 0)) {\n        var M, z;\n        const F = (((M = o.flip) == null ? void 0 : M.index) || 0) + 1, H = C[F];\n        if (H)\n          return {\n            data: {\n              index: F,\n              overflows: S\n            },\n            reset: {\n              placement: H\n            }\n          };\n        let E = (z = S.filter((q) => q.overflows[0] <= 0).sort((q, D) => q.overflows[1] - D.overflows[1])[0]) == null ? void 0 : z.placement;\n        if (!E)\n          switch (d) {\n            case \"bestFit\": {\n              var Z;\n              const q = (Z = S.filter((D) => {\n                if (k) {\n                  const G = me(D.placement);\n                  return G === v || // Create a bias to the `y` side axis due to horizontal\n                  // reading directions favoring greater width.\n                  G === \"y\";\n                }\n                return !0;\n              }).map((D) => [D.placement, D.overflows.filter((G) => G > 0).reduce((G, Wr) => G + Wr, 0)]).sort((D, G) => D[1] - G[1])[0]) == null ? void 0 : Z[0];\n              q && (E = q);\n              break;\n            }\n            case \"initialPlacement\":\n              E = a;\n              break;\n          }\n        if (i !== E)\n          return {\n            reset: {\n              placement: E\n            }\n          };\n      }\n      return {};\n    }\n  };\n};\nasync function pi(t, e) {\n  const {\n    placement: r,\n    platform: n,\n    elements: i\n  } = t, o = await (n.isRTL == null ? void 0 : n.isRTL(i.floating)), s = se(r), a = ke(r), c = me(r) === \"y\", l = [\"left\", \"top\"].includes(s) ? -1 : 1, f = o && c ? -1 : 1, u = Ce(e, t);\n  let {\n    mainAxis: m,\n    crossAxis: d,\n    alignmentAxis: g\n  } = typeof u == \"number\" ? {\n    mainAxis: u,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: 0,\n    crossAxis: 0,\n    alignmentAxis: null,\n    ...u\n  };\n  return a && typeof g == \"number\" && (d = a === \"end\" ? g * -1 : g), c ? {\n    x: d * f,\n    y: m * l\n  } : {\n    x: m * l,\n    y: d * f\n  };\n}\nconst mi = function(t) {\n  return t === void 0 && (t = 0), {\n    name: \"offset\",\n    options: t,\n    async fn(e) {\n      var r, n;\n      const {\n        x: i,\n        y: o,\n        placement: s,\n        middlewareData: a\n      } = e, c = await pi(e, t);\n      return s === ((r = a.offset) == null ? void 0 : r.placement) && (n = a.arrow) != null && n.alignmentOffset ? {} : {\n        x: i + c.x,\n        y: o + c.y,\n        data: {\n          ...c,\n          placement: s\n        }\n      };\n    }\n  };\n}, bi = function(t) {\n  return t === void 0 && (t = {}), {\n    name: \"shift\",\n    options: t,\n    async fn(e) {\n      const {\n        x: r,\n        y: n,\n        placement: i\n      } = e, {\n        mainAxis: o = !0,\n        crossAxis: s = !1,\n        limiter: a = {\n          fn: (p) => {\n            let {\n              x: y,\n              y: v\n            } = p;\n            return {\n              x: y,\n              y: v\n            };\n          }\n        },\n        ...c\n      } = Ce(t, e), l = {\n        x: r,\n        y: n\n      }, f = await Fr(e, c), u = me(se(i)), m = Sr(u);\n      let d = l[m], g = l[u];\n      if (o) {\n        const p = m === \"y\" ? \"top\" : \"left\", y = m === \"y\" ? \"bottom\" : \"right\", v = d + f[p], _ = d - f[y];\n        d = ot(v, d, _);\n      }\n      if (s) {\n        const p = u === \"y\" ? \"top\" : \"left\", y = u === \"y\" ? \"bottom\" : \"right\", v = g + f[p], _ = g - f[y];\n        g = ot(v, g, _);\n      }\n      const b = a.fn({\n        ...e,\n        [m]: d,\n        [u]: g\n      });\n      return {\n        ...b,\n        data: {\n          x: b.x - r,\n          y: b.y - n\n        }\n      };\n    }\n  };\n};\nfunction ye(t) {\n  return Ir(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction V(t) {\n  var e;\n  return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction W(t) {\n  var e;\n  return (e = (Ir(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction Ir(t) {\n  return t instanceof Node || t instanceof V(t).Node;\n}\nfunction N(t) {\n  return t instanceof Element || t instanceof V(t).Element;\n}\nfunction j(t) {\n  return t instanceof HTMLElement || t instanceof V(t).HTMLElement;\n}\nfunction Bt(t) {\n  return typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof V(t).ShadowRoot;\n}\nfunction Se(t) {\n  const {\n    overflow: e,\n    overflowX: r,\n    overflowY: n,\n    display: i\n  } = $(t);\n  return /auto|scroll|overlay|hidden|clip/.test(e + n + r) && ![\"inline\", \"contents\"].includes(i);\n}\nfunction yi(t) {\n  return [\"table\", \"td\", \"th\"].includes(ye(t));\n}\nfunction $e(t) {\n  return [\":popover-open\", \":modal\"].some((e) => {\n    try {\n      return t.matches(e);\n    } catch {\n      return !1;\n    }\n  });\n}\nfunction pt(t) {\n  const e = mt(), r = N(t) ? $(t) : t;\n  return r.transform !== \"none\" || r.perspective !== \"none\" || (r.containerType ? r.containerType !== \"normal\" : !1) || !e && (r.backdropFilter ? r.backdropFilter !== \"none\" : !1) || !e && (r.filter ? r.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some((n) => (r.willChange || \"\").includes(n)) || [\"paint\", \"layout\", \"strict\", \"content\"].some((n) => (r.contain || \"\").includes(n));\n}\nfunction vi(t) {\n  let e = X(t);\n  for (; j(e) && !be(e); ) {\n    if (pt(e))\n      return e;\n    if ($e(e))\n      return null;\n    e = X(e);\n  }\n  return null;\n}\nfunction mt() {\n  return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nfunction be(t) {\n  return [\"html\", \"body\", \"#document\"].includes(ye(t));\n}\nfunction $(t) {\n  return V(t).getComputedStyle(t);\n}\nfunction je(t) {\n  return N(t) ? {\n    scrollLeft: t.scrollLeft,\n    scrollTop: t.scrollTop\n  } : {\n    scrollLeft: t.scrollX,\n    scrollTop: t.scrollY\n  };\n}\nfunction X(t) {\n  if (ye(t) === \"html\")\n    return t;\n  const e = (\n    // Step into the shadow DOM of the parent of a slotted node.\n    t.assignedSlot || // DOM Element detected.\n    t.parentNode || // ShadowRoot detected.\n    Bt(t) && t.host || // Fallback.\n    W(t)\n  );\n  return Bt(e) ? e.host : e;\n}\nfunction Or(t) {\n  const e = X(t);\n  return be(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : j(e) && Se(e) ? e : Or(e);\n}\nfunction we(t, e, r) {\n  var n;\n  e === void 0 && (e = []), r === void 0 && (r = !0);\n  const i = Or(t), o = i === ((n = t.ownerDocument) == null ? void 0 : n.body), s = V(i);\n  return o ? e.concat(s, s.visualViewport || [], Se(i) ? i : [], s.frameElement && r ? we(s.frameElement) : []) : e.concat(i, we(i, [], r));\n}\nfunction Lr(t) {\n  const e = $(t);\n  let r = parseFloat(e.width) || 0, n = parseFloat(e.height) || 0;\n  const i = j(t), o = i ? t.offsetWidth : r, s = i ? t.offsetHeight : n, a = De(r) !== o || De(n) !== s;\n  return a && (r = o, n = s), {\n    width: r,\n    height: n,\n    $: a\n  };\n}\nfunction bt(t) {\n  return N(t) ? t : t.contextElement;\n}\nfunction de(t) {\n  const e = bt(t);\n  if (!j(e))\n    return J(1);\n  const r = e.getBoundingClientRect(), {\n    width: n,\n    height: i,\n    $: o\n  } = Lr(e);\n  let s = (o ? De(r.width) : r.width) / n, a = (o ? De(r.height) : r.height) / i;\n  return (!s || !Number.isFinite(s)) && (s = 1), (!a || !Number.isFinite(a)) && (a = 1), {\n    x: s,\n    y: a\n  };\n}\nconst _i = /* @__PURE__ */ J(0);\nfunction Rr(t) {\n  const e = V(t);\n  return !mt() || !e.visualViewport ? _i : {\n    x: e.visualViewport.offsetLeft,\n    y: e.visualViewport.offsetTop\n  };\n}\nfunction xi(t, e, r) {\n  return e === void 0 && (e = !1), !r || e && r !== V(t) ? !1 : e;\n}\nfunction ae(t, e, r, n) {\n  e === void 0 && (e = !1), r === void 0 && (r = !1);\n  const i = t.getBoundingClientRect(), o = bt(t);\n  let s = J(1);\n  e && (n ? N(n) && (s = de(n)) : s = de(t));\n  const a = xi(o, r, n) ? Rr(o) : J(0);\n  let c = (i.left + a.x) / s.x, l = (i.top + a.y) / s.y, f = i.width / s.x, u = i.height / s.y;\n  if (o) {\n    const m = V(o), d = n && N(n) ? V(n) : n;\n    let g = m, b = g.frameElement;\n    for (; b && n && d !== g; ) {\n      const p = de(b), y = b.getBoundingClientRect(), v = $(b), _ = y.left + (b.clientLeft + parseFloat(v.paddingLeft)) * p.x, x = y.top + (b.clientTop + parseFloat(v.paddingTop)) * p.y;\n      c *= p.x, l *= p.y, f *= p.x, u *= p.y, c += _, l += x, g = V(b), b = g.frameElement;\n    }\n  }\n  return Ve({\n    width: f,\n    height: u,\n    x: c,\n    y: l\n  });\n}\nfunction wi(t) {\n  let {\n    elements: e,\n    rect: r,\n    offsetParent: n,\n    strategy: i\n  } = t;\n  const o = i === \"fixed\", s = W(n), a = e ? $e(e.floating) : !1;\n  if (n === s || a && o)\n    return r;\n  let c = {\n    scrollLeft: 0,\n    scrollTop: 0\n  }, l = J(1);\n  const f = J(0), u = j(n);\n  if ((u || !u && !o) && ((ye(n) !== \"body\" || Se(s)) && (c = je(n)), j(n))) {\n    const m = ae(n);\n    l = de(n), f.x = m.x + n.clientLeft, f.y = m.y + n.clientTop;\n  }\n  return {\n    width: r.width * l.x,\n    height: r.height * l.y,\n    x: r.x * l.x - c.scrollLeft * l.x + f.x,\n    y: r.y * l.y - c.scrollTop * l.y + f.y\n  };\n}\nfunction Ci(t) {\n  return Array.from(t.getClientRects());\n}\nfunction Ar(t) {\n  return ae(W(t)).left + je(t).scrollLeft;\n}\nfunction ki(t) {\n  const e = W(t), r = je(t), n = t.ownerDocument.body, i = ne(e.scrollWidth, e.clientWidth, n.scrollWidth, n.clientWidth), o = ne(e.scrollHeight, e.clientHeight, n.scrollHeight, n.clientHeight);\n  let s = -r.scrollLeft + Ar(t);\n  const a = -r.scrollTop;\n  return $(n).direction === \"rtl\" && (s += ne(e.clientWidth, n.clientWidth) - i), {\n    width: i,\n    height: o,\n    x: s,\n    y: a\n  };\n}\nfunction Si(t, e) {\n  const r = V(t), n = W(t), i = r.visualViewport;\n  let o = n.clientWidth, s = n.clientHeight, a = 0, c = 0;\n  if (i) {\n    o = i.width, s = i.height;\n    const l = mt();\n    (!l || l && e === \"fixed\") && (a = i.offsetLeft, c = i.offsetTop);\n  }\n  return {\n    width: o,\n    height: s,\n    x: a,\n    y: c\n  };\n}\nfunction Ei(t, e) {\n  const r = ae(t, !0, e === \"fixed\"), n = r.top + t.clientTop, i = r.left + t.clientLeft, o = j(t) ? de(t) : J(1), s = t.clientWidth * o.x, a = t.clientHeight * o.y, c = i * o.x, l = n * o.y;\n  return {\n    width: s,\n    height: a,\n    x: c,\n    y: l\n  };\n}\nfunction Nt(t, e, r) {\n  let n;\n  if (e === \"viewport\")\n    n = Si(t, r);\n  else if (e === \"document\")\n    n = ki(W(t));\n  else if (N(e))\n    n = Ei(e, r);\n  else {\n    const i = Rr(t);\n    n = {\n      ...e,\n      x: e.x - i.x,\n      y: e.y - i.y\n    };\n  }\n  return Ve(n);\n}\nfunction Tr(t, e) {\n  const r = X(t);\n  return r === e || !N(r) || be(r) ? !1 : $(r).position === \"fixed\" || Tr(r, e);\n}\nfunction Fi(t, e) {\n  const r = e.get(t);\n  if (r)\n    return r;\n  let n = we(t, [], !1).filter((a) => N(a) && ye(a) !== \"body\"), i = null;\n  const o = $(t).position === \"fixed\";\n  let s = o ? X(t) : t;\n  for (; N(s) && !be(s); ) {\n    const a = $(s), c = pt(s);\n    !c && a.position === \"fixed\" && (i = null), (o ? !c && !i : !c && a.position === \"static\" && !!i && [\"absolute\", \"fixed\"].includes(i.position) || Se(s) && !c && Tr(t, s)) ? n = n.filter((f) => f !== s) : i = a, s = X(s);\n  }\n  return e.set(t, n), n;\n}\nfunction Ii(t) {\n  let {\n    element: e,\n    boundary: r,\n    rootBoundary: n,\n    strategy: i\n  } = t;\n  const s = [...r === \"clippingAncestors\" ? $e(e) ? [] : Fi(e, this._c) : [].concat(r), n], a = s[0], c = s.reduce((l, f) => {\n    const u = Nt(e, f, i);\n    return l.top = ne(u.top, l.top), l.right = pe(u.right, l.right), l.bottom = pe(u.bottom, l.bottom), l.left = ne(u.left, l.left), l;\n  }, Nt(e, a, i));\n  return {\n    width: c.right - c.left,\n    height: c.bottom - c.top,\n    x: c.left,\n    y: c.top\n  };\n}\nfunction Oi(t) {\n  const {\n    width: e,\n    height: r\n  } = Lr(t);\n  return {\n    width: e,\n    height: r\n  };\n}\nfunction Li(t, e, r) {\n  const n = j(e), i = W(e), o = r === \"fixed\", s = ae(t, !0, o, e);\n  let a = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const c = J(0);\n  if (n || !n && !o)\n    if ((ye(e) !== \"body\" || Se(i)) && (a = je(e)), n) {\n      const u = ae(e, !0, o, e);\n      c.x = u.x + e.clientLeft, c.y = u.y + e.clientTop;\n    } else i && (c.x = Ar(i));\n  const l = s.left + a.scrollLeft - c.x, f = s.top + a.scrollTop - c.y;\n  return {\n    x: l,\n    y: f,\n    width: s.width,\n    height: s.height\n  };\n}\nfunction We(t) {\n  return $(t).position === \"static\";\n}\nfunction $t(t, e) {\n  return !j(t) || $(t).position === \"fixed\" ? null : e ? e(t) : t.offsetParent;\n}\nfunction Mr(t, e) {\n  const r = V(t);\n  if ($e(t))\n    return r;\n  if (!j(t)) {\n    let i = X(t);\n    for (; i && !be(i); ) {\n      if (N(i) && !We(i))\n        return i;\n      i = X(i);\n    }\n    return r;\n  }\n  let n = $t(t, e);\n  for (; n && yi(n) && We(n); )\n    n = $t(n, e);\n  return n && be(n) && We(n) && !pt(n) ? r : n || vi(t) || r;\n}\nconst Ri = async function(t) {\n  const e = this.getOffsetParent || Mr, r = this.getDimensions, n = await r(t.floating);\n  return {\n    reference: Li(t.reference, await e(t.floating), t.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: n.width,\n      height: n.height\n    }\n  };\n};\nfunction Ai(t) {\n  return $(t).direction === \"rtl\";\n}\nconst Ti = {\n  convertOffsetParentRelativeRectToViewportRelativeRect: wi,\n  getDocumentElement: W,\n  getClippingRect: Ii,\n  getOffsetParent: Mr,\n  getElementRects: Ri,\n  getClientRects: Ci,\n  getDimensions: Oi,\n  getScale: de,\n  isElement: N,\n  isRTL: Ai\n};\nfunction Mi(t, e) {\n  let r = null, n;\n  const i = W(t);\n  function o() {\n    var a;\n    clearTimeout(n), (a = r) == null || a.disconnect(), r = null;\n  }\n  function s(a, c) {\n    a === void 0 && (a = !1), c === void 0 && (c = 1), o();\n    const {\n      left: l,\n      top: f,\n      width: u,\n      height: m\n    } = t.getBoundingClientRect();\n    if (a || e(), !u || !m)\n      return;\n    const d = Oe(f), g = Oe(i.clientWidth - (l + u)), b = Oe(i.clientHeight - (f + m)), p = Oe(l), v = {\n      rootMargin: -d + \"px \" + -g + \"px \" + -b + \"px \" + -p + \"px\",\n      threshold: ne(0, pe(1, c)) || 1\n    };\n    let _ = !0;\n    function x(w) {\n      const k = w[0].intersectionRatio;\n      if (k !== c) {\n        if (!_)\n          return s();\n        k ? s(!1, k) : n = setTimeout(() => {\n          s(!1, 1e-7);\n        }, 1e3);\n      }\n      _ = !1;\n    }\n    try {\n      r = new IntersectionObserver(x, {\n        ...v,\n        // Handle <iframe>s\n        root: i.ownerDocument\n      });\n    } catch {\n      r = new IntersectionObserver(x, v);\n    }\n    r.observe(t);\n  }\n  return s(!0), o;\n}\nfunction Pi(t, e, r, n) {\n  n === void 0 && (n = {});\n  const {\n    ancestorScroll: i = !0,\n    ancestorResize: o = !0,\n    elementResize: s = typeof ResizeObserver == \"function\",\n    layoutShift: a = typeof IntersectionObserver == \"function\",\n    animationFrame: c = !1\n  } = n, l = bt(t), f = i || o ? [...l ? we(l) : [], ...we(e)] : [];\n  f.forEach((y) => {\n    i && y.addEventListener(\"scroll\", r, {\n      passive: !0\n    }), o && y.addEventListener(\"resize\", r);\n  });\n  const u = l && a ? Mi(l, r) : null;\n  let m = -1, d = null;\n  s && (d = new ResizeObserver((y) => {\n    let [v] = y;\n    v && v.target === l && d && (d.unobserve(e), cancelAnimationFrame(m), m = requestAnimationFrame(() => {\n      var _;\n      (_ = d) == null || _.observe(e);\n    })), r();\n  }), l && !c && d.observe(l), d.observe(e));\n  let g, b = c ? ae(t) : null;\n  c && p();\n  function p() {\n    const y = ae(t);\n    b && (y.x !== b.x || y.y !== b.y || y.width !== b.width || y.height !== b.height) && r(), b = y, g = requestAnimationFrame(p);\n  }\n  return r(), () => {\n    var y;\n    f.forEach((v) => {\n      i && v.removeEventListener(\"scroll\", r), o && v.removeEventListener(\"resize\", r);\n    }), u == null || u(), (y = d) == null || y.disconnect(), d = null, c && cancelAnimationFrame(g);\n  };\n}\nconst Pr = mi, qi = bi, Di = gi, jt = hi, Ui = (t, e, r) => {\n  const n = /* @__PURE__ */ new Map(), i = {\n    platform: Ti,\n    ...r\n  }, o = {\n    ...i.platform,\n    _c: n\n  };\n  return di(t, e, {\n    ...i,\n    platform: o\n  });\n}, qr = (t) => {\n  function e(r) {\n    return {}.hasOwnProperty.call(r, \"current\");\n  }\n  return {\n    name: \"arrow\",\n    options: t,\n    fn(r) {\n      const { element: n, padding: i } = typeof t == \"function\" ? t(r) : t;\n      return n && e(n) ? n.current != null ? jt({ element: n.current, padding: i }).fn(r) : {} : n ? jt({ element: n, padding: i }).fn(r) : {};\n    }\n  };\n};\nfunction ze(t, e) {\n  if (t === e)\n    return !0;\n  if (typeof t != typeof e)\n    return !1;\n  if (typeof t == \"function\" && t.toString() === e.toString())\n    return !0;\n  let r, n, i;\n  if (t && e && typeof t == \"object\") {\n    if (Array.isArray(t)) {\n      if (r = t.length, r != e.length) return !1;\n      for (n = r; n-- !== 0; )\n        if (!ze(t[n], e[n]))\n          return !1;\n      return !0;\n    }\n    if (i = Object.keys(t), r = i.length, r !== Object.keys(e).length)\n      return !1;\n    for (n = r; n-- !== 0; )\n      if (!{}.hasOwnProperty.call(e, i[n]))\n        return !1;\n    for (n = r; n-- !== 0; ) {\n      const o = i[n];\n      if (!(o === \"_owner\" && t.$$typeof) && !ze(t[o], e[o]))\n        return !1;\n    }\n    return !0;\n  }\n  return t !== t && e !== e;\n}\nfunction Dr(t) {\n  return typeof window > \"u\" ? 1 : (t.ownerDocument.defaultView || window).devicePixelRatio || 1;\n}\nfunction Ht(t, e) {\n  const r = Dr(t);\n  return Math.round(e * r) / r;\n}\nfunction Kt(t) {\n  const e = U(t);\n  return Me(() => {\n    e.current = t;\n  }), e;\n}\nfunction Ur(t = {}) {\n  const {\n    placement: e = \"bottom\",\n    strategy: r = \"absolute\",\n    middleware: n = [],\n    platform: i,\n    elements: { reference: o, floating: s } = {},\n    transform: a = !0,\n    whileElementsMounted: c,\n    open: l\n  } = t, [f, u] = A({\n    x: 0,\n    y: 0,\n    strategy: r,\n    placement: e,\n    middlewareData: {},\n    isPositioned: !1\n  }), [m, d] = A(n);\n  ze(m, n) || d(n);\n  const [g, b] = A(null), [p, y] = A(null), v = P(\n    (E) => {\n      E != k.current && (k.current = E, b(E));\n    },\n    [b]\n  ), _ = P(\n    (E) => {\n      E !== C.current && (C.current = E, y(E));\n    },\n    [y]\n  ), x = o || g, w = s || p, k = U(null), C = U(null), O = U(f), T = Kt(c), S = Kt(i), M = P(() => {\n    if (!k.current || !C.current)\n      return;\n    const E = {\n      placement: e,\n      strategy: r,\n      middleware: m\n    };\n    S.current && (E.platform = S.current), Ui(k.current, C.current, E).then(\n      (q) => {\n        const D = { ...q, isPositioned: !0 };\n        z.current && !ze(O.current, D) && (O.current = D, u(D));\n      }\n    );\n  }, [m, e, r, S]);\n  Me(() => {\n    l === !1 && O.current.isPositioned && (O.current.isPositioned = !1, u((E) => ({ ...E, isPositioned: !1 })));\n  }, [l]);\n  const z = U(!1);\n  Me(() => (z.current = !0, () => {\n    z.current = !1;\n  }), []), Me(() => {\n    if (x && (k.current = x), w && (C.current = w), x && w)\n      return T.current ? T.current(x, w, M) : M();\n  }, [x, w, M, T]);\n  const Z = re(\n    () => ({\n      reference: k,\n      floating: C,\n      setReference: v,\n      setFloating: _\n    }),\n    [v, _]\n  ), F = re(\n    () => ({ reference: x, floating: w }),\n    [x, w]\n  ), H = re(() => {\n    const E = {\n      position: r,\n      left: 0,\n      top: 0\n    };\n    if (!F.floating)\n      return E;\n    const q = Ht(F.floating, f.x), D = Ht(F.floating, f.y);\n    return a ? {\n      ...E,\n      transform: `translate(${q}px, ${D}px)`,\n      ...Dr(F.floating) >= 1.5 && { willChange: \"transform\" }\n    } : {\n      position: r,\n      left: q,\n      top: D\n    };\n  }, [r, a, F.floating, f.x, f.y]);\n  return re(\n    () => ({\n      ...f,\n      update: M,\n      refs: Z,\n      elements: F,\n      floatingStyles: H\n    }),\n    [f, M, Z, F, H]\n  );\n}\nfunction Vi(t) {\n  t.stopPropagation();\n}\nfunction zi(t) {\n  let e = document.querySelector(`#${t}`);\n  if (!e) {\n    e = document.createElement(\"div\"), e.attachShadow({ mode: \"open\" }), e.style.all = \"initial\", e.id = t, document.body.appendChild(e);\n    for (const r of wr)\n      e.addEventListener(r, Vi, { passive: !0 });\n  }\n  return e.shadowRoot;\n}\nfunction Wt(t) {\n  return t === void 0 ? \"1rem\" : typeof t == \"number\" ? t + \"px\" : t;\n}\nfunction yt(t) {\n  var n, i;\n  const e = Wt((n = t.offset) == null ? void 0 : n.y), r = Wt((i = t.offset) == null ? void 0 : i.x);\n  switch (t.placement) {\n    case \"top-left\":\n      return {\n        top: e,\n        left: r\n      };\n    case \"top-right\":\n      return {\n        top: e,\n        right: r\n      };\n    case \"bottom-left\":\n      return {\n        bottom: e,\n        left: r\n      };\n    case \"bottom-right\":\n      return {\n        bottom: e,\n        right: r\n      };\n    default:\n      return console.error(\"[Reflag]\", \"Invalid placement\", t.placement), yt({ placement: \"bottom-right\" });\n  }\n}\nfunction Vr({\n  onClose: t,\n  onOpen: e,\n  initialValue: r = !1\n} = {}) {\n  const [n, i] = A(r), o = P(() => {\n    i(!0), e == null || e();\n  }, [e]), s = P(() => {\n    i(!1), t == null || t();\n  }, [t]), a = P(() => {\n    n ? t == null || t() : e == null || e(), i((c) => !c);\n  }, [n, t, e]);\n  return {\n    isOpen: n,\n    open: o,\n    close: s,\n    toggle: a\n  };\n}\nconst zr = ({\n  position: t,\n  isOpen: e,\n  close: r,\n  onDismiss: n,\n  containerId: i,\n  strategy: o,\n  children: s,\n  showArrow: a = !0\n}) => {\n  const c = U(null), l = U(null), f = t.type === \"POPOVER\" ? t.anchor : null, u = t.type === \"POPOVER\" ? t.placement : void 0, {\n    refs: m,\n    floatingStyles: d,\n    middlewareData: g,\n    placement: b\n  } = Ur({\n    elements: {\n      reference: f\n    },\n    strategy: o,\n    transform: !1,\n    placement: u,\n    whileElementsMounted: Pi,\n    middleware: [\n      Di({\n        padding: 10,\n        mainAxis: !0,\n        crossAxis: !0\n      }),\n      qi(),\n      Pr(8),\n      qr({\n        element: c\n      })\n    ]\n  });\n  let p = {};\n  t.type === \"DIALOG\" && (p = yt(t));\n  const y = P(() => {\n    r(), n == null || n();\n  }, [r, n]);\n  ge(() => {\n    if (t.type === \"MODAL\" || t.type === \"DIALOG\") return;\n    const x = (C) => {\n      C.key == \"Escape\" && y();\n    }, w = (C) => {\n      (!(C.target instanceof Element) || !C.target.closest(`#${i}`)) && y();\n    }, k = new MutationObserver((C) => {\n      t.anchor !== null && C.forEach((O) => {\n        Array.from(O.removedNodes).some((M) => M === t.anchor || M.contains(t.anchor)) && r();\n      });\n    });\n    return window.addEventListener(\"mousedown\", w), window.addEventListener(\"keydown\", x), k.observe(document.body, {\n      subtree: !0,\n      childList: !0\n    }), () => {\n      window.removeEventListener(\"mousedown\", w), window.removeEventListener(\"keydown\", x), k.disconnect();\n    };\n  }, [t.type, r, t.anchor, y, i]);\n  function v(x) {\n    m.setFloating(x), l.current = x;\n  }\n  ge(() => {\n    if (!l.current) return;\n    const x = () => {\n      var k;\n      try {\n        return ((k = l.current) == null ? void 0 : k.matches(\":popover-open\")) ?? !1;\n      } catch {\n        return !1;\n      }\n    }, w = l.current instanceof HTMLDialogElement && l.current.hasAttribute(\"open\");\n    e && (t.type === \"MODAL\" && !w || t.type !== \"MODAL\" && !x()) && (t.type === \"MODAL\" && l.current instanceof HTMLDialogElement ? l.current.showModal() : l.current.showPopover()), e || (t.type === \"MODAL\" && l.current instanceof HTMLDialogElement && l.current.hasAttribute(\"open\") ? l.current.close() : t.type !== \"MODAL\" && x() && l.current.hidePopover());\n  }, [l, e, t.type]);\n  const _ = [\n    \"dialog\",\n    e ? \"open\" : \"\",\n    t.type === \"MODAL\" ? \"modal\" : t.type === \"POPOVER\" ? \"anchored\" : `unanchored unanchored-${t.placement}`,\n    b\n  ].join(\" \");\n  return /* @__PURE__ */ h(B, null, /* @__PURE__ */ h(\"style\", { dangerouslySetInnerHTML: { __html: ii } }), t.type === \"MODAL\" ? /* @__PURE__ */ h(\n    \"dialog\",\n    {\n      ref: v,\n      class: _,\n      style: f ? d : p\n    },\n    s && /* @__PURE__ */ h(B, null, s),\n    f && a && /* @__PURE__ */ h(\n      Zt,\n      {\n        arrowData: g == null ? void 0 : g.arrow,\n        arrowRef: c,\n        placement: b\n      }\n    )\n  ) : /* @__PURE__ */ h(\n    \"div\",\n    {\n      ref: v,\n      class: _,\n      style: f ? d : p,\n      popover: \"manual\"\n    },\n    s && /* @__PURE__ */ h(B, null, s),\n    f && a && /* @__PURE__ */ h(\n      Zt,\n      {\n        arrowData: g == null ? void 0 : g.arrow,\n        arrowRef: c,\n        placement: b\n      }\n    )\n  ));\n};\nfunction Zt({\n  arrowData: t,\n  arrowRef: e,\n  placement: r\n}) {\n  const { x: n, y: i } = t ?? {}, o = {\n    top: \"bottom\",\n    right: \"left\",\n    bottom: \"top\",\n    left: \"right\"\n  }[r.split(\"-\")[0]] || \"bottom\", s = {\n    left: n != null ? `${n}px` : \"\",\n    top: i != null ? `${i}px` : \"\",\n    right: \"\",\n    bottom: \"\",\n    [o]: \"-4px\"\n  };\n  return /* @__PURE__ */ h(\n    \"div\",\n    {\n      ref: e,\n      class: [\"arrow\", r].join(\" \"),\n      style: s\n    }\n  );\n}\nfunction Bi({\n  children: t,\n  innerRef: e\n}) {\n  return /* @__PURE__ */ h(\"header\", { ref: e, class: \"dialog-header\" }, t);\n}\nfunction Ni({\n  children: t,\n  innerRef: e\n}) {\n  return /* @__PURE__ */ h(\"div\", { ref: e, class: \"dialog-content\" }, t);\n}\nconst $i = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12.0007 10.5865L16.9504 5.63672L18.3646 7.05093L13.4149 12.0007L18.3646 16.9504L16.9504 18.3646L12.0007 13.4149L7.05093 18.3646L5.63672 16.9504L10.5865 12.0007L5.63672 7.05093L7.05093 5.63672L12.0007 10.5865Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Ze = {\n  DefaultQuestionLabel: \"How satisfied are you with this feature?\",\n  QuestionPlaceholder: \"Write a comment\",\n  ScoreStatusDescription: \"Pick a score and leave a comment\",\n  ScoreStatusLoading: \"Saving score, please wait...\",\n  ScoreStatusReceived: \"Score has been received!\",\n  ScoreVeryDissatisfiedLabel: \"Very dissatisfied (1/5)\",\n  ScoreDissatisfiedLabel: \"Dissatisfied (2/5)\",\n  ScoreNeutralLabel: \"Neutral (3/5)\",\n  ScoreSatisfiedLabel: \"Satisfied (4/5)\",\n  ScoreVerySatisfiedLabel: \"Very satisfied (5/5)\",\n  SuccessMessage: \"Feedback received, thank you!\",\n  SendButton: \"Send feedback\"\n}, ji = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    height: \"24px\",\n    viewBox: \"0 0 24 24\",\n    width: \"24px\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"m10 15.17l9.193-9.191l1.414 1.414l-10.606 10.606l-6.364-6.364l1.414-1.414l4.95 4.95Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Hi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    height: \"24px\",\n    viewBox: \"0 0 24 24\",\n    width: \"24px\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 24C5.3724 24 0 18.6276 0 12C0 5.3724 5.3724 0 12 0C18.6276 0 24 5.3724 24 12C24 18.6276 18.6276 24 12 24ZM10.8036 16.8L19.2876 8.3148L17.5908 6.618L10.8036 13.4064L7.4088 10.0116L5.712 11.7084L10.8036 16.8Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Ki = ({\n  variant: t = \"primary\",\n  children: e,\n  ...r\n}) => {\n  const n = [\"button\", t].join(\" \");\n  return /* @__PURE__ */ h(\"button\", { class: n, ...r }, e);\n}, Br = (t = { height: \"10px\", width: \"10px\" }) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    width: \"128\",\n    height: \"128\",\n    viewBox: \"0 0 128 128\",\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M117.333 0C123.224 0 128 4.77563 128 10.6667V117.333C128 123.224 123.224 128 117.333 128H10.6667C4.77563 128 1.71804e-07 123.224 0 117.333V10.6667C0 4.77563 4.77563 1.71801e-07 10.6667 0H117.333ZM10.6667 10.6667V117.333L117.333 10.6667H10.6667Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Gt = () => /* @__PURE__ */ h(\"footer\", { class: \"plug\" }, /* @__PURE__ */ h(\"a\", { href: \"https://reflag.com\", rel: \"noreferrer\", target: \"_blank\" }, \"Powered by \", /* @__PURE__ */ h(Br, { height: \"10px\", width: \"10px\" }), \" Reflag\")), Wi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22ZM12 20C14.1217 20 16.1566 19.1571 17.6569 17.6569C19.1571 16.1566 20 14.1217 20 12C20 9.87827 19.1571 7.84344 17.6569 6.34315C16.1566 4.84285 14.1217 4 12 4C9.87827 4 7.84344 4.84285 6.34315 6.34315C4.84285 7.84344 4 9.87827 4 12C4 14.1217 4.84285 16.1566 6.34315 17.6569C7.84344 19.1571 9.87827 20 12 20Z\",\n      fill: \"currentColor\"\n    }\n  ),\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 15C13.1835 15 14.2712 15.4113 15.1279 16.0991C15.4665 16.3709 15.4398 16.8738 15.1187 17.166C14.8962 17.3685 14.5788 17.4225 14.2915 17.3332C13.605 17.1198 12.8259 17 12 17C11.1741 17 10.3949 17.1205 9.70841 17.3331C9.42116 17.422 9.104 17.3677 8.88161 17.1653C8.56025 16.8728 8.53318 16.3695 8.87206 16.0976C9.2087 15.8274 9.57986 15.6014 9.97666 15.426C10.6139 15.1442 11.3032 14.9991 12 15ZM8.5 10C8.89783 10 9.27936 10.158 9.56066 10.4393C9.84197 10.7206 10 11.1022 10 11.5C10 11.8978 9.84197 12.2794 9.56066 12.5607C9.27936 12.842 8.89783 13 8.5 13C8.10218 13 7.72065 12.842 7.43934 12.5607C7.15804 12.2794 7 11.8978 7 11.5C7 11.1022 7.15804 10.7206 7.43934 10.4393C7.72065 10.158 8.10218 10 8.5 10ZM15.5 10C15.8978 10 16.2794 10.158 16.5607 10.4393C16.842 10.7206 17 11.1022 17 11.5C17 11.8978 16.842 12.2794 16.5607 12.5607C16.2794 12.842 15.8978 13 15.5 13C15.1022 13 14.7206 12.842 14.4393 12.5607C14.158 12.2794 14 11.8978 14 11.5C14 11.1022 14.158 10.7206 14.4393 10.4393C14.7206 10.158 15.1022 10 15.5 10Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Zi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22ZM12 20C14.1217 20 16.1566 19.1571 17.6569 17.6569C19.1571 16.1566 20 14.1217 20 12C20 9.87827 19.1571 7.84344 17.6569 6.34315C16.1566 4.84285 14.1217 4 12 4C9.87827 4 7.84344 4.84285 6.34315 6.34315C4.84285 7.84344 4 9.87827 4 12C4 14.1217 4.84285 16.1566 6.34315 17.6569C7.84344 19.1571 9.87827 20 12 20ZM8 15C8 14.4477 8.44771 14 9 14H15C15.5523 14 16 14.4477 16 15V15C16 15.5523 15.5523 16 15 16H9C8.44771 16 8 15.5523 8 15V15ZM8 11C7.60217 11 7.22064 10.842 6.93934 10.5607C6.65803 10.2794 6.5 9.89782 6.5 9.5C6.5 9.10217 6.65803 8.72064 6.93934 8.43934C7.22064 8.15803 7.60217 8 8 8C8.39782 8 8.77935 8.15803 9.06066 8.43934C9.34196 8.72064 9.5 9.10217 9.5 9.5C9.5 9.89782 9.34196 10.2794 9.06066 10.5607C8.77935 10.842 8.39782 11 8 11ZM16 11C15.6022 11 15.2206 10.842 14.9393 10.5607C14.658 10.2794 14.5 9.89782 14.5 9.5C14.5 9.10217 14.658 8.72064 14.9393 8.43934C15.2206 8.15803 15.6022 8 16 8C16.3978 8 16.7794 8.15803 17.0607 8.43934C17.342 8.72064 17.5 9.10217 17.5 9.5C17.5 9.89782 17.342 10.2794 17.0607 10.5607C16.7794 10.842 16.3978 11 16 11Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Gi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22ZM12 20C14.1217 20 16.1566 19.1571 17.6569 17.6569C19.1571 16.1566 20 14.1217 20 12C20 9.87827 19.1571 7.84344 17.6569 6.34315C16.1566 4.84285 14.1217 4 12 4C9.87827 4 7.84344 4.84285 6.34315 6.34315C4.84285 7.84344 4 9.87827 4 12C4 14.1217 4.84285 16.1566 6.34315 17.6569C7.84344 19.1571 9.87827 20 12 20ZM8 11C7.60217 11 7.22064 10.842 6.93934 10.5607C6.65803 10.2794 6.5 9.89782 6.5 9.5C6.5 9.10217 6.65803 8.72064 6.93934 8.43934C7.22064 8.15803 7.60217 8 8 8C8.39782 8 8.77935 8.15803 9.06066 8.43934C9.34196 8.72064 9.5 9.10217 9.5 9.5C9.5 9.89782 9.34196 10.2794 9.06066 10.5607C8.77935 10.842 8.39782 11 8 11ZM16 11C15.6022 11 15.2206 10.842 14.9393 10.5607C14.658 10.2794 14.5 9.89782 14.5 9.5C14.5 9.10217 14.658 8.72064 14.9393 8.43934C15.2206 8.15803 15.6022 8 16 8C16.3978 8 16.7794 8.15803 17.0607 8.43934C17.342 8.72064 17.5 9.10217 17.5 9.5C17.5 9.89782 17.342 10.2794 17.0607 10.5607C16.7794 10.842 16.3978 11 16 11Z\",\n      fill: \"currentColor\"\n    }\n  ),\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M7.79862 15.4322C8.85269 16.5065 10.4964 17.4971 11.9993 17.4971C13.5011 17.4971 15.1701 16.5079 16.2097 15.4351C16.5083 15.1269 16.4581 14.6416 16.1408 14.3528C15.9042 14.1375 15.5656 14.0777 15.2972 14.2517C14.5161 14.7578 13.4271 15.7002 11.9993 15.7002C10.5688 15.7002 9.47831 14.7549 8.69694 14.2486C8.43116 14.0764 8.09564 14.1353 7.86141 14.3485C7.5435 14.6378 7.49757 15.1254 7.79862 15.4322Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Qi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22ZM12 20C14.1217 20 16.1566 19.1571 17.6569 17.6569C19.1571 16.1566 20 14.1217 20 12C20 9.87827 19.1571 7.84344 17.6569 6.34315C16.1566 4.84285 14.1217 4 12 4C9.87827 4 7.84344 4.84285 6.34315 6.34315C4.84285 7.84344 4 9.87827 4 12C4 14.1217 4.84285 16.1566 6.34315 17.6569C7.84344 19.1571 9.87827 20 12 20ZM8 17C7.44771 17 6.98992 16.5479 7.09965 16.0066C7.29346 15.0506 7.76447 14.1645 8.46447 13.4645C9.40215 12.5268 10.6739 12 12 12C13.3261 12 14.5979 12.5268 15.5355 13.4645C16.2355 14.1645 16.7065 15.0506 16.9003 16.0066C17.0101 16.5479 16.5523 17 16 17V17C15.4477 17 15.0156 16.5403 14.8349 16.0184C14.6877 15.5934 14.4454 15.2028 14.1213 14.8787C13.5587 14.3161 12.7956 14 12 14C11.2043 14 10.4413 14.3161 9.87868 14.8787C9.55459 15.2028 9.31232 15.5934 9.16513 16.0184C8.98442 16.5403 8.55228 17 8 17V17ZM8 11C7.60217 11 7.22064 10.842 6.93934 10.5607C6.65803 10.2794 6.5 9.89782 6.5 9.5C6.5 9.10217 6.65803 8.72064 6.93934 8.43934C7.22064 8.15803 7.60217 8 8 8C8.39782 8 8.77935 8.15803 9.06066 8.43934C9.34196 8.72064 9.5 9.10217 9.5 9.5C9.5 9.89782 9.34196 10.2794 9.06066 10.5607C8.77935 10.842 8.39782 11 8 11ZM16 11C15.6022 11 15.2206 10.842 14.9393 10.5607C14.658 10.2794 14.5 9.89782 14.5 9.5C14.5 9.10217 14.658 8.72064 14.9393 8.43934C15.2206 8.15803 15.6022 8 16 8C16.3978 8 16.7794 8.15803 17.0607 8.43934C17.342 8.72064 17.5 9.10217 17.5 9.5C17.5 9.89782 17.342 10.2794 17.0607 10.5607C16.7794 10.842 16.3978 11 16 11Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Yi = (t) => /* @__PURE__ */ h(\n  \"svg\",\n  {\n    fill: \"none\",\n    height: \"22\",\n    viewBox: \"0 0 24 24\",\n    width: \"22\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    ...t\n  },\n  /* @__PURE__ */ h(\n    \"path\",\n    {\n      d: \"M12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22C6.477 22 2 17.523 2 12C2 6.477 6.477 2 12 2ZM12 4C9.87827 4 7.84344 4.84285 6.34315 6.34315C4.84285 7.84344 4 9.87827 4 12C4 14.1217 4.84285 16.1566 6.34315 17.6569C7.84344 19.1571 9.87827 20 12 20C14.1217 20 16.1566 19.1571 17.6569 17.6569C19.1571 16.1566 20 14.1217 20 12C20 9.87827 19.1571 7.84344 17.6569 6.34315C16.1566 4.84285 14.1217 4 12 4ZM12 12C14 12 15.667 12.333 17 13C17 14.3261 16.4732 15.5979 15.5355 16.5355C14.5979 17.4732 13.3261 18 12 18C10.6739 18 9.40215 17.4732 8.46447 16.5355C7.52678 15.5979 7 14.3261 7 13C8.333 12.333 10 12 12 12ZM8.5 7C9.07633 6.99988 9.63499 7.19889 10.0815 7.56335C10.5279 7.9278 10.8347 8.43532 10.95 9H6.05C6.16526 8.43532 6.47209 7.9278 6.91855 7.56335C7.36501 7.19889 7.92367 6.99988 8.5 7ZM15.5 7C16.0763 6.99988 16.635 7.19889 17.0814 7.56335C17.5279 7.9278 17.8347 8.43532 17.95 9H13.05C13.1653 8.43532 13.4721 7.9278 13.9185 7.56335C14.365 7.19889 14.9237 6.99988 15.5 7Z\",\n      fill: \"currentColor\"\n    }\n  )\n), Qt = [\n  {\n    color: \"var(--reflag-feedback-dialog-rating-1-color, #dd6b20)\",\n    bg: \"var(--reflag-feedback-dialog-rating-1-background-color, #fbd38d)\",\n    icon: /* @__PURE__ */ h(Qi, null),\n    getLabel: (t) => t.ScoreVeryDissatisfiedLabel,\n    value: 1\n  },\n  {\n    color: \"var(--reflag-feedback-dialog-rating-2-color, #ed8936)\",\n    bg: \"var(--reflag-feedback-dialog-rating-2-background-color, #feebc8)\",\n    icon: /* @__PURE__ */ h(Wi, null),\n    getLabel: (t) => t.ScoreDissatisfiedLabel,\n    value: 2\n  },\n  {\n    color: \"var(--reflag-feedback-dialog-rating-3-color, #787c91)\",\n    bg: \"var(--reflag-feedback-dialog-rating-3-background-color, #e9e9ed)\",\n    icon: /* @__PURE__ */ h(Zi, null),\n    getLabel: (t) => t.ScoreNeutralLabel,\n    value: 3\n  },\n  {\n    color: \"var(--reflag-feedback-dialog-rating-4-color, #48bb78)\",\n    bg: \"var(--reflag-feedback-dialog-rating-4-background-color, #c6f6d5)\",\n    icon: /* @__PURE__ */ h(Gi, null),\n    getLabel: (t) => t.ScoreSatisfiedLabel,\n    value: 4\n  },\n  {\n    color: \"var(--reflag-feedback-dialog-rating-5-color, #38a169)\",\n    bg: \"var(--reflag-feedback-dialog-rating-5-background-color, #9ae6b4)\",\n    icon: /* @__PURE__ */ h(Yi, null),\n    getLabel: (t) => t.ScoreVerySatisfiedLabel,\n    value: 5\n  }\n], Ji = ({\n  t,\n  name: e,\n  selectedValue: r,\n  onChange: n\n}) => /* @__PURE__ */ h(\"div\", { class: \"star-rating\" }, /* @__PURE__ */ h(\"style\", null, Qt.map(\n  ({ bg: i, color: o }, s) => `\n            .star-rating-icons > input:nth-of-type(${s + 1}):checked + .button {\n              border-color: ${o};\n            }\n\n            .star-rating-icons > input:nth-of-type(${s + 1}):checked + .button > div {\n              background-color: ${i};\n            }\n\n            .star-rating-icons > input:nth-of-type(${s + 1}):checked ~ input:nth-of-type(${s + 2}) + .button {\n              border-left-color: ${o};\n            }\n          `\n)), /* @__PURE__ */ h(\"div\", { class: \"star-rating-icons\" }, Qt.map((i) => /* @__PURE__ */ h(\n  Xi,\n  {\n    key: i.value,\n    isSelected: i.value === r,\n    name: e,\n    score: i,\n    t,\n    onChange: n\n  }\n)))), Xi = ({\n  isSelected: t,\n  name: e,\n  onChange: r,\n  score: n,\n  t: i\n}) => {\n  var l, f;\n  const o = U(null), { refs: s, floatingStyles: a, middlewareData: c } = Ur({\n    placement: \"top\",\n    middleware: [\n      Pr(4),\n      qr({\n        element: o\n      })\n    ]\n  });\n  return /* @__PURE__ */ h(B, null, /* @__PURE__ */ h(\n    \"input\",\n    {\n      defaultChecked: t,\n      id: `reflag-feedback-score-${n.value}`,\n      name: e,\n      type: \"radio\",\n      value: n.value,\n      onChange: r\n    }\n  ), /* @__PURE__ */ h(\n    \"label\",\n    {\n      ref: s.setReference,\n      \"aria-label\": n.getLabel(i),\n      class: \"button\",\n      for: `reflag-feedback-score-${n.value}`,\n      style: { color: n.color }\n    },\n    /* @__PURE__ */ h(\n      \"div\",\n      {\n        style: {\n          position: \"absolute\",\n          top: 0,\n          left: 0,\n          width: \"100%\",\n          height: \"100%\",\n          opacity: 0.2,\n          // TODO: fix overflow\n          zIndex: 1\n        }\n      }\n    ),\n    /* @__PURE__ */ h(\"span\", { style: { zIndex: 2, display: \"flex\", alignItems: \"center\" } }, n.icon)\n  ), /* @__PURE__ */ h(\"div\", { ref: s.setFloating, class: \"button-tooltip\", style: a }, n.getLabel(i), /* @__PURE__ */ h(\n    \"div\",\n    {\n      ref: o,\n      class: \"button-tooltip-arrow\",\n      style: {\n        left: ((l = c.arrow) == null ? void 0 : l.x) != null ? `${c.arrow.x}px` : \"\",\n        top: ((f = c.arrow) == null ? void 0 : f.y) != null ? `${c.arrow.y}px` : \"\"\n      }\n    }\n  )));\n}, eo = 400;\nfunction to(t) {\n  var r, n;\n  const e = new FormData(t);\n  return {\n    score: Number((r = e.get(\"score\")) == null ? void 0 : r.toString()),\n    comment: (((n = e.get(\"comment\")) == null ? void 0 : n.toString()) || \"\").trim()\n  };\n}\nconst ro = ({\n  question: t,\n  scoreState: e,\n  openWithCommentVisible: r,\n  onInteraction: n,\n  onSubmit: i,\n  onScoreSubmit: o,\n  t: s\n}) => {\n  const [a, c] = A(!1), [l, f] = A(\n    \"idle\"\n  ), [u, m] = A(), [d, g] = A(!0), b = async (O) => {\n    O.preventDefault();\n    const T = {\n      ...to(O.target),\n      question: t\n    };\n    if (T.score) {\n      m(\"\");\n      try {\n        f(\"submitting\"), await i(T), f(\"submitted\");\n      } catch (S) {\n        f(\"idle\"), S instanceof Error ? m(S.message) : m(typeof S == \"string\" ? S : \"Couldn't submit feedback. Please try again.\");\n      }\n    }\n  }, p = U(null), y = U(null), v = U(null), _ = U(null), x = U(null), w = P(() => {\n    p.current !== null && v.current !== null && _.current !== null && (p.current.style.maxHeight = `${v.current.clientHeight}px`, _.current.style.position = \"absolute\", _.current.style.opacity = \"0\", _.current.style.pointerEvents = \"none\");\n  }, [p, v, _]), k = P(() => {\n    p.current !== null && v.current !== null && _.current !== null && (p.current.style.maxHeight = `${v.current.clientHeight + // Header height\n    _.current.clientHeight + // Comment + Button Height\n    10}px`, _.current.style.position = \"relative\", _.current.style.opacity = \"1\", _.current.style.pointerEvents = \"all\");\n  }, [p, v, _]), C = P(() => {\n    p.current !== null && y.current !== null && x.current !== null && (y.current.style.opacity = \"0\", y.current.style.pointerEvents = \"none\", p.current.style.maxHeight = `${x.current.clientHeight}px`, setTimeout(() => {\n      x.current.style.position = \"relative\", x.current.style.opacity = \"1\", x.current.style.pointerEvents = \"all\", g(!1);\n    }, eo + 10));\n  }, [y, p, x]);\n  return ge(() => {\n    l === \"submitted\" ? C() : r || a ? k() : w();\n  }, [\n    w,\n    k,\n    C,\n    r,\n    a,\n    l\n  ]), /* @__PURE__ */ h(\"div\", { ref: p, class: \"container\" }, /* @__PURE__ */ h(\"div\", { ref: x, class: \"submitted\" }, /* @__PURE__ */ h(\"div\", { class: \"submitted-check\" }, /* @__PURE__ */ h(Hi, { height: 24, width: 24 })), /* @__PURE__ */ h(\"p\", { class: \"text\" }, s.SuccessMessage), /* @__PURE__ */ h(Gt, null)), d && /* @__PURE__ */ h(\n    \"form\",\n    {\n      ref: y,\n      class: \"form\",\n      method: \"dialog\",\n      style: { opacity: 1 },\n      onClick: n,\n      onFocus: n,\n      onFocusCapture: n,\n      onSubmit: b\n    },\n    /* @__PURE__ */ h(\n      \"div\",\n      {\n        ref: v,\n        \"aria-labelledby\": \"reflag-feedback-score-label\",\n        class: \"form-control\",\n        role: \"group\"\n      },\n      /* @__PURE__ */ h(\"div\", { class: \"title\", id: \"reflag-feedback-score-label\" }, t),\n      /* @__PURE__ */ h(\n        Ji,\n        {\n          name: \"score\",\n          t: s,\n          onChange: async (O) => {\n            c(!0), await o({\n              question: t,\n              score: Number(O.currentTarget.value)\n            });\n          }\n        }\n      ),\n      /* @__PURE__ */ h(no, { scoreState: e, t: s })\n    ),\n    /* @__PURE__ */ h(\"div\", { ref: _, class: \"form-expanded-content\" }, /* @__PURE__ */ h(\"div\", { class: \"form-control\" }, /* @__PURE__ */ h(\n      \"textarea\",\n      {\n        class: \"textarea\",\n        id: \"reflag-feedback-comment-label\",\n        name: \"comment\",\n        placeholder: s.QuestionPlaceholder,\n        rows: 4\n      }\n    )), u && /* @__PURE__ */ h(\"p\", { class: \"error\" }, u), /* @__PURE__ */ h(\n      Ki,\n      {\n        disabled: !a || l === \"submitting\" || e === \"submitting\",\n        type: \"submit\"\n      },\n      s.SendButton\n    ), /* @__PURE__ */ h(Gt, null))\n  ));\n}, no = ({ t, scoreState: e }) => {\n  const [r, n] = A(!1), [i, o] = A(!1);\n  ge(() => {\n    if (e === \"idle\") {\n      n(!1);\n      return;\n    }\n    if (e === \"submitted\") {\n      n(!1), o(!0);\n      return;\n    }\n    const l = setTimeout(() => {\n      n(!0);\n    }, 400);\n    return () => clearTimeout(l);\n  }, [e]);\n  const s = e === \"idle\" || e === \"submitting\" && !i && !r, a = e !== \"submitted\" && !i && r, c = e === \"submitted\" || i;\n  return /* @__PURE__ */ h(\"div\", { class: \"score-status-container\" }, /* @__PURE__ */ h(\"span\", { class: \"score-status\", style: { opacity: s ? 1 : 0 } }, t.ScoreStatusDescription), /* @__PURE__ */ h(\"div\", { class: \"score-status\", style: { opacity: a ? 1 : 0 } }, t.ScoreStatusLoading), /* @__PURE__ */ h(\"span\", { class: \"score-status\", style: { opacity: c ? 1 : 0 } }, /* @__PURE__ */ h(ji, { height: 14, style: { marginRight: 3 }, width: 14 }), \" \", t.ScoreStatusReceived));\n}, io = ({\n  initialDuration: t,\n  enabled: e,\n  onEnd: r\n}) => {\n  const [n, i] = A(!e), [o, s] = A(t), [a, c] = A(Date.now()), [l, f] = A(Date.now());\n  ge(() => {\n    if (n) return;\n    const p = setInterval(() => {\n      f(Date.now()), Date.now() >= a + o && (clearTimeout(p), i(!0), r());\n    }, 25);\n    return () => {\n      clearTimeout(p);\n    };\n  }, [o, r, a, n]);\n  const u = P(() => {\n    i(!0);\n  }, []), m = P((p) => {\n    c(Date.now()), s(p), i(!1);\n  }, []), d = a + o, b = (n ? 0 : l - a) / o;\n  return {\n    duration: o,\n    elapsedFraction: b,\n    startTime: a,\n    endTime: d,\n    stopped: n,\n    startWithDuration: m,\n    stop: u\n  };\n}, oo = \".button{-moz-appearance:none;-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;-moz-user-select:none;-webkit-user-select:none;user-select:none;position:relative;white-space:nowrap;height:2rem;padding-left:.75rem;padding-right:.75rem;gap:.5em;justify-content:center;border:none;cursor:pointer;font-family:var(--reflag-feedback-dialog-font-family);font-size:12px;font-weight:500;box-shadow:0 1px 2px #0000000f,0 1px 1px #00000003;border-radius:6px;border-radius:var(--reflag-feedback-dialog-border-radius, 6px);transition-duration:.2s;transition-property:background-color,border-color,color,opacity,box-shadow,transform}.button.primary{background-color:#fff;background-color:var( --reflag-feedback-dialog-primary-button-background-color, white );color:#1e1f24;color:var(--reflag-feedback-dialog-primary-button-color, #1e1f24);border:1px solid #d8d9df;border:1px solid var(--reflag-feedback-dialog-primary-border-color, #d8d9df)}.button:disabled{opacity:.5;cursor:not-allowed;border-color:#d8d9df;border-color:var(--reflag-feedback-dialog-primary-border-color, #d8d9df);transition-duration:.2s;transition-property:background-color,border-color,color,opacity,box-shadow,transform}.button:focus{outline:none;border-color:#787c91;border-color:var( --reflag-feedback-dialog-input-focus-border-color, #787c91 )}.dialog{position:fixed;width:210px;overflow:visible;padding:16px 22px 10px;font-size:1rem;font-size:var(--reflag-feedback-dialog-font-size, 1rem);font-family:InterVariable,Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Open Sans,sans-serif;font-family:var( --reflag-feedback-dialog-font-family, InterVariable, Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Open Sans, sans-serif );color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);border:1px solid;border-color:#d8d9df;border-color:var(--reflag-feedback-dialog-border, #d8d9df);border-radius:6px;border-radius:var(--reflag-feedback-dialog-border-radius, 6px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var( --reflag-feedback-dialog-box-shadow, 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05) );background-color:#fff;background-color:var(--reflag-feedback-dialog-background-color, #fff);z-index:2147410000}.dialog:not(.modal){margin:0;margin:initial;top:auto;top:initial;right:auto;right:initial;left:auto;left:initial;bottom:auto;bottom:initial}.arrow{background-color:#fff;background-color:var(--reflag-feedback-dialog-background-color, #fff);box-shadow:#d8d9df -1px -1px 1px;box-shadow:var(--reflag-feedback-dialog-border, #d8d9df) -1px -1px 1px 0}.arrow.bottom{box-shadow:#d8d9df -1px -1px 1px;box-shadow:var(--reflag-feedback-dialog-border, #d8d9df) -1px -1px 1px 0}.arrow.top{box-shadow:#d8d9df 1px 1px 1px;box-shadow:var(--reflag-feedback-dialog-border, #d8d9df) 1px 1px 1px 0}.arrow.left{box-shadow:#d8d9df 1px -1px 1px;box-shadow:var(--reflag-feedback-dialog-border, #d8d9df) 1px -1px 1px 0}.arrow.right{box-shadow:#d8d9df -1px 1px 1px;box-shadow:var(--reflag-feedback-dialog-border, #d8d9df) -1px 1px 1px 0}.close{position:absolute;top:6px;right:6px;width:28px;height:28px;padding:0;margin:0;background:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24)}.close svg{position:absolute}.plug{font-size:.75em;text-align:center;margin-top:7px;width:100%}.plug a{opacity:.5;color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);text-decoration:none;transition:opacity .2s}.plug a:hover{opacity:.7}.container{overflow-y:hidden;transition:max-height .4s cubic-bezier(.65,0,.35,1)}.form{display:flex;flex-direction:column;align-items:flex-start;gap:10px;overflow-y:hidden;max-height:400px;transition:opacity .4s cubic-bezier(.65,0,.35,1)}.form-control{display:flex;flex-direction:column;width:100%;gap:8px;border:none;padding:0;margin:0;font-size:12px;color:#787c91;color:var(--reflag-feedback-dialog-secondary-color, #787c91)}.form-expanded-content{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:10px;transition:opacity .4s cubic-bezier(.65,0,.35,1);opacity:0;position:absolute;top:0;left:0}.title{color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);font-size:15px;font-weight:400;line-height:115%;text-wrap:balance;max-width:calc(100% - 20px);margin-bottom:6px;line-height:1.3}.dimmed{opacity:.5}.textarea{background-color:transparent;border:1px solid;border-color:#d8d9df;border-color:var(--reflag-feedback-dialog-input-border-color, #d8d9df);padding:.5rem .75rem;border-radius:6px;border-radius:var(--reflag-feedback-dialog-border-radius, 6px);transition:border-color .2s ease-in-out;font-family:InterVariable,Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Open Sans,sans-serif;font-family:var( --reflag-feedback-dialog-font-family, InterVariable, Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Open Sans, sans-serif );line-height:1.3;resize:none;color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);font-size:13px}.textarea::-moz-placeholder{color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);opacity:.36}.textarea::placeholder{color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);opacity:.36}.textarea:focus{outline:none;border-color:#787c91;border-color:var( --reflag-feedback-dialog-input-focus-border-color, #787c91 )}.score-status-container{position:relative;padding-bottom:6px;height:14px}.score-status-container>.score-status{display:flex;align-items:center;position:absolute;top:0;left:0;opacity:0;transition:opacity .2s ease-in-out}.error{margin:0;color:#e53e3e;color:var(--reflag-feedback-dialog-error-color, #e53e3e);font-size:.8125em;font-weight:500}.submitted{display:flex;flex-direction:column;transition:opacity .4s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:0;opacity:0;pointer-events:none;width:calc(100% - 56px);padding:0 28px}.submitted .submitted-check{background:#fff;background:var(--reflag-feedback-dialog-submitted-check-color, #fff);color:#38a169;color:var( --reflag-feedback-dialog-submitted-check-background-color, #38a169 );height:24px;width:24px;display:block;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:16px auto 8px}.submitted .text{margin:auto auto 16px;text-align:center;color:#1e1f24;color:var(--reflag-feedback-dialog-color, #1e1f24);font-size:1rem;font-size:var(--reflag-feedback-dialog-font-size, 1rem);font-weight:400;line-height:130%;flex-grow:1;max-width:160px}.submitted>.plug{flex-grow:0}.radial-progress>circle{stroke:#1e1f24;stroke:var(--reflag-feedback-dialog-color, #1e1f24);opacity:.2}.star-rating{display:flex;flex-direction:column}.star-rating-icons{display:flex;width:0}.star-rating-icons>input{border:0px;clip:rect(0px,0px,0px,0px);height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;position:absolute}.star-rating-icons>.button{border:1px solid;border-color:#d8d9df;border-color:var(--reflag-feedback-dialog-input-border-color, #d8d9df);padding:0 7px}.star-rating-icons>.button:not(:first-of-type){border-top-left-radius:0;border-bottom-left-radius:0}.star-rating-icons>.button:not(:last-of-type){border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-1px}.star-rating-icons>.button+.button-tooltip{pointer-events:none;opacity:0;background:#000;background:var(--reflag-feedback-dialog-tooltip-background-color, #000);color:#fff;color:var(--reflag-feedback-dialog-tooltip-color, #fff);padding:6px 8px;border-radius:4px;font-size:13px}.star-rating-icons>.button:hover+.button-tooltip{opacity:1}.star-rating-icons>.button>svg{transition:transform .2s ease-in-out}.button-tooltip-arrow{position:absolute;width:10px;height:10px;background-color:#000;background-color:var( --reflag-feedback-dialog-tooltip-background-color, #000 );transform:rotate(45deg)}\", so = ({ diameter: t, progress: e }) => {\n  const n = t / 2 - 2, i = 2 * Math.PI * n, o = i * e;\n  return /* @__PURE__ */ h(\"svg\", { class: \"radial-progress\", height: t, width: t }, /* @__PURE__ */ h(\n    \"circle\",\n    {\n      cx: n + 2,\n      cy: n + 2,\n      fill: \"transparent\",\n      r: n,\n      \"stroke-dasharray\": i,\n      \"stroke-dashoffset\": o,\n      \"stroke-width\": 2,\n      transform: `rotate(-90) translate(-${n * 2 + 4} 0)`\n    }\n  ));\n}, ao = 20 * 1e3, lo = 3 * 1e3, co = ({\n  key: t,\n  title: e = Ze.DefaultQuestionLabel,\n  position: r,\n  translations: n = Ze,\n  openWithCommentVisible: i = !1,\n  onClose: o,\n  onDismiss: s,\n  onSubmit: a,\n  onScoreSubmit: c\n}) => {\n  const [l, f] = A(void 0), [u, m] = A(\"idle\"), { isOpen: d, close: g } = Vr({ onClose: o, initialValue: !0 }), b = io({\n    enabled: r.type === \"DIALOG\",\n    initialDuration: ao,\n    onEnd: g\n  }), p = P(\n    async (_) => {\n      await a({ ..._, feedbackId: l }), b.startWithDuration(lo);\n    },\n    [b, l, a]\n  ), y = P(\n    async (_) => {\n      if (c !== void 0) {\n        m(\"submitting\");\n        const x = await c({ ..._, feedbackId: l });\n        f(x.feedbackId), m(\"submitted\");\n      }\n    },\n    [l, c]\n  ), v = P(() => {\n    b.stop(), g(), s == null || s();\n  }, [b, g, s]);\n  return /* @__PURE__ */ h(B, null, /* @__PURE__ */ h(\"style\", { dangerouslySetInnerHTML: { __html: oo } }), /* @__PURE__ */ h(\n    zr,\n    {\n      key: t,\n      close: g,\n      containerId: nt,\n      isOpen: d,\n      position: r,\n      onDismiss: s\n    },\n    /* @__PURE__ */ h(B, null, /* @__PURE__ */ h(\n      ro,\n      {\n        key: t,\n        openWithCommentVisible: i,\n        question: e,\n        scoreState: u,\n        t: { ...Ze, ...n },\n        onInteraction: b.stop,\n        onScoreSubmit: y,\n        onSubmit: p\n      }\n    ), /* @__PURE__ */ h(\"button\", { class: \"close\", onClick: v }, !b.stopped && b.elapsedFraction > 0 && /* @__PURE__ */ h(\n      so,\n      {\n        diameter: 28,\n        progress: 1 - b.elapsedFraction\n      }\n    ), /* @__PURE__ */ h($i, null)))\n  ));\n}, Nr = {\n  type: \"DIALOG\",\n  placement: \"bottom-right\"\n};\nfunction uo() {\n  return typeof HTMLElement < \"u\" && \"showPopover\" in HTMLElement.prototype && \"hidePopover\" in HTMLElement.prototype;\n}\nfunction fo(t) {\n  t.stopPropagation();\n}\nfunction ho() {\n  let t = document.querySelector(`#${nt}`);\n  if (!t) {\n    t = document.createElement(\"div\"), t.attachShadow({ mode: \"open\" }), t.style.all = \"initial\", t.id = nt, document.body.appendChild(t);\n    for (const e of wr)\n      t.addEventListener(e, fo, { passive: !0 });\n  }\n  return t.shadowRoot;\n}\nlet Yt = 0;\nfunction $r(t) {\n  const e = t.position || Nr;\n  if (e.type !== \"MODAL\" && !uo()) {\n    console.warn(\n      \"[Reflag]\",\n      \"Unable to open feedback popup. Popover API is not supported in this browser\"\n    );\n    return;\n  }\n  const r = ho();\n  if (e.type === \"POPOVER\") {\n    if (!e.anchor) {\n      console.warn(\n        \"[Reflag]\",\n        \"Unable to open popover. Anchor must be a defined DOM-element\"\n      );\n      return;\n    }\n    if (!document.body.contains(e.anchor)) {\n      console.warn(\n        \"[Reflag]\",\n        \"Unable to open popover. Anchor must be an attached DOM-element\"\n      );\n      return;\n    }\n  }\n  Yt++, _r(\n    h(co, { ...t, position: e, key: Yt.toString() }),\n    r\n  );\n}\nconst go = [0, 5e3], po = (t = {}) => (e, r) => {\n  r.openFeedbackForm(t);\n};\nasync function jr(t, e, r) {\n  if (!r.score && !r.comment) {\n    e.error(\n      \"`feedback` call ignored, either `score` or `comment` must be provided\"\n    );\n    return;\n  }\n  if (!r.userId) {\n    e.error(\"`feedback` call ignored, no `userId` provided\");\n    return;\n  }\n  const n = \"featureId\" in r ? r.featureId : void 0, i = \"flagKey\" in r ? r.flagKey : void 0;\n  if (!n && !i) {\n    e.error(\n      \"`feedback` call ignored. Neither `featureId` nor `flagKey` have been provided\"\n    );\n    return;\n  }\n  const o = {\n    ...r,\n    flagKey: void 0,\n    source: r.source ?? \"sdk\",\n    featureId: n,\n    key: i\n  }, s = await t.post({\n    path: \"/feedback\",\n    body: o\n  });\n  return s.ok || await ie({\n    logger: e,\n    res: s,\n    message: \"feedback request failed\"\n  }), e.debug(\"sent feedback\", s), s;\n}\nclass mo {\n  constructor(e, r, n, i = po(), o, s = Nr, a = {}, c, l) {\n    this.sseBaseUrl = e, this.logger = r, this.httpClient = n, this.feedbackPromptHandler = i, this.userId = o, this.position = s, this.feedbackTranslations = a, this.enqueueBulkEvent = c, this.credentials = l, this.initialized = !1, this.sseChannel = null;\n  }\n  /**\n   * Start receiving automated feedback surveys.\n   */\n  async initialize() {\n    if (this.initialized) {\n      this.logger.warn(\"automatic feedback client already initialized\");\n      return;\n    }\n    this.initialized = !0;\n    const e = await this.getChannel();\n    if (e)\n      try {\n        this.logger.debug(\"automatic feedback enabled\", e), this.sseChannel = ur({\n          channel: e,\n          callback: (r) => this.handleFeedbackPromptRequest(\n            this.userId,\n            r.data ?? r\n          ),\n          logger: this.logger,\n          sseBaseUrl: this.sseBaseUrl,\n          credentials: this.credentials\n        }), this.logger.debug(\"automatic feedback connection established\");\n      } catch (r) {\n        this.logger.error(\"error initializing automatic feedback client\", r);\n      }\n  }\n  stop() {\n    this.sseChannel && (this.sseChannel.close(), this.sseChannel = null);\n  }\n  async setUser(e) {\n    this.stop(), this.initialized = !1, this.userId = e, await this.initialize();\n  }\n  setUserId(e) {\n    this.userId = e;\n  }\n  handleFeedbackPromptRequest(e, r) {\n    const n = Zn(r);\n    n ? Gn(e, n, async (i, o, s) => {\n      await this.feedbackPromptEvent({\n        promptId: n.promptId,\n        featureId: n.featureId,\n        promptedQuestion: n.question,\n        event: \"received\",\n        userId: e\n      }), await this.triggerFeedbackPrompt(i, o, s);\n    }) || this.logger.info(\n      \"feedback prompt not shown, it was either expired or already processed\",\n      r\n    ) : this.logger.error(\"invalid feedback prompt message received\", r);\n  }\n  async triggerFeedbackPrompt(e, r, n) {\n    let i;\n    await this.feedbackPromptEvent({\n      promptId: r.promptId,\n      featureId: r.featureId,\n      promptedQuestion: r.question,\n      event: \"shown\",\n      userId: e\n    });\n    const o = async (a) => {\n      if (!a) {\n        await this.feedbackPromptEvent({\n          promptId: r.promptId,\n          featureId: r.featureId,\n          event: \"dismissed\",\n          userId: e,\n          promptedQuestion: r.question\n        }), n();\n        return;\n      }\n      const c = {\n        feedbackId: i,\n        featureId: r.featureId,\n        userId: e,\n        companyId: a.companyId,\n        score: a.score,\n        comment: a.comment,\n        promptId: r.promptId,\n        question: a.question,\n        promptedQuestion: r.question,\n        source: \"prompt\"\n      }, l = await jr(\n        this.httpClient,\n        this.logger,\n        c\n      );\n      if (n(), l && l.ok)\n        return await (l == null ? void 0 : l.json());\n    }, s = {\n      reply: o,\n      openFeedbackForm: (a) => {\n        $r({\n          key: r.featureId,\n          title: r.question,\n          onScoreSubmit: async (c) => {\n            const l = await o(c);\n            return i = l.feedbackId, { feedbackId: l.feedbackId };\n          },\n          onSubmit: async (c) => {\n            var l;\n            await o(c), (l = a.onAfterSubmit) == null || l.call(a, c);\n          },\n          onDismiss: () => o(null),\n          position: this.position,\n          translations: this.feedbackTranslations,\n          ...a\n        });\n      }\n    };\n    this.feedbackPromptHandler(r, s);\n  }\n  async feedbackPromptEvent(e) {\n    const r = {\n      action: e.event,\n      featureId: e.featureId,\n      promptId: e.promptId,\n      userId: e.userId,\n      promptedQuestion: e.promptedQuestion\n    };\n    if (this.enqueueBulkEvent) {\n      await this.enqueueBulkEvent({\n        type: \"prompt-event\",\n        ...r\n      }), this.logger.debug(\"queued prompt event\", r);\n      return;\n    }\n    const n = await this.httpClient.post({\n      path: \"/feedback/prompt-events\",\n      body: r\n    });\n    return n.ok || await ie({\n      logger: this.logger,\n      res: n,\n      message: \"prompt event request failed\",\n      extra: {\n        action: r.action,\n        featureId: r.featureId,\n        promptId: r.promptId\n      }\n    }), this.logger.debug(\"sent prompt event\", n), n;\n  }\n  async getChannel() {\n    try {\n      return await fr(go, async () => {\n        const e = await this.httpClient.post({\n          path: \"/feedback/prompting-init\",\n          body: {\n            userId: this.userId\n          }\n        });\n        if (this.logger.debug(\"automatic feedback status sent\", e), !e.ok) {\n          try {\n            await ie({\n              logger: this.logger,\n              res: e,\n              message: \"automatic feedback init request failed\"\n            });\n          } catch {\n            this.logger.error(\n              \"error initializing automatic feedback\",\n              new Error(`unexpected response code: ${e.status}`)\n            );\n          }\n          return;\n        }\n        const r = await e.json();\n        if (r.success && r.channel)\n          return r.channel;\n      });\n    } catch (e) {\n      this.logger.error(\"error initializing automatic feedback\", e);\n      return;\n    }\n  }\n}\nconst bo = 60 * 1e3;\nclass yo {\n  constructor(e, r) {\n    this.eventsPerMinute = e, this.logger = r, this.eventsByKey = {};\n  }\n  rateLimited(e, r) {\n    const n = Date.now();\n    this.eventsByKey[e] || (this.eventsByKey[e] = []);\n    const i = this.eventsByKey[e];\n    for (; i.length && n - i[0] > bo; )\n      i.shift();\n    if (i.length >= this.eventsPerMinute) {\n      this.logger.debug(\"Rate limit exceeded\", { key: e });\n      return;\n    }\n    return i.push(n), r();\n  }\n}\nfunction He(t) {\n  return t instanceof Error && // Safari\n  (t.name === \"SecurityError\" || // Firefox\n  t.name === \"NS_ERROR_FAILURE\" || t.name === \"NS_ERROR_ABORT\");\n}\nfunction vo() {\n  return {\n    getItem: async () => null,\n    setItem: async () => {\n    },\n    removeItem: async () => {\n    }\n  };\n}\nfunction _o(t) {\n  try {\n    return typeof localStorage < \"u\" && localStorage ? localStorage.getItem(t) : null;\n  } catch (e) {\n    if (He(e))\n      return null;\n    throw e;\n  }\n}\nfunction xo(t, e) {\n  try {\n    return typeof localStorage < \"u\" && localStorage ? (localStorage.setItem(t, e), !0) : !1;\n  } catch (r) {\n    if (He(r))\n      return !1;\n    throw r;\n  }\n}\nfunction wo(t) {\n  try {\n    typeof localStorage < \"u\" && localStorage.removeItem(t);\n  } catch (e) {\n    if (He(e))\n      return;\n    throw e;\n  }\n}\nfunction Co() {\n  try {\n    if (typeof localStorage > \"u\" || !(\"setItem\" in localStorage) || !(\"removeItem\" in localStorage))\n      throw new Error(\n        \"localStorage is not available. Provide a custom storage adapter.\"\n      );\n  } catch (t) {\n    if (!He(t))\n      throw t;\n  }\n  return {\n    getItem: async (t) => _o(t),\n    setItem: async (t, e) => {\n      xo(t, e);\n    },\n    removeItem: async (t) => {\n      wo(t);\n    }\n  };\n}\nfunction ko() {\n  return fe ? vo() : Co();\n}\nfunction Hr() {\n  try {\n    if (typeof AbortController < \"u\" && typeof EventTarget < \"u\")\n      return new AbortController();\n  } catch {\n  }\n  let t = !1;\n  const e = /* @__PURE__ */ new Set();\n  return {\n    signal: {\n      get aborted() {\n        return t;\n      },\n      addEventListener(n, i) {\n        e.add(i);\n      },\n      removeEventListener(n, i) {\n        e.delete(i);\n      }\n    },\n    abort() {\n      if (!t) {\n        t = !0;\n        for (const n of e)\n          n();\n      }\n    }\n  };\n}\nclass So {\n  constructor() {\n    this.listeners = /* @__PURE__ */ new Map();\n  }\n  addEventListener(e, r, n) {\n    var o;\n    let i = this.listeners.get(e);\n    if (i || (i = /* @__PURE__ */ new Set(), this.listeners.set(e, i)), i.add(r), n && typeof n == \"object\" && n.signal) {\n      const s = n.signal;\n      if (s.aborted) {\n        i.delete(r);\n        return;\n      }\n      const a = () => {\n        var c;\n        i == null || i.delete(r), (c = s.removeEventListener) == null || c.call(s, \"abort\", a);\n      };\n      (o = s.addEventListener) == null || o.call(s, \"abort\", a, { once: !0 });\n    }\n  }\n  removeEventListener(e, r) {\n    var n;\n    (n = this.listeners.get(e)) == null || n.delete(r);\n  }\n  dispatchEvent(e) {\n    const r = this.listeners.get(e.type);\n    if (r)\n      for (const n of r)\n        n();\n  }\n}\nfunction Eo() {\n  return new So();\n}\nfunction ue(t) {\n  return typeof t == \"number\" && Number.isInteger(t) && t >= 0;\n}\nconst Fo = \"__reflag_fetched_flags\";\nfunction Io(t) {\n  if (!(typeof t > \"u\")) {\n    if (t === null) return null;\n    if (K(t) && !(typeof t.userOptedIn != \"boolean\" || typeof t.companyOptedIn != \"boolean\" || typeof t.isOptedIn != \"boolean\" || typeof t.name != \"string\" || !(typeof t.description == \"string\" || t.description === null)))\n      return {\n        userOptedIn: t.userOptedIn,\n        companyOptedIn: t.companyOptedIn,\n        isOptedIn: t.isOptedIn,\n        name: t.name,\n        description: t.description\n      };\n  }\n}\nfunction Jt(t) {\n  return Array.isArray(t) && t.every(\n    (e) => K(e) && typeof e.code == \"string\" && typeof e.field == \"string\" && typeof e.message == \"string\" && (typeof e.operator > \"u\" || typeof e.operator == \"string\")\n  );\n}\nfunction Kr(t) {\n  var r;\n  if (!K(t))\n    return;\n  const e = {};\n  for (const n in t) {\n    const i = t[n];\n    if (!K(i)) return;\n    const o = Io(i.optIn);\n    if (typeof i.isEnabled != \"boolean\" || i.key !== n || typeof i.targetingVersion != \"number\" || i.config && typeof i.config != \"object\" || i.missingContextFields && !Array.isArray(i.missingContextFields) || i.ruleEvaluationResults && !Array.isArray(i.ruleEvaluationResults) || typeof i.evaluationErrors < \"u\" && !Jt(i.evaluationErrors) || typeof ((r = i.config) == null ? void 0 : r.evaluationErrors) < \"u\" && !Jt(i.config.evaluationErrors) || typeof i.optInEnabled < \"u\" && typeof i.optInEnabled != \"boolean\" || typeof i.optIn < \"u\" && typeof o > \"u\")\n      return;\n    e[n] = {\n      isEnabled: i.isEnabled,\n      targetingVersion: i.targetingVersion,\n      key: n,\n      config: i.config,\n      missingContextFields: i.missingContextFields,\n      ruleEvaluationResults: i.ruleEvaluationResults,\n      evaluationErrors: i.evaluationErrors,\n      ...typeof i.optInEnabled < \"u\" && {\n        optInEnabled: i.optInEnabled\n      },\n      ...typeof i.optIn < \"u\" && { optIn: o }\n    };\n  }\n  return e;\n}\nclass Oo {\n  constructor({\n    storage: e,\n    staleTimeMs: r,\n    expireTimeMs: n\n  }) {\n    this.storage = e, this.storageKey = Fo, this.staleTimeMs = r, this.expireTimeMs = n;\n  }\n  async set(e, {\n    flags: r,\n    flagStateVersion: n\n  }) {\n    let i = {};\n    try {\n      const o = await this.storage.getItem(this.storageKey);\n      o && (i = Xt(JSON.parse(o)) ?? {});\n    } catch {\n    }\n    return i[e] = {\n      expireAt: Date.now() + this.expireTimeMs,\n      staleAt: Date.now() + this.staleTimeMs,\n      flags: r,\n      flagStateVersion: n\n    }, i = Object.fromEntries(\n      Object.entries(i).filter(([o, s]) => s.expireAt > Date.now())\n    ), await this.storage.setItem(this.storageKey, JSON.stringify(i)), i;\n  }\n  async get(e) {\n    try {\n      const r = await this.storage.getItem(this.storageKey);\n      if (r) {\n        const n = Xt(JSON.parse(r));\n        if (n && n[e] && n[e].expireAt > Date.now())\n          return {\n            flags: n[e].flags,\n            stale: n[e].staleAt < Date.now(),\n            flagStateVersion: n[e].flagStateVersion\n          };\n      }\n    } catch {\n    }\n  }\n}\nfunction Xt(t) {\n  if (!K(t))\n    return;\n  const e = {};\n  for (const r in t) {\n    const n = t[r];\n    if (!K(n) || typeof n.expireAt != \"number\" || typeof n.staleAt != \"number\" || n.flags && !Kr(n.flags) || typeof n.flagStateVersion < \"u\" && !ue(n.flagStateVersion))\n      return;\n    e[r] = {\n      expireAt: n.expireAt,\n      staleAt: n.staleAt,\n      flags: n.flags,\n      flagStateVersion: n.flagStateVersion\n    };\n  }\n  return e;\n}\nfunction K(t) {\n  return t && typeof t == \"object\" && !Array.isArray(t) || !1;\n}\nconst Lo = [0, 5e3], Ro = {\n  timeoutMs: 5e3,\n  staleTimeMs: 0,\n  staleWhileRevalidate: !1,\n  expireTimeMs: sr,\n  offline: !1\n};\nfunction Ao(t) {\n  if (!K(t) || typeof t.success != \"boolean\" || !K(t.features))\n    return;\n  const e = Kr(t.features);\n  if (!e)\n    return;\n  const r = ue(t.flagStateVersion) ? t.flagStateVersion : void 0;\n  return {\n    success: t.success,\n    flags: e,\n    flagStateVersion: r\n  };\n}\nconst er = \"__reflag_overrides\", To = 20, Mo = 60 * 1e3;\nclass Po {\n  constructor(e, r, n, {\n    bootstrappedState: i,\n    bootstrappedFlags: o,\n    cache: s,\n    rateLimiter: a,\n    fallbackFlags: c,\n    storage: l,\n    enqueueBulkEvent: f,\n    ...u\n  } = {}) {\n    this.httpClient = e, this.context = r, this.initialized = !1, this.bootstrapped = !1, this.initializationComplete = !1, this.flagStateAvailable = !1, this.fetchedFlags = {}, this.fetchedFlagsContextVersion = 0, this.flagOverrides = {}, this.flags = {}, this.fallbackFlags = {}, this.contextFetchVersion = 0, this.optInFlagsRequested = !1, this.optInFlagsLoading = !1, this.optInFlagsLoadingGeneration = 0, this.refreshEvents = [], this.config = Ro, this.eventTarget = Eo(), this.abortController = Hr(), this.config = {\n      ...this.config,\n      ...u\n    }, this.logger = at(n, \"[Flags]\"), this.rateLimiter = a ?? new yo(Rn, this.logger), this.enqueueBulkEvent = f, this.storage = (s ? void 0 : l) ?? ko(), this.cache = s ?? this.setupCache(this.config.staleTimeMs, this.config.expireTimeMs), this.fallbackFlags = this.setupFallbackFlags(c), (i || o) && (this.bootstrapped = !0, this.setFetchedFlags(\n      (i == null ? void 0 : i.flags) ?? o ?? {},\n      !1,\n      i == null ? void 0 : i.flagStateVersion\n    ));\n  }\n  async initialize() {\n    if (this.initialized) {\n      this.logger.warn(\"flags client already initialized\");\n      return;\n    }\n    this.initialized = !0;\n    let e = !1;\n    try {\n      const r = await this.getOverridesCache();\n      if (Object.keys(r).length > 0 && (this.flagOverrides = { ...r, ...this.flagOverrides }), !this.bootstrapped) {\n        const n = this.contextFetchVersion;\n        this.applyFetchedFlagsResult(\n          await this.maybeFetchFlags(n),\n          !0,\n          n\n        );\n      }\n      this.updateFlags(), e = !0;\n    } finally {\n      this.initializationComplete = !0, this.optInFlagsRequested && (e && this.bootstrapped ? this.refreshOptInMetadataIfNeeded() : this.finishOptInFlagsLoading(this.optInFlagsLoadingGeneration));\n    }\n  }\n  /**\n   * Stop the client.\n   */\n  stop() {\n    this.supersedeOptInFlagsLoading(!1), this.abortController.abort();\n  }\n  getFlags() {\n    return this.flags;\n  }\n  getFetchedFlags() {\n    return this.fetchedFlags;\n  }\n  hasFlagState() {\n    return this.flagStateAvailable;\n  }\n  requestOptInFlags() {\n    if (this.optInFlagsRequested = !0, !this.initializationComplete || this.fetchedFlagsContextVersion !== this.contextFetchVersion) {\n      (!this.bootstrapped || !this.hasOptInMetadataForCurrentContext()) && this.ensureOptInFlagsLoading();\n      return;\n    }\n    if (!this.bootstrapped) {\n      this.finishOptInFlagsLoading(this.optInFlagsLoadingGeneration);\n      return;\n    }\n    this.refreshOptInMetadataIfNeeded();\n  }\n  getIsLoadingOptInFlags() {\n    return this.optInFlagsLoading;\n  }\n  onOptInFlagsLoadingUpdated(e) {\n    const r = () => e(this.optInFlagsLoading);\n    this.eventTarget.addEventListener(\"optInFlagsLoadingUpdated\", r, {\n      signal: this.abortController.signal\n    });\n  }\n  resetOptInMetadataRefresh() {\n    this.optInMetadataRefreshAttemptContextVersion = void 0;\n  }\n  markBootstrappedStateApplied() {\n    if (this.bootstrapped = !0, !!this.optInFlagsRequested) {\n      if (this.hasOptInMetadataForCurrentContext()) {\n        this.finishOptInFlagsLoading(this.optInFlagsLoadingGeneration);\n        return;\n      }\n      this.ensureOptInFlagsLoading(), this.initializationComplete && this.refreshOptInMetadataIfNeeded();\n    }\n  }\n  async refreshOptInMetadataIfNeeded() {\n    if (!this.bootstrapped || !this.optInFlagsRequested) return;\n    if (!this.initializationComplete || this.fetchedFlagsContextVersion !== this.contextFetchVersion) {\n      this.ensureOptInFlagsLoading();\n      return;\n    }\n    if (this.hasOptInMetadataForCurrentContext()) {\n      this.finishOptInFlagsLoading(this.optInFlagsLoadingGeneration);\n      return;\n    }\n    const e = this.contextFetchVersion, r = this.optInMetadataRefresh;\n    if ((r == null ? void 0 : r.contextVersion) === e)\n      return r.promise;\n    if (this.config.offline || this.optInMetadataRefreshAttemptContextVersion === e) {\n      this.finishOptInFlagsLoading(this.optInFlagsLoadingGeneration);\n      return;\n    }\n    this.optInMetadataRefreshAttemptContextVersion = e, this.ensureOptInFlagsLoading();\n    const n = this.optInFlagsLoadingGeneration, i = {}, o = (async () => {\n      var s;\n      try {\n        await this.refreshFlags(this.fetchedFlagStateVersion);\n      } catch (a) {\n        this.logger.error(\"error refreshing opt-in flag metadata\", a);\n      } finally {\n        ((s = this.optInMetadataRefresh) == null ? void 0 : s.id) === i && (this.optInMetadataRefresh = void 0), this.finishOptInFlagsLoading(n);\n      }\n    })();\n    return this.optInMetadataRefresh = { contextVersion: e, id: i, promise: o }, o;\n  }\n  setContextWithoutFetch(e, r = !1) {\n    (!Q(this.context, e) || r) && (this.contextFetchVersion += 1, this.optInFlagsRequested && this.startOptInFlagsLoading()), this.context = e;\n  }\n  setFetchedFlags(e, r = !0, n) {\n    this.flagStateAvailable = !0, this.fetchedFlags = { ...e }, this.fetchedFlagStateVersion = n, this.fetchedFlagsContextVersion = this.contextFetchVersion, this.warnMissingFlagContextFields(e), this.updateFlags(r);\n  }\n  shouldApplyFetchedFlagsResult(e, r) {\n    return r !== this.contextFetchVersion ? !1 : this.fetchedFlagsContextVersion !== r ? !0 : e === void 0 ? this.fetchedFlagStateVersion === void 0 : this.fetchedFlagStateVersion === void 0 || e >= this.fetchedFlagStateVersion;\n  }\n  applyFetchedFlagsResult(e, r = !0, n = this.contextFetchVersion) {\n    return this.shouldApplyFetchedFlagsResult(\n      e == null ? void 0 : e.flagStateVersion,\n      n\n    ) ? (this.setFetchedFlags(\n      (e == null ? void 0 : e.flags) ?? {},\n      r,\n      e == null ? void 0 : e.flagStateVersion\n    ), !0) : !1;\n  }\n  async setContext(e) {\n    this.context = e;\n    const r = ++this.contextFetchVersion;\n    this.optInMetadataRefreshAttemptContextVersion = r;\n    const n = this.optInFlagsRequested ? this.startOptInFlagsLoading() : void 0;\n    try {\n      const i = await this.maybeFetchFlags(r);\n      return r !== this.contextFetchVersion ? !1 : (this.applyFetchedFlagsResult(i, !0, r), !0);\n    } finally {\n      n !== void 0 && this.finishOptInFlagsLoading(n);\n    }\n  }\n  updateFlags(e = !0) {\n    const r = this.mergeFlags(this.fetchedFlags, this.flagOverrides);\n    Q(this.flags, r) || (this.flags = r, e && this.triggerFlagsUpdated());\n  }\n  setFlagOverride(e, r) {\n    if (!(typeof r == \"boolean\" || r === null))\n      throw new Error(\"setFlagOverride: isEnabled must be boolean or null\");\n    r === null ? delete this.flagOverrides[e] : this.flagOverrides[e] = r, this.setOverridesCache(this.flagOverrides), this.updateFlags();\n  }\n  getFlagOverride(e) {\n    return this.flagOverrides[e] ?? null;\n  }\n  /**\n   * Register a callback to be called when the flags are updated.\n   * Flags are not guaranteed to have actually changed when the callback is called.\n   *\n   * @param callback this will be called when the flags are updated.\n   * @returns a function that can be called to remove the listener\n   */\n  onUpdated(e) {\n    this.eventTarget.addEventListener(\"flagsUpdated\", e, {\n      signal: this.abortController.signal\n    });\n  }\n  /**\n   * Send a flag \"check\" event.\n   *\n   *\n   * @param checkEvent - The flag to send the event for.\n   * @param cb - Callback to call after the event is sent. Might be skipped if the event was rate limited.\n   */\n  async sendCheckEvent(e, r) {\n    if (this.config.offline)\n      return;\n    const n = `check-event:${this.fetchParams().toString()}:${e.key}:${e.version}:${e.value}`;\n    return await this.rateLimiter.rateLimited(n, async () => {\n      const i = {\n        action: e.action,\n        key: e.key,\n        targetingVersion: e.version,\n        evalContext: this.context,\n        evalResult: e.value,\n        evalRuleResults: e.ruleEvaluationResults,\n        evalMissingFields: e.missingContextFields,\n        evalErrors: e.evaluationErrors\n      };\n      this.enqueueBulkEvent ? this.enqueueBulkEvent({\n        type: \"feature-flag-event\",\n        ...i\n      }).catch((o) => {\n        this.logger.warn(\"failed to enqueue flag check event\", o);\n      }) : this.httpClient.post({\n        path: \"features/events\",\n        body: i\n      }).then(async (o) => {\n        o.ok || await ie({\n          logger: this.logger,\n          level: \"warn\",\n          res: o,\n          message: \"failed to send flag check event\"\n        });\n      }).catch((o) => {\n        this.logger.warn(\"failed to send flag check event\", o);\n      }), this.logger.debug(\"sent flag event\", i), r();\n    }), e.value;\n  }\n  getFlagStateVersion() {\n    return this.fetchedFlagStateVersion;\n  }\n  async fetchFlags(e) {\n    const r = this.fetchParams();\n    e !== void 0 && Number.isInteger(e) && e >= 0 && r.set(\"waitForVersion\", String(e));\n    try {\n      return await fr(Lo, async () => {\n        const n = await this.httpClient.get({\n          path: \"/features/evaluated\",\n          timeoutMs: this.config.timeoutMs,\n          params: r\n        });\n        if (!n.ok) {\n          let o = \"\", s = \"\";\n          try {\n            const { errorDetails: a, errorSummary: c } = await ar(n);\n            o = c ?? \"\", s = a.responseBody ? ` - ${a.responseBody}` : \"\";\n          } catch {\n          }\n          this.logger.error(\n            \"error fetching flags:\",\n            new Error(\n              `unexpected response code: ${n.status}${o ? ` - ${o}` : s}`\n            )\n          );\n          return;\n        }\n        const i = Ao(await n.json());\n        if (!i || !i.success) {\n          this.logger.error(\n            \"error fetching flags:\",\n            new Error(\"unable to validate response\")\n          );\n          return;\n        }\n        if (e !== void 0 && (i.flagStateVersion === void 0 || i.flagStateVersion < e)) {\n          this.logger.warn(\n            \"ignoring stale flag response for requested flag state version.\",\n            {\n              requestedFlagStateVersion: e,\n              responseFlagStateVersion: i.flagStateVersion\n            }\n          );\n          return;\n        }\n        return i;\n      });\n    } catch (n) {\n      this.logger.error(\"error fetching flags:\", n);\n      return;\n    }\n  }\n  /**\n   * Force refresh flags from the API, bypassing cache.\n   */\n  async refreshFlags(e) {\n    if (this.config.offline)\n      return;\n    const r = Date.now();\n    if (this.refreshEvents = this.refreshEvents.filter(\n      (o) => r - o < Mo\n    ), this.refreshEvents.length >= To) {\n      this.logger.warn(\"refresh rate limit exceeded\");\n      return;\n    }\n    this.refreshEvents.push(r);\n    const n = this.contextFetchVersion, i = await this.fetchFlags(e);\n    if (!(!i || n !== this.contextFetchVersion))\n      return this.applyFetchedFlagsResult(i, !0, n), { ...this.fetchedFlags };\n  }\n  async setOverridesCache(e) {\n    try {\n      await this.storage.setItem(\n        er,\n        JSON.stringify(e)\n      );\n    } catch (r) {\n      this.logger.warn(\n        \"storing flag overrides failed, overrides won't persist\",\n        r\n      );\n    }\n  }\n  async getOverridesCache() {\n    try {\n      const e = await this.storage.getItem(er), r = JSON.parse(e || \"{}\");\n      if (!K(r)) throw new Error(\"invalid overrides\");\n      return r;\n    } catch (e) {\n      return this.logger.warn(\"getting flag overrides failed\", e), {};\n    }\n  }\n  async maybeFetchFlags(e = this.contextFetchVersion) {\n    if (this.config.offline)\n      return;\n    const r = this.fetchParams().toString(), n = await this.cache.get(r);\n    if (n) {\n      if (!n.stale) return n;\n      if (this.config.staleWhileRevalidate)\n        return this.fetchFlags().then(async (o) => {\n          o && (await this.cache.set(r, {\n            flags: o.flags,\n            flagStateVersion: o.flagStateVersion\n          }), this.applyFetchedFlagsResult(o, !0, e));\n        }).catch(() => {\n        }), n;\n    }\n    const i = await this.fetchFlags();\n    return i ? (await this.cache.set(r, {\n      flags: i.flags,\n      flagStateVersion: i.flagStateVersion\n    }), {\n      flags: i.flags,\n      flagStateVersion: i.flagStateVersion\n    }) : n || {\n      flags: Object.entries(this.fallbackFlags).reduce(\n        (o, [s, a]) => (o[s] = {\n          key: s,\n          isEnabled: !!a,\n          config: typeof a == \"object\" && \"key\" in a ? {\n            key: a.key,\n            payload: a.payload\n          } : void 0\n        }, o),\n        {}\n      )\n    };\n  }\n  hasOptInMetadataForCurrentContext() {\n    if (this.fetchedFlagsContextVersion !== this.contextFetchVersion)\n      return !1;\n    const e = Object.values(this.fetchedFlags);\n    return e.length > 0 && e.every(\n      (r) => r.optInEnabled === !1 || r.optInEnabled === !0 && r.optIn !== void 0\n    );\n  }\n  ensureOptInFlagsLoading() {\n    return this.optInFlagsLoading || this.startOptInFlagsLoading(), this.optInFlagsLoadingGeneration;\n  }\n  startOptInFlagsLoading() {\n    return this.optInFlagsLoadingGeneration += 1, this.setOptInFlagsLoading(!0), this.optInFlagsLoadingGeneration;\n  }\n  finishOptInFlagsLoading(e) {\n    e === this.optInFlagsLoadingGeneration && this.setOptInFlagsLoading(!1);\n  }\n  supersedeOptInFlagsLoading(e) {\n    this.optInFlagsLoadingGeneration += 1, this.setOptInFlagsLoading(e);\n  }\n  setOptInFlagsLoading(e) {\n    this.optInFlagsLoading !== e && (this.optInFlagsLoading = e, this.eventTarget.dispatchEvent({ type: \"optInFlagsLoadingUpdated\" }));\n  }\n  mergeFlags(e, r) {\n    const n = {};\n    for (const i in e) {\n      const o = e[i];\n      if (!o) continue;\n      const s = r[i] ?? null;\n      n[i] = { ...o, isEnabledOverride: s };\n    }\n    return n;\n  }\n  triggerFlagsUpdated() {\n    this.eventTarget.dispatchEvent({ type: \"flagsUpdated\" });\n  }\n  setupCache(e = 0, r = sr) {\n    return new Oo({\n      storage: this.storage,\n      staleTimeMs: e,\n      expireTimeMs: r\n    });\n  }\n  setupFallbackFlags(e) {\n    return Array.isArray(e) ? e.reduce(\n      (r, n) => (r[n] = !0, r),\n      {}\n    ) : e ?? {};\n  }\n  fetchParams() {\n    const e = cr(this.context), r = new URLSearchParams(\n      e ? { contextJson: e } : void 0\n    );\n    return r.append(\"publishableKey\", this.httpClient.publishableKey), r.sort(), r;\n  }\n  warnMissingFlagContextFields(e) {\n    var n, i, o;\n    const r = {};\n    for (const s in e) {\n      const a = e[s];\n      (n = a == null ? void 0 : a.missingContextFields) != null && n.length && (r[a.key] = a.missingContextFields), (o = (i = a == null ? void 0 : a.config) == null ? void 0 : i.missingContextFields) != null && o.length && (r[`${a.key}.config`] = a.config.missingContextFields);\n    }\n    Object.keys(r).length > 0 && this.rateLimiter.rateLimited(\n      `flag-missing-context-fields:${this.fetchParams().toString()}`,\n      () => {\n        this.logger.warn(\n          \"flag targeting rules might not be correctly evaluated due to missing context fields.\",\n          r\n        );\n      }\n    );\n  }\n}\nclass qo {\n  constructor() {\n    this.hooks = {\n      stateUpdated: [],\n      check: [],\n      flagsUpdated: [],\n      optInFlagsLoadingUpdated: [],\n      user: [],\n      company: [],\n      track: []\n    };\n  }\n  _adjustEvent(e) {\n    return e === \"featuresUpdated\" ? \"flagsUpdated\" : e;\n  }\n  addHook(e, r) {\n    return this.hooks[this._adjustEvent(e)].push(r), () => {\n      this.removeHook(e, r);\n    };\n  }\n  removeHook(e, r) {\n    this.hooks[this._adjustEvent(e)] = this.hooks[this._adjustEvent(e)].filter((n) => n !== r);\n  }\n  trigger(e, r) {\n    this.hooks[this._adjustEvent(e)].forEach((i) => i(r));\n  }\n}\nconst Do = 60 * 1024, Uo = 15;\nfunction Vo(t) {\n  return new TextEncoder().encode(t).length;\n}\nclass zo {\n  constructor(e, r = {}) {\n    this.publishableKey = e, this.inFlightKeepaliveBytes = 0, this.inFlightKeepaliveRequests = 0, this.baseUrl = r.baseUrl ?? ir, this.baseUrl.endsWith(\"/\") || (this.baseUrl += \"/\"), this.sdkVersion = r.sdkVersion ?? or, this.fetchOptions = { credentials: r.credentials };\n  }\n  getUrl(e) {\n    return e.startsWith(\"/\") && (e = e.slice(1)), new URL(e, this.baseUrl);\n  }\n  async get({\n    path: e,\n    params: r,\n    timeoutMs: n\n  }) {\n    r || (r = new URLSearchParams()), r.set(Qe, this.sdkVersion), r.set(\"publishableKey\", this.publishableKey);\n    const i = r.toString(), o = i ? `${e}${e.includes(\"?\") ? \"&\" : \"?\"}${i}` : e, s = this.getUrl(o);\n    if (n === void 0)\n      return fetch(s, this.fetchOptions);\n    const a = Hr(), c = setTimeout(() => a.abort(), n), l = await fetch(s, {\n      ...this.fetchOptions,\n      signal: a.signal\n    });\n    return clearTimeout(c), l;\n  }\n  async post({\n    path: e,\n    body: r,\n    keepalive: n\n  }) {\n    const i = JSON.stringify(r), o = Vo(i), s = n && this.inFlightKeepaliveBytes + o <= Do && this.inFlightKeepaliveRequests < Uo;\n    s && (this.inFlightKeepaliveBytes += o, this.inFlightKeepaliveRequests += 1);\n    try {\n      return await fetch(this.getUrl(e), {\n        ...this.fetchOptions,\n        method: \"POST\",\n        keepalive: s,\n        headers: {\n          \"Content-Type\": \"application/json\",\n          [Qe]: this.sdkVersion,\n          Authorization: `Bearer ${this.publishableKey}`\n        },\n        body: i\n      });\n    } finally {\n      s && (this.inFlightKeepaliveBytes -= o, this.inFlightKeepaliveRequests -= 1);\n    }\n  }\n}\nconst ce = 1;\nfunction Bo({\n  checked: t,\n  width: e = 24,\n  height: r = 14,\n  ...n\n}) {\n  return /* @__PURE__ */ h(\"label\", { class: \"switch\", \"data-enabled\": t }, /* @__PURE__ */ h(\n    \"input\",\n    {\n      checked: t,\n      class: \"switch-input\",\n      name: \"enabled\",\n      type: \"checkbox\",\n      ...n\n    }\n  ), /* @__PURE__ */ h(\n    \"div\",\n    {\n      class: \"switch-track\",\n      style: {\n        width: `${e}px`,\n        height: `${r}px`,\n        borderRadius: `${r}px`\n      }\n    },\n    /* @__PURE__ */ h(\n      \"div\",\n      {\n        class: \"switch-dot\",\n        style: {\n          width: `${r - ce * 2}px`,\n          height: `${r - ce * 2}px`,\n          transform: t ? `translateX(${e - (r - ce * 2) - ce}px)` : `translateX(${ce}px)`,\n          top: `${ce}px`\n        }\n      }\n    )\n  ));\n}\nconst Le = (t, e) => t.toLocaleLowerCase().includes(e ?? \"\");\nfunction No({\n  flags: t,\n  searchQuery: e,\n  appBaseUrl: r,\n  setIsEnabledOverride: n\n}) {\n  const i = t.length > 0, o = t.some(\n    (a) => Le(a.flagKey, e)\n  ), s = e === null ? t : [...t].sort((a, c) => {\n    const l = Le(a.flagKey, e), f = Le(c.flagKey, e);\n    if (l === f) {\n      const u = a.flagKey.toLocaleLowerCase().startsWith(e), m = c.flagKey.toLocaleLowerCase().startsWith(e);\n      return u && !m ? -1 : m && !u ? 1 : a.flagKey.localeCompare(c.flagKey);\n    }\n    return l ? -1 : 1;\n  });\n  return /* @__PURE__ */ h(B, null, (!i || !o) && /* @__PURE__ */ h(\"div\", { class: \"flags-table-empty\" }, \"No flags \", i ? `matching \"${e}\"` : \"found\"), /* @__PURE__ */ h(\"table\", { class: \"flags-table\" }, /* @__PURE__ */ h(\"tbody\", null, s.map((a, c) => /* @__PURE__ */ h(\n    $o,\n    {\n      key: a.flagKey,\n      appBaseUrl: r,\n      flag: a,\n      index: c,\n      isNotVisible: e !== null && !Le(a.flagKey, e),\n      setEnabledOverride: (l) => n(a.flagKey, l)\n    }\n  )))));\n}\nfunction $o({\n  setEnabledOverride: t,\n  appBaseUrl: e,\n  flag: r,\n  index: n,\n  isNotVisible: i\n}) {\n  const o = r.isEnabledOverride !== null;\n  return /* @__PURE__ */ h(\n    \"tr\",\n    {\n      key: r.flagKey,\n      class: [\"flag-row\", i ? \"not-visible\" : void 0].join(\" \")\n    },\n    /* @__PURE__ */ h(\"td\", { class: \"flag-name-cell\" }, /* @__PURE__ */ h(\n      \"a\",\n      {\n        class: \"flag-link\",\n        href: `${e}/env-current/flags/by-key/${r.flagKey}`,\n        rel: \"noreferrer\",\n        tabIndex: n + 1,\n        target: \"_blank\"\n      },\n      r.flagKey\n    )),\n    /* @__PURE__ */ h(\"td\", { class: \"flag-reset-cell\" }, o ? /* @__PURE__ */ h(Ho, { setEnabledOverride: t, tabIndex: n + 1 }) : null),\n    /* @__PURE__ */ h(\"td\", { class: \"flag-switch-cell\" }, /* @__PURE__ */ h(\n      Bo,\n      {\n        checked: r.isEnabledOverride ?? r.isEnabled,\n        tabIndex: n + 1,\n        onChange: (s) => {\n          const a = s.currentTarget.checked;\n          t(o ? null : a);\n        }\n      }\n    ))\n  );\n}\nfunction jo({ onSearch: t }) {\n  return /* @__PURE__ */ h(\n    \"input\",\n    {\n      class: \"search-input\",\n      placeholder: \"Search flags\",\n      tabIndex: 0,\n      type: \"search\",\n      autoFocus: !0,\n      onInput: (e) => t(e.currentTarget.value)\n    }\n  );\n}\nfunction Ho({\n  setEnabledOverride: t,\n  ...e\n}) {\n  return /* @__PURE__ */ h(\n    \"a\",\n    {\n      class: \"reset\",\n      href: \"\",\n      onClick: (r) => {\n        r.preventDefault(), t(null);\n      },\n      ...e\n    },\n    \"reset\"\n  );\n}\nconst Ko = \"@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,50px,0) scaleY(2)}60%{opacity:1;transform:translate3d(0,-6px,0) scaleY(.9)}75%{transform:translate3d(0,3px,0) scaleY(.95)}90%{transform:translate3d(0,-2px,0) scaleY(.985)}to{transform:translateZ(0)}}@keyframes gelatine{0%,to{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}}.toolbar{--brand300: #9cc4d3;--brand400: #77adc1;--gray500: #787c91;--gray600: #3c3d49;--gray700: #22232a;--gray800: #17181c;--gray900: #0e0e11;--gray950: #09090b;--black: #1e1f24;--white: white;--bg-color: var(--gray900);--bg-light-color: var(--gray700);--border-color: var(--gray700);--dimmed-color: var(--gray500);--logo-color: white;--text-color: white;--text-size: 13px;--text-small-size: 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:13px;font-size:var(--text-size)}:focus{outline:none}.dialog{color:#fff;box-sizing:border-box;background:var(--bg-color);border:0;box-shadow:0 10px 15px -3px #00000026,0 4px 6px -2px #0000001a,0 -1px #ffffff1a,0 0 0 1px var(--border-color);border-radius:7px;z-index:999999;min-width:240px;padding:0;--visible-flags: 15;max-height:min(calc(100vh - 71px),450px);max-height:min(calc(100vh - 71px),calc(45px + (var(--visible-flags) * 27px)));height:auto}.dialog[open]{display:flex;flex-direction:column}.dialog-content{overflow-y:auto;max-height:100%;flex-grow:1;margin:3px 3px 3px 0}.dialog-content::-webkit-scrollbar{width:8px;height:8px}.dialog-content::-webkit-scrollbar-track{background:transparent}.dialog-content::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:999px;-webkit-transition:background-color .1s ease;transition:background-color .1s ease}.dialog-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}.dialog-content::-webkit-scrollbar-button{display:none}.toolbar-toggle{width:36px;height:36px;position:fixed;z-index:999999;padding:0;margin:0;box-sizing:border-box;color:var(--logo-color);background:var(--bg-color);box-shadow:0 10px 15px -3px #00000026,0 4px 6px -2px #0000001a,0 -1px #ffffff1a,0 0 0 1px var(--border-color);border-radius:999px;cursor:pointer;display:flex;justify-content:center;align-items:center;animation:bounceInUp .2s ease-out;transition:background .1s ease}.toolbar-toggle.open{background:var(--bg-light-color)}.toolbar-toggle .override-indicator{position:absolute;top:1px;right:1px;width:8px;height:8px;background-color:var(--brand400);border-radius:50%;opacity:0;transition:opacity .1s ease-in-out;box-shadow:inset 0 1px #ffffff1a}.toolbar-toggle .override-indicator.show{opacity:1;animation:gelatine .5s}.toolbar-header-button{background:none;border:none;color:var(--dimmed-color);cursor:pointer;border-radius:4px;transition:background-color .1s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;height:28px;width:28px}.toolbar-header-button:hover{background-color:var(--bg-light-color);color:var(--text-color)}.toolbar-header-button:focus-visible{outline:1px solid #fff;outline-offset:0px}.toolbar-header-button+.button-tooltip{pointer-events:none;opacity:0;background:var(--bg-color);color:var(--text-color);padding:6px 8px;border-radius:4px;font-size:13px}.toolbar-header-button:hover+.button-tooltip{opacity:1}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:100%;top:0%;margin-right:3px;-moz-user-select:none;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:0 6px;height:28px;line-height:26px;color:var(--text-color);font-size:var(--text-small-size);font-weight:400;width:-moz-max-content;width:max-content;display:none;box-sizing:border-box}[data-tooltip]:hover:after{display:block}.search-input{background:transparent;border:none;color:#fff;width:100%;font-size:var(--text-size);height:28px}.search-input::-moz-placeholder{color:var(--gray500)}.search-input::placeholder{color:var(--gray500)}.search-input::-webkit-search-cancel-button{-webkit-appearance:none;display:inline-block;width:8px;height:8px;margin-left:10px;background:linear-gradient(45deg,#0000,#0000 43%,#fff 45%,#fff 55%,#0000 57%,#0000),linear-gradient(135deg,transparent 0%,transparent 43%,#fff 45%,#fff 55%,transparent 57%,transparent 100%);cursor:pointer}.flags-table{width:100%;border-collapse:collapse}.flag-row.not-visible{visibility:hidden}.flags-table-empty{position:absolute;top:0;left:0;right:0;color:var(--gray500);padding:12px;line-height:1.5}.flag-name-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:auto;padding:6px 6px 6px 0;display:flex;align-items:center;gap:8px}.flag-name-cell .flag-icon{height:15px;width:15px;color:var(--dimmed-color)}.flag-link{color:var(--text-color);text-decoration:none}.flag-link:hover,.flag-link:focus-visible{text-decoration:underline}.flag-reset-cell{width:32px;padding:6px 0;text-align:right}.reset{color:var(--gray500);text-decoration:none}.reset:hover,.reset:focus-visible{text-decoration:underline}.flag-switch-cell{padding:6px 0 6px 6px;width:0}.switch{cursor:pointer;position:relative}.switch-input{border:0px;clip:rect(0px,0px,0px,0px);height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;position:absolute}.switch-track{position:relative;transition:background .1s ease;background:var(--gray600);border-radius:999px;transition:transform .1s ease-out}.switch-input:focus-visible+.switch-track{outline:1px solid #fff;outline-offset:1px}.switch[data-enabled=true] .switch-track{background:#fff}.switch-dot{background:#fff;border-radius:50%;position:absolute;top:1px;transition:transform .1s ease-out;box-shadow:0 0 5px #0003}.switch[data-enabled=true] .switch-dot{background:var(--black)}\", tr = \"reflag-toolbar-hidden\";\nfunction Wo({\n  reflagClient: t,\n  position: e\n}) {\n  const r = U(null), n = U(null), [i, o] = A([]), s = !fe && sessionStorage.getItem(tr) === \"true\", [a, c] = A(s), l = P(() => {\n    const x = t.getFlags();\n    o(\n      Object.values(x).filter((w) => w !== void 0).map(\n        (w) => ({\n          flagKey: w.key,\n          isEnabledOverride: w.isEnabledOverride ?? null,\n          isEnabled: w.isEnabled\n        })\n      )\n    );\n  }, [t]), f = re(() => i.some((x) => x.isEnabledOverride !== null), [i]);\n  ge(() => (l(), t.on(\"flagsUpdated\", l)), [t, l]);\n  const [u, m] = A(null), d = (x) => {\n    var w;\n    m(x === \"\" ? null : x), (w = n.current) == null || w.scrollTo({ top: 0 });\n  }, g = [...i].sort(\n    (x, w) => x.flagKey.localeCompare(w.flagKey)\n  ), b = t.getConfig().appBaseUrl, { isOpen: p, close: y, toggle: v } = Vr(), _ = P(() => {\n    fe || (sessionStorage.setItem(tr, \"true\"), c(!0), y());\n  }, [y]);\n  return a ? null : /* @__PURE__ */ h(\"div\", { class: \"toolbar\" }, /* @__PURE__ */ h(\"style\", { dangerouslySetInnerHTML: { __html: Ko } }), /* @__PURE__ */ h(\n    Zo,\n    {\n      hasAnyOverrides: f,\n      innerRef: r,\n      isOpen: p,\n      position: e,\n      onClick: v\n    }\n  ), /* @__PURE__ */ h(\n    zr,\n    {\n      close: y,\n      containerId: xr,\n      isOpen: p,\n      position: {\n        type: \"POPOVER\",\n        anchor: r.current,\n        placement: \"top-start\"\n      },\n      showArrow: !1,\n      strategy: \"fixed\"\n    },\n    /* @__PURE__ */ h(Bi, null, /* @__PURE__ */ h(jo, { onSearch: d }), /* @__PURE__ */ h(\n      \"a\",\n      {\n        class: \"toolbar-header-button\",\n        \"data-tooltip\": \"Open Reflag app\",\n        href: `${b}/env-current`\n      },\n      /* @__PURE__ */ h(\n        \"svg\",\n        {\n          width: \"15\",\n          height: \"15\",\n          xmlns: \"http://www.w3.org/2000/svg\",\n          viewBox: \"0 0 24 24\",\n          fill: \"currentColor\"\n        },\n        /* @__PURE__ */ h(\"path\", { d: \"M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM9.71002 19.6674C8.74743 17.6259 8.15732 15.3742 8.02731 13H4.06189C4.458 16.1765 6.71639 18.7747 9.71002 19.6674ZM10.0307 13C10.1811 15.4388 10.8778 17.7297 12 19.752C13.1222 17.7297 13.8189 15.4388 13.9693 13H10.0307ZM19.9381 13H15.9727C15.8427 15.3742 15.2526 17.6259 14.29 19.6674C17.2836 18.7747 19.542 16.1765 19.9381 13ZM4.06189 11H8.02731C8.15732 8.62577 8.74743 6.37407 9.71002 4.33256C6.71639 5.22533 4.458 7.8235 4.06189 11ZM10.0307 11H13.9693C13.8189 8.56122 13.1222 6.27025 12 4.24799C10.8778 6.27025 10.1811 8.56122 10.0307 11ZM14.29 4.33256C15.2526 6.37407 15.8427 8.62577 15.9727 11H19.9381C19.542 7.8235 17.2836 5.22533 14.29 4.33256Z\" })\n      )\n    ), /* @__PURE__ */ h(\n      \"button\",\n      {\n        class: \"toolbar-header-button\",\n        onClick: _,\n        \"data-tooltip\": \"Hide toolbar this session\"\n      },\n      /* @__PURE__ */ h(\n        \"svg\",\n        {\n          width: \"15\",\n          height: \"15\",\n          xmlns: \"http://www.w3.org/2000/svg\",\n          viewBox: \"0 0 24 24\",\n          fill: \"currentColor\"\n        },\n        /* @__PURE__ */ h(\"path\", { d: \"M17.8827 19.2968C16.1814 20.3755 14.1638 21.0002 12.0003 21.0002C6.60812 21.0002 2.12215 17.1204 1.18164 12.0002C1.61832 9.62282 2.81932 7.5129 4.52047 5.93457L1.39366 2.80777L2.80788 1.39355L22.6069 21.1925L21.1927 22.6068L17.8827 19.2968ZM5.9356 7.3497C4.60673 8.56015 3.6378 10.1672 3.22278 12.0002C4.14022 16.0521 7.7646 19.0002 12.0003 19.0002C13.5997 19.0002 15.112 18.5798 16.4243 17.8384L14.396 15.8101C13.7023 16.2472 12.8808 16.5002 12.0003 16.5002C9.51498 16.5002 7.50026 14.4854 7.50026 12.0002C7.50026 11.1196 7.75317 10.2981 8.19031 9.60442L5.9356 7.3497ZM12.9139 14.328L9.67246 11.0866C9.5613 11.3696 9.50026 11.6777 9.50026 12.0002C9.50026 13.3809 10.6196 14.5002 12.0003 14.5002C12.3227 14.5002 12.6309 14.4391 12.9139 14.328ZM20.8068 16.5925L19.376 15.1617C20.0319 14.2268 20.5154 13.1586 20.7777 12.0002C19.8603 7.94818 16.2359 5.00016 12.0003 5.00016C11.1544 5.00016 10.3329 5.11773 9.55249 5.33818L7.97446 3.76015C9.22127 3.26959 10.5793 3.00016 12.0003 3.00016C17.3924 3.00016 21.8784 6.87992 22.8189 12.0002C22.5067 13.6998 21.8038 15.2628 20.8068 16.5925ZM11.7229 7.50857C11.8146 7.50299 11.9071 7.50016 12.0003 7.50016C14.4855 7.50016 16.5003 9.51488 16.5003 12.0002C16.5003 12.0933 16.4974 12.1858 16.4919 12.2775L11.7229 7.50857Z\" })\n      )\n    )),\n    /* @__PURE__ */ h(Ni, { innerRef: n }, /* @__PURE__ */ h(\n      No,\n      {\n        appBaseUrl: b,\n        flags: g,\n        searchQuery: (u == null ? void 0 : u.toLocaleLowerCase()) ?? null,\n        setIsEnabledOverride: (x, w) => t.getFlag(x).setIsEnabledOverride(w)\n      }\n    ))\n  ));\n}\nfunction Zo({\n  isOpen: t,\n  position: e,\n  onClick: r,\n  innerRef: n,\n  hasAnyOverrides: i\n}) {\n  const o = yt(e), s = [\"toolbar-toggle\", t ? \"open\" : void 0].join(\n    \" \"\n  ), a = [\n    \"override-indicator\",\n    i ? \"show\" : void 0\n  ].join(\" \");\n  return /* @__PURE__ */ h(\"div\", { ref: n, class: s, style: o, onClick: r }, /* @__PURE__ */ h(\"div\", { class: a }), /* @__PURE__ */ h(Br, { height: \"13px\", width: \"13px\" }));\n}\nconst Go = \"bottom-right\";\nfunction Qo(t) {\n  const e = zi(xr), r = t.position ?? {\n    placement: Go\n  };\n  _r(h(Wo, { ...t, position: r }), e);\n}\nconst Yo = typeof window < \"u\" && window.innerWidth < 768, Jo = typeof document > \"u\";\nfunction Ge({\n  otherContext: t,\n  ...e\n}) {\n  var r, n;\n  return {\n    user: (r = e.user) != null && r.id ? { ...e.user } : void 0,\n    company: (n = e.company) != null && n.id ? { ...e.company } : void 0,\n    other: { ...t, ...e.other }\n  };\n}\nconst Re = {\n  apiBaseUrl: ir,\n  appBaseUrl: Ln,\n  enableTracking: !0,\n  offline: !1\n}, Xo = {\n  code: \"CLIENT_NOT_INITIALIZED\",\n  field: \"\",\n  message: \"ReflagClient was not initialized before this flag was evaluated. Call initialize() before evaluating flags.\"\n};\nfunction rr(t, e) {\n  return e ? [...t ?? [], Xo] : t;\n}\nfunction es(t) {\n  const e = t.toolbar;\n  return typeof window > \"u\" || typeof window.location > \"u\" ? !1 : typeof e == \"boolean\" ? e : typeof (e == null ? void 0 : e.show) == \"boolean\" ? e.show : window.location.hostname === \"localhost\";\n}\nclass ts {\n  /**\n   * Create a new ReflagClient instance.\n   */\n  constructor(e) {\n    var a, c, l, f, u, m, d, g, b, p, y, v, _, x, w, k;\n    this.state = \"idle\", this.contextUpdateLoading = !1, this.toolbarToggleShown = !1, this.publishableKey = e.publishableKey, this.logger = (e == null ? void 0 : e.logger) ?? at(Nn, \"[Reflag]\"), this.context = Ge(\n      ((a = e == null ? void 0 : e.bootstrappedState) == null ? void 0 : a.context) ?? {\n        user: e == null ? void 0 : e.user,\n        company: e == null ? void 0 : e.company,\n        otherContext: e == null ? void 0 : e.otherContext,\n        other: e == null ? void 0 : e.other\n      }\n    );\n    const r = (e == null ? void 0 : e.apiBaseUrl) ?? Re.apiBaseUrl;\n    this.config = {\n      apiBaseUrl: r,\n      appBaseUrl: (e == null ? void 0 : e.appBaseUrl) ?? Re.appBaseUrl,\n      sseBaseUrl: (e == null ? void 0 : e.sseBaseUrl) ?? r,\n      enableTracking: (e == null ? void 0 : e.enableTracking) ?? Re.enableTracking,\n      offline: (e == null ? void 0 : e.offline) ?? Re.offline,\n      bootstrapped: !!(e != null && e.bootstrappedState) || e && \"bootstrappedFlags\" in e && !!e.bootstrappedFlags\n    };\n    const n = (e == null ? void 0 : e.enableLiveFlagUpdates) ?? !1, i = ue(\n      (c = e == null ? void 0 : e.bootstrappedState) == null ? void 0 : c.flagStateVersion\n    ), o = !!(e != null && e.bootstrappedState) && !i || !!e && \"bootstrappedFlags\" in e && !!e.bootstrappedFlags;\n    n && o && this.logger.warn(\n      \"Live flag updates require `flagStateVersion` when bootstrapping flags. Disabling live flag updates for this client. Upgrade your server SDK (for example `@reflag/node-sdk`) so the bootstrap payload includes `flagStateVersion`, or set `enableLiveFlagUpdates` to `false` when using unversioned bootstrap data.\"\n    ), this.enableLiveFlagUpdates = n && !o, this.eventSourceFactory = e == null ? void 0 : e.eventSourceFactory, this.credentials = e == null ? void 0 : e.credentials, this.sdkVersion = (e == null ? void 0 : e.sdkVersion) ?? or, this.requestFeedbackOptions = {\n      position: (f = (l = e == null ? void 0 : e.feedback) == null ? void 0 : l.ui) == null ? void 0 : f.position,\n      translations: (m = (u = e == null ? void 0 : e.feedback) == null ? void 0 : u.ui) == null ? void 0 : m.translations\n    }, this.httpClient = new zo(this.publishableKey, {\n      baseUrl: this.config.apiBaseUrl,\n      sdkVersion: this.sdkVersion,\n      credentials: e == null ? void 0 : e.credentials\n    }), !this.config.offline && this.config.enableTracking && (this.bulkQueue = new Vn(\n      (C) => this.httpClient.post({\n        path: \"/bulk\",\n        body: C,\n        keepalive: !0\n      }),\n      {\n        flushDelayMs: (d = e.trackingQueue) == null ? void 0 : d.flushDelayMs,\n        maxSize: (g = e.trackingQueue) == null ? void 0 : g.maxSize,\n        logger: this.logger\n      }\n    )), this.bulkQueue && !fe && (this.handleBeforeUnload = () => {\n      var C;\n      (C = this.bulkQueue) == null || C.flush();\n    }, window.addEventListener(\"beforeunload\", this.handleBeforeUnload, {\n      capture: !0\n    }));\n    const s = this.bulkQueue;\n    if (this.flagsClient = new Po(\n      this.httpClient,\n      this.context,\n      this.logger,\n      {\n        bootstrappedState: e.bootstrappedState ? {\n          flags: e.bootstrappedState.flags,\n          flagStateVersion: e.bootstrappedState.flagStateVersion\n        } : e.bootstrappedFlags ? { flags: e.bootstrappedFlags } : void 0,\n        bootstrappedFlags: e.bootstrappedFlags,\n        expireTimeMs: e.expireTimeMs,\n        staleTimeMs: e.staleTimeMs,\n        staleWhileRevalidate: e.staleWhileRevalidate,\n        timeoutMs: e.timeoutMs,\n        fallbackFlags: e.fallbackFlags,\n        offline: this.config.offline,\n        storage: e.storage,\n        enqueueBulkEvent: s ? (C) => s.enqueue(C) : void 0\n      }\n    ), !this.config.offline && ((b = this.context) != null && b.user) && !Jo && // do not prompt on server-side\n    ((p = e == null ? void 0 : e.feedback) == null ? void 0 : p.enableAutoFeedback) !== !1 && (Yo ? this.logger.warn(\n      \"Feedback prompting is not supported on mobile devices\"\n    ) : this.autoFeedback = new mo(\n      this.config.sseBaseUrl,\n      this.logger,\n      this.httpClient,\n      (y = e == null ? void 0 : e.feedback) == null ? void 0 : y.autoFeedbackHandler,\n      String((v = this.context.user) == null ? void 0 : v.id),\n      (x = (_ = e == null ? void 0 : e.feedback) == null ? void 0 : _.ui) == null ? void 0 : x.position,\n      (k = (w = e == null ? void 0 : e.feedback) == null ? void 0 : w.ui) == null ? void 0 : k.translations,\n      s ? (C) => s.enqueue(C) : void 0,\n      this.credentials\n    )), es(e)) {\n      const C = typeof e.toolbar == \"object\" ? e.toolbar.position : void 0;\n      this.showToolbarToggle(C);\n    }\n    this.hooks = new qo(), this.flagsClient.onUpdated(() => {\n      this.hooks.trigger(\"flagsUpdated\", this.flagsClient.getFlags());\n    }), this.flagsClient.onOptInFlagsLoadingUpdated((C) => {\n      this.hooks.trigger(\"optInFlagsLoadingUpdated\", C);\n    });\n  }\n  /**\n   * Initialize the Reflag SDK.\n   *\n   * Must be called before calling other SDK methods.\n   */\n  async initialize() {\n    if (this.state === \"initializing\" || this.state === \"initialized\") {\n      this.logger.warn(`\"Reflag client already ${this.state}`);\n      return;\n    }\n    this.setState(\"initializing\");\n    const e = Date.now(), r = this.wantsPubSub(), n = this.hasPubSubTransport();\n    !this.config.offline && r && !n && this.logger.debug(\n      \"skipping pubsub initialization because this runtime has no browser EventSource transport\"\n    ), await this.flagsClient.initialize(), !this.config.offline && r && n && (this.logger.debug(\"initializing pubsub\"), this.pubSubInit = this.initializePubSub().catch((i) => {\n      this.logger.error(\"error initializing pubsub\", i);\n    })), this.reconcileFlagsWithLatestPubSubVersion(), this.config.bootstrapped || (this.context.user && this.config.enableTracking && this.user().catch((i) => {\n      this.logger.error(\"error sending user\", i);\n    }), this.context.company && this.config.enableTracking && this.company().catch((i) => {\n      this.logger.error(\"error sending company\", i);\n    })), this.logger.info(\n      \"Reflag initialized in \" + Math.round(Date.now() - e) + \"ms\" + (this.config.offline ? \" (offline mode)\" : \"\")\n    ), this.setState(\"initialized\");\n  }\n  /**\n   * Stop the SDK.\n   * This will stop any automated feedback surveys.\n   *\n   **/\n  async stop() {\n    if (this.handleBeforeUnload && !fe && window.removeEventListener(\"beforeunload\", this.handleBeforeUnload, {\n      capture: !0\n    }), this.bulkQueue) {\n      await this.bulkQueue.flush();\n      let e = await this.bulkQueue.size();\n      if (e > 0 && (await this.bulkQueue.flush(), e = await this.bulkQueue.size()), e > 0)\n        throw new Error(\n          `failed to flush all queued bulk events during stop (${e} remaining)`\n        );\n    }\n    this.autoFeedback && this.autoFeedbackInit && (await this.autoFeedbackInit, this.autoFeedback.stop()), this.pubSubInit && await this.pubSubInit, this.pubSubChannel && (this.pubSubChannel.close(), this.pubSubChannel = void 0), this.flagsClient.stop(), this.setState(\"stopped\");\n  }\n  getState() {\n    return this.state;\n  }\n  /**\n   * Add an event listener\n   *\n   * @param type Type of events to listen for\n   * @param handler The function to call when the event is triggered.\n   * @returns A function to remove the hook.\n   */\n  on(e, r) {\n    return this.hooks.addHook(e, r);\n  }\n  /**\n   * Remove an event listener\n   *\n   * @param type Type of event to remove.\n   * @param handler The same function that was passed to `on`.\n   *\n   * @returns A function to remove the hook.\n   */\n  off(e, r) {\n    this.hooks.removeHook(e, r);\n  }\n  /**\n   * Get the current context.\n   */\n  getContext() {\n    return this.context;\n  }\n  /**\n   * Get the current configuration.\n   */\n  getConfig() {\n    return this.config;\n  }\n  /**\n   * Update the user context.\n   * Performs a shallow merge with the existing user context.\n   * It will not update the context if nothing has changed.\n   *\n   * @param user\n   */\n  async updateUser(e) {\n    var n;\n    const r = {\n      ...this.context.user,\n      ...e,\n      id: e.id ?? ((n = this.context.user) == null ? void 0 : n.id)\n    };\n    return this.applyContext(\n      {\n        user: r,\n        company: this.context.company,\n        other: this.context.other\n      },\n      { warnOnMissingIds: !1 }\n    );\n  }\n  /**\n   * Update the company context.\n   * Performs a shallow merge with the existing company context.\n   * It will not update the context if nothing has changed.\n   *\n   * @param company The company details.\n   */\n  async updateCompany(e) {\n    var n;\n    const r = {\n      ...this.context.company,\n      ...e,\n      id: e.id ?? ((n = this.context.company) == null ? void 0 : n.id)\n    };\n    return this.applyContext(\n      {\n        user: this.context.user,\n        company: r,\n        other: this.context.other\n      },\n      { warnOnMissingIds: !1 }\n    );\n  }\n  /**\n   * Update the company context.\n   * Performs a shallow merge with the existing company context.\n   * It will not update the context if nothing has changed.\n   *\n   * @param otherContext Additional context.\n   */\n  async updateOtherContext(e) {\n    const r = {\n      ...this.context.other,\n      ...e\n    };\n    return this.applyContext(\n      {\n        user: this.context.user,\n        company: this.context.company,\n        other: r\n      },\n      { warnOnMissingIds: !1 }\n    );\n  }\n  /**\n   * Update the context.\n   * Replaces the existing context with a new context.\n   *\n   * @param context The context to update.\n   */\n  async setContext(e) {\n    return this.applyContext(e, { warnOnMissingIds: !0 });\n  }\n  async applyContext(e, { warnOnMissingIds: r }) {\n    var u, m, d, g, b;\n    const n = this.context, i = Ge(e);\n    if (r && !((u = e.user) != null && u.id) && this.logger.warn(\"No user Id provided in context, user will be ignored\"), r && !((m = e.company) != null && m.id) && this.logger.warn(\n      \"No company Id provided in context, company will be ignored\"\n    ), Q(n, i)) return;\n    const o = !Q(n.user, i.user), s = !Q(\n      n.company,\n      i.company\n    ), a = !!((d = i.user) != null && d.id) && i.user.id !== ((g = n.user) == null ? void 0 : g.id);\n    this.context = i;\n    let c = !1;\n    s && (this.company(), c = !0), o && (this.user(), c = !0, a && this.updateAutoFeedbackUser(String(i.user.id))), c && ((b = this.bulkQueue) == null || b.flush()), this.state === \"initialized\" && (this.contextUpdateLoading = !0, this.setState(\"initializing\")), await this.flagsClient.setContext(this.context) && this.finishContextUpdate();\n  }\n  applyBootstrappedState(e, r = !0) {\n    var d, g;\n    const n = this.context, i = Ge(e.context), o = !Q(n, i), s = !Q(n.user, i.user), a = !Q(\n      n.company,\n      i.company\n    ), c = !!((d = i.user) != null && d.id) && i.user.id !== ((g = n.user) == null ? void 0 : g.id), l = this.flagsClient.getFlagStateVersion(), f = Math.max(\n      l ?? -1,\n      this.latestFlagStateVersionSeen ?? -1\n    );\n    f >= 0 && (this.latestFlagStateVersionSeen = f);\n    const u = e.flagStateVersion;\n    ue(u) && (this.latestFlagStateVersionSeen = Math.max(\n      this.latestFlagStateVersionSeen ?? -1,\n      u\n    ));\n    const m = !o && f >= 0 && (u === void 0 || u < f);\n    this.context = i, this.flagsClient.setContextWithoutFetch(\n      i,\n      !m\n    ), m || (this.flagsClient.resetOptInMetadataRefresh(), this.flagsClient.setFetchedFlags(\n      e.flags,\n      r,\n      u\n    ), this.flagsClient.markBootstrappedStateApplied()), o && this.finishContextUpdate(), o && (a && this.company(), s && (this.user(), c && this.updateAutoFeedbackUser(String(i.user.id))), this.reconcileFlagsWithLatestPubSubVersion());\n  }\n  /**\n   * Update the flags.\n   *\n   * @param flags The flags to update.\n   * @param triggerEvent Whether to trigger the `flagsUpdated` event.\n   */\n  updateFlags(e, r = !0, n) {\n    this.flagsClient.setFetchedFlags(e, r, n);\n  }\n  /**\n   * Track an event in Reflag.\n   *\n   * @param eventName The name of the event.\n   * @param attributes Any attributes you want to attach to the event.\n   */\n  async track(e, r) {\n    var o, s;\n    if (!this.context.user) {\n      this.logger.warn(\"'track' call ignored. No user context provided\");\n      return;\n    }\n    if (!this.config.enableTracking) {\n      this.logger.warn(\"'track' call ignored. 'enableTracking' is false\");\n      return;\n    }\n    if (this.config.offline)\n      return;\n    const n = {\n      userId: String(this.context.user.id),\n      event: e\n    };\n    r && (n.attributes = r), (o = this.context.company) != null && o.id && (n.companyId = String((s = this.context.company) == null ? void 0 : s.id));\n    const i = await this.httpClient.post({ path: \"/event\", body: n });\n    return i.ok || await ie({\n      logger: this.logger,\n      res: i,\n      message: \"track request failed\",\n      extra: { event: e }\n    }), this.logger.debug(\"sent event\", n), this.hooks.trigger(\"track\", {\n      eventName: e,\n      attributes: r,\n      user: this.context.user,\n      company: this.context.company\n    }), i;\n  }\n  /**\n   * Submit user feedback to Reflag. Must include either `score` or `comment`, or both.\n   *\n   * @param payload The feedback details to submit.\n   * @returns The server response.\n   */\n  async feedback(e) {\n    var i, o, s, a;\n    if (this.config.offline)\n      return;\n    const r = e.userId || ((i = this.context.user) != null && i.id ? String((o = this.context.user) == null ? void 0 : o.id) : void 0), n = e.companyId || ((s = this.context.company) != null && s.id ? String((a = this.context.company) == null ? void 0 : a.id) : void 0);\n    return await jr(this.httpClient, this.logger, {\n      userId: r,\n      companyId: n,\n      ...e\n    });\n  }\n  /**\n   * Display the Reflag feedback form UI programmatically.\n   *\n   * This can be used to collect feedback from users in Reflag in cases where Automated Feedback Surveys isn't appropriate.\n   *\n   * @param options\n   */\n  requestFeedback(e) {\n    var n, i, o;\n    if (!((n = this.context.user) != null && n.id)) {\n      this.logger.error(\n        \"`requestFeedback` call ignored. No `user` context provided at initialization\"\n      );\n      return;\n    }\n    if (!e.flagKey) {\n      this.logger.error(\n        \"`requestFeedback` call ignored. No `flagKey` provided\"\n      );\n      return;\n    }\n    const r = {\n      flagKey: e.flagKey,\n      companyId: e.companyId || ((i = this.context.company) != null && i.id ? String((o = this.context.company) == null ? void 0 : o.id) : void 0),\n      source: \"widget\"\n    };\n    setTimeout(() => {\n      $r({\n        key: e.flagKey,\n        title: e.title,\n        position: e.position || this.requestFeedbackOptions.position,\n        translations: e.translations || this.requestFeedbackOptions.translations,\n        openWithCommentVisible: e.openWithCommentVisible,\n        onClose: e.onClose,\n        onDismiss: e.onDismiss,\n        onScoreSubmit: async (s) => {\n          const a = await this.feedback({\n            ...r,\n            ...s\n          });\n          return a ? { feedbackId: (await a.json()).feedbackId } : { feedbackId: void 0 };\n        },\n        onSubmit: async (s) => {\n          var a;\n          await this.feedback({\n            ...r,\n            ...s\n          }), (a = e.onAfterSubmit) == null || a.call(e, s);\n        }\n      });\n    }, 1);\n  }\n  /**\n   * @deprecated Use `getFlags` instead.\n   */\n  getFeatures() {\n    return this.getFlags();\n  }\n  /**\n   * Returns a map of enabled flags.\n   * Accessing a flag will *not* send a check event\n   * and `isEnabled` does not take any flag overrides\n   * into account.\n   *\n   * @returns Map of flags.\n   */\n  getFlags() {\n    return this.flagsClient.getFlags();\n  }\n  /**\n   * Force refresh flags from the API, bypassing cache.\n   */\n  refresh() {\n    return this.flagsClient.refreshFlags();\n  }\n  /**\n   * Returns opt-in-enabled flags for the current context.\n   */\n  getOptInFlags() {\n    return this.flagsClient.requestOptInFlags(), Object.values(this.getFlags()).flatMap((e) => e.optInEnabled !== !0 || !e.optIn ? [] : {\n      key: e.key,\n      name: e.optIn.name,\n      description: e.optIn.description,\n      isEnabled: e.isEnabledOverride ?? e.isEnabled,\n      userOptedIn: e.optIn.userOptedIn,\n      companyOptedIn: e.optIn.companyOptedIn,\n      isOptedIn: e.optIn.isOptedIn\n    });\n  }\n  /**\n   * Returns whether opt-in flags are loading for the current context.\n   *\n   * Calling this method requests opt-in metadata if it is not already available.\n   */\n  getIsLoadingOptInFlags() {\n    return this.flagsClient.requestOptInFlags(), this.flagsClient.getIsLoadingOptInFlags();\n  }\n  /**\n   * Set whether the current user or company has opted into a flag.\n   *\n   * A successful Response is returned after the refreshed flag state confirms\n   * the membership change. HTTP failures return a non-OK Response without\n   * refreshing flags. Offline mode, invalid arguments, or missing scoped context\n   * return undefined. Network and confirmation failures reject the promise;\n   * a confirmation failure may occur after membership changed remotely.\n   */\n  async setOptIn(e, r) {\n    var b;\n    if (this.config.offline)\n      return;\n    if (typeof e != \"string\" || !e) {\n      this.logger.error(\"`setOptIn` call ignored. No `flagKey` provided\");\n      return;\n    }\n    if (!r || typeof r.optedIn != \"boolean\") {\n      this.logger.error(\"`setOptIn` call ignored. `optedIn` must be a boolean\");\n      return;\n    }\n    const n = r.scope ?? \"user\";\n    if (n !== \"user\" && n !== \"company\") {\n      this.logger.error(\n        '`setOptIn` call ignored. `scope` must be \"user\" or \"company\"'\n      );\n      return;\n    }\n    const i = this.context[n];\n    if (!(i != null && i.id)) {\n      this.logger.error(\n        `\\`setOptIn\\` call ignored. No \\`${n}\\` context provided`\n      );\n      return;\n    }\n    const o = (p) => {\n      const y = new Error(p);\n      throw this.logger.error(\"set opt-in confirmation failed\", y), y;\n    }, s = String(i.id), a = () => {\n      const p = this.context[n];\n      p != null && p.id && String(p.id) === s || o(\n        `Opt-in changed remotely, but the ${n} context changed before the updated state could be confirmed`\n      );\n    }, c = {\n      user: this.context.user ? { ...this.context.user, id: String(this.context.user.id) } : void 0,\n      company: this.context.company ? { ...this.context.company, id: String(this.context.company.id) } : void 0,\n      other: this.context.other\n    }, l = await this.httpClient.post({\n      path: \"/flags/opt-in\",\n      body: {\n        key: e,\n        optedIn: r.optedIn,\n        scope: n,\n        context: c\n      }\n    });\n    if (!l.ok)\n      return await ie({\n        logger: this.logger,\n        res: l.clone(),\n        message: \"set opt-in request failed\",\n        extra: { flagKey: e, optedIn: r.optedIn, scope: n }\n      }), l;\n    let f;\n    try {\n      const p = await l.clone().json();\n      if (!ue(p == null ? void 0 : p.flagStateVersion))\n        throw new Error(\"Response did not include a valid flag state version\");\n      f = p.flagStateVersion;\n    } catch (p) {\n      throw this.logger.error(\n        \"set opt-in succeeded but its flag state version could not be read\",\n        p\n      ), p;\n    }\n    a();\n    const u = await this.flagsClient.refreshFlags(f);\n    a(), u || o(\n      \"Opt-in changed remotely, but the updated flag state could not be confirmed\"\n    );\n    const m = (b = this.flagsClient.getFetchedFlags()[e]) == null ? void 0 : b.optIn, d = n === \"user\" ? m == null ? void 0 : m.userOptedIn : m == null ? void 0 : m.companyOptedIn;\n    return (r.optedIn ? d === !0 : d !== !0) || o(\n      `Opt-in changed remotely, but the updated ${n} membership was not reflected in the SDK`\n    ), l;\n  }\n  /**\n   * @deprecated Use `getFlag` instead.\n   */\n  getFeature(e) {\n    return this.getFlag(e);\n  }\n  /**\n   * Return a flag. Accessing `isEnabled` or `config` will automatically send a `check` event.\n   *\n   * @param flagKey - The key of the flag to get.\n   * @returns A flag.\n   */\n  getFlag(e) {\n    const r = this.getFlags()[e], n = !this.flagsClient.hasFlagState() && !this.config.offline, i = this, o = (r == null ? void 0 : r.isEnabledOverride) ?? (r == null ? void 0 : r.isEnabled) ?? !1, s = r != null && r.config ? {\n      key: r.config.key,\n      payload: r.config.payload\n    } : { key: void 0, payload: void 0 };\n    return {\n      get isEnabled() {\n        return i.sendCheckEvent({\n          action: \"check-is-enabled\",\n          key: e,\n          version: r == null ? void 0 : r.targetingVersion,\n          ruleEvaluationResults: r == null ? void 0 : r.ruleEvaluationResults,\n          missingContextFields: r == null ? void 0 : r.missingContextFields,\n          evaluationErrors: rr(\n            r == null ? void 0 : r.evaluationErrors,\n            n\n          ),\n          value: o\n        }).catch(() => {\n        }), o;\n      },\n      get config() {\n        var a, c, l, f;\n        return i.sendCheckEvent({\n          action: \"check-config\",\n          key: e,\n          version: (a = r == null ? void 0 : r.config) == null ? void 0 : a.version,\n          ruleEvaluationResults: (c = r == null ? void 0 : r.config) == null ? void 0 : c.ruleEvaluationResults,\n          missingContextFields: (l = r == null ? void 0 : r.config) == null ? void 0 : l.missingContextFields,\n          evaluationErrors: rr(\n            (f = r == null ? void 0 : r.config) == null ? void 0 : f.evaluationErrors,\n            n\n          ),\n          value: (r == null ? void 0 : r.config) && {\n            key: r.config.key,\n            payload: r.config.payload\n          }\n        }).catch(() => {\n        }), s;\n      },\n      track: () => this.track(e),\n      requestFeedback: (a) => {\n        this.requestFeedback({\n          flagKey: e,\n          ...a\n        });\n      },\n      isEnabledOverride: this.flagsClient.getFlagOverride(e),\n      setIsEnabledOverride(a) {\n        i.flagsClient.setFlagOverride(e, a);\n      }\n    };\n  }\n  showToolbarToggle(e) {\n    this.toolbarToggleShown || (this.toolbarToggleShown = !0, this.logger.info(\"opening toolbar toggler\"), Qo({\n      reflagClient: this,\n      position: e\n    }));\n  }\n  finishContextUpdate() {\n    this.contextUpdateLoading && (this.contextUpdateLoading = !1, this.state === \"initializing\" && this.setState(\"initialized\"));\n  }\n  setState(e) {\n    this.state = e, this.hooks.trigger(\"stateUpdated\", e);\n  }\n  sendCheckEvent(e) {\n    return this.flagsClient.sendCheckEvent(e, () => {\n      this.hooks.trigger(\"check\", e);\n    });\n  }\n  /**\n   * Send attributes to Reflag for the current user\n   */\n  async user() {\n    if (!this.context.user) {\n      this.logger.warn(\n        \"`user` call ignored. No user context provided at initialization\"\n      );\n      return;\n    }\n    if (this.config.offline || !this.config.enableTracking || !this.bulkQueue)\n      return;\n    const { id: e, ...r } = this.context.user, n = {\n      type: \"user\",\n      userId: String(e),\n      attributes: r\n    };\n    await this.bulkQueue.enqueue(n), this.logger.debug(\"queued user\", n), this.hooks.trigger(\"user\", this.context.user);\n  }\n  /**\n   * Send attributes to Reflag for the current company.\n   */\n  async company() {\n    if (!this.context.user) {\n      this.logger.warn(\n        \"`company` call ignored. No user context provided at initialization\"\n      );\n      return;\n    }\n    if (!this.context.company) {\n      this.logger.warn(\n        \"`company` call ignored. No company context provided at initialization\"\n      );\n      return;\n    }\n    if (this.config.offline || !this.config.enableTracking || !this.bulkQueue)\n      return;\n    const { id: e, ...r } = this.context.company, n = {\n      type: \"company\",\n      userId: String(this.context.user.id),\n      companyId: String(e),\n      attributes: r\n    };\n    await this.bulkQueue.enqueue(n), this.logger.debug(\"queued company\", n), this.hooks.trigger(\"company\", this.context.company);\n  }\n  wantsPubSub() {\n    return this.enableLiveFlagUpdates || !!this.autoFeedback;\n  }\n  hasPubSubTransport() {\n    return !fe || !!this.eventSourceFactory;\n  }\n  async initializePubSub() {\n    var e;\n    (e = this.pubSubChannel) == null || e.close(), this.pubSubChannel = void 0, this.pubSubChannel = ur({\n      channels: [],\n      callback: (r) => this.handlePubSubMessage(r),\n      logger: this.logger,\n      sseBaseUrl: this.config.sseBaseUrl,\n      eventSourceFactory: this.eventSourceFactory,\n      publishableKey: this.publishableKey,\n      sdkVersion: this.sdkVersion,\n      path: \"sse/client\",\n      context: this.context,\n      credentials: this.credentials\n    });\n  }\n  handlePubSubMessage(e) {\n    var s;\n    const r = typeof e.name == \"string\" ? e.name : typeof e.event == \"string\" ? e.event : void 0, n = e.data ?? e, i = Number(n == null ? void 0 : n.flagStateVersion), o = ue(i);\n    if (r === \"flags-updated\" || o) {\n      if (!this.enableLiveFlagUpdates)\n        return;\n      o && (this.latestFlagStateVersionSeen = Math.max(\n        this.latestFlagStateVersionSeen ?? -1,\n        i\n      ));\n      const a = this.flagsClient.getFlagStateVersion();\n      this.state === \"initialized\" && (!o || a === void 0 || i > a) && this.flagsClient.refreshFlags(o ? i : void 0).catch((c) => {\n        this.logger.error(\"error refreshing flags after live update\", c);\n      });\n      return;\n    }\n    this.autoFeedback && ((s = this.context.user) != null && s.id) && this.autoFeedback.handleFeedbackPromptRequest(\n      String(this.context.user.id),\n      n\n    );\n  }\n  reconcileFlagsWithLatestPubSubVersion() {\n    if (!this.enableLiveFlagUpdates)\n      return;\n    const e = this.latestFlagStateVersionSeen, r = this.flagsClient.getFlagStateVersion();\n    e !== void 0 && (r === void 0 || e > r) && this.flagsClient.refreshFlags(e).catch((n) => {\n      this.logger.error(\n        \"error refreshing flags after pubsub version reconciliation\",\n        n\n      );\n    });\n  }\n  async updateAutoFeedbackUser(e) {\n    if (this.autoFeedback) {\n      if (this.pubSubInit) {\n        await this.pubSubInit, this.autoFeedback.setUserId(e), this.pubSubInit = this.initializePubSub().catch((r) => {\n          this.logger.error(\"error reinitializing pubsub\", r);\n        }), await this.pubSubInit;\n        return;\n      }\n      await this.autoFeedbackInit, await this.autoFeedback.setUser(e);\n    }\n  }\n}\nexport {\n  ts as ReflagClient,\n  nt as feedbackContainerId,\n  wr as propagatedEvents\n};\n//# sourceMappingURL=reflag-browser-sdk.mjs.map\n","import { version } from \"../package.json\";\n\nexport const SDK_VERSION = `vue-sdk/${version}`;\n","import {\n  computed,\n  inject,\n  InjectionKey,\n  onMounted,\n  onUnmounted,\n  ref,\n} from \"vue\";\n\nimport {\n  HookArgs,\n  InitOptions,\n  ReflagClient,\n  RequestFeedbackData,\n  SetOptInOptions,\n  UnassignedFeedback,\n} from \"@reflag/browser-sdk\";\n\nimport {\n  FlagKey,\n  OptInFlag,\n  ProviderContextType,\n  RequestFlagFeedbackOptions,\n  TypedFlags,\n  UseOptInFlagsResult,\n} from \"./types\";\nimport { SDK_VERSION } from \"./version\";\n\nexport const ProviderSymbol: InjectionKey<ProviderContextType> =\n  Symbol(\"ReflagProvider\");\n\n/**\n * Map of clients by context key. Used to deduplicate initialization of the client.\n * @internal\n */\nconst reflagClients = new Map<string, ReflagClient>();\n\n/**\n * Returns the ReflagClient for a given publishable key.\n * Only creates a new ReflagClient if not already created or if it hook is run on the server.\n * @internal\n */\nexport function useReflagClient(\n  initOptions: InitOptions & { debug?: boolean },\n): ReflagClient {\n  const {\n    debug = false,\n    logger,\n    publishableKey,\n    enableLiveFlagUpdates,\n    ...clientOptions\n  } = initOptions;\n  const isServer = typeof window === \"undefined\";\n  if (isServer || !reflagClients.has(publishableKey)) {\n    const client = new ReflagClient({\n      ...clientOptions,\n      publishableKey,\n      enableLiveFlagUpdates: enableLiveFlagUpdates ?? true,\n      sdkVersion: SDK_VERSION,\n      logger: logger ?? (debug ? console : undefined),\n    });\n    if (!isServer) {\n      reflagClients.set(publishableKey, client);\n    }\n    return client;\n  }\n  return reflagClients.get(publishableKey)!;\n}\n\n/**\n * Vue composable for getting the state of a given flag for the current context.\n *\n * This composable returns an object with the state of the flag for the current context.\n *\n * @param key - The key of the flag to get the state of.\n * @returns An object with the state of the flag.\n *\n * @example\n * ```ts\n * import { useFlag } from '@reflag/vue-sdk';\n *\n * const { isEnabled, config, track, requestFeedback } = useFlag(\"huddles\");\n *\n * function StartHuddlesButton() {\n *   const { isEnabled, config: { payload }, track } = useFlag(\"huddles\");\n *   if (isEnabled) {\n *    return <button onClick={() => track()}>{payload?.buttonTitle ?? \"Start Huddles\"}</button>;\n * }\n * ```\n */\nexport function useFlag<TKey extends FlagKey>(key: TKey): TypedFlags[TKey] {\n  const client = useClient();\n  const isLoading = useIsLoading();\n\n  const track = () => client.track(key);\n  const requestFeedback = (opts: RequestFlagFeedbackOptions) =>\n    client.requestFeedback({ ...opts, flagKey: key });\n\n  const flag = ref(\n    client.getFlag(key) || {\n      isEnabled: false,\n      config: { key: undefined, payload: undefined },\n    },\n  );\n\n  const updateFlag = () => {\n    flag.value = client.getFlag(key);\n  };\n\n  onMounted(() => {\n    updateFlag();\n  });\n\n  useOnEvent(\"flagsUpdated\", updateFlag);\n\n  return {\n    key,\n    isLoading,\n    isEnabled: computed(() => flag.value.isEnabled),\n    config: computed(() => flag.value.config),\n    track,\n    requestFeedback,\n  } as TypedFlags[TKey];\n}\n\n/**\n * Vue composable for getting opt-in-enabled flags and their loading state for\n * the current context.\n *\n * The loading state is only used with `ReflagBootstrappedProvider` while\n * opt-in metadata is fetched on demand. Regular providers load opt-in metadata\n * with the initial flags; use {@link useIsLoading} for their loading state.\n *\n * If fetching opt-in metadata fails, loading ends without exposing an error.\n * Call `refresh()` on the client returned by {@link useClient} to retry.\n */\nexport function useOptInFlags(): UseOptInFlagsResult {\n  const client = useClient();\n  const isBootstrapped = client.getConfig().bootstrapped;\n  const optInFlags = ref<OptInFlag[]>(client.getOptInFlags() as OptInFlag[]);\n  const isOptInFlagsLoading = ref(client.getIsLoadingOptInFlags());\n\n  const updateOptInFlags = () => {\n    optInFlags.value = client.getOptInFlags() as OptInFlag[];\n  };\n  const updateIsLoading = (isLoading = client.getIsLoadingOptInFlags()) => {\n    isOptInFlagsLoading.value = isLoading;\n  };\n\n  useOnEvent(\"flagsUpdated\", updateOptInFlags, client);\n  useOnEvent(\"optInFlagsLoadingUpdated\", updateIsLoading, client);\n\n  onMounted(() => {\n    updateOptInFlags();\n    updateIsLoading();\n  });\n\n  return {\n    flags: computed(() => optInFlags.value),\n    isLoading: computed(() => isBootstrapped && isOptInFlagsLoading.value),\n  };\n}\n\n/**\n * Vue composable for setting whether the current user or company has opted into a flag.\n *\n * Check the returned Response's `ok` property and catch promise rejections.\n * HTTP failures return a non-OK Response; offline mode, invalid arguments, or\n * missing scoped context return undefined. Confirmation failures can reject\n * after the membership changed remotely. See {@link ReflagClient.setOptIn}.\n */\nexport function useSetOptIn() {\n  const client = useClient();\n  return (key: FlagKey, options: SetOptInOptions) =>\n    client.setOptIn(String(key), options);\n}\n\n/**\n * Vue composable for tracking custom events.\n *\n * This composable returns a function that can be used to track custom events\n * with the Reflag SDK.\n *\n * @example\n * ```ts\n * import { useTrack } from '@reflag/vue-sdk';\n *\n * const track = useTrack();\n *\n * // Track a custom event\n * track('button_clicked', { buttonName: 'Start Huddles' });\n * ```\n *\n * @returns A function that tracks an event. The function accepts:\n *   - `eventName`: The name of the event to track.\n *   - `attributes`: (Optional) Additional attributes to associate with the event.\n */\nexport function useTrack() {\n  const client = useClient();\n  return (eventName: string, attributes?: Record<string, any> | null) =>\n    client.track(eventName, attributes);\n}\n\n/**\n * Vue composable for requesting user feedback.\n *\n * This composable returns a function that can be used to trigger the feedback\n * collection flow with the Reflag SDK. You can use this to prompt users for\n * feedback at any point in your application.\n *\n * @example\n * ```ts\n * import { useRequestFeedback } from '@reflag/vue-sdk';\n *\n * const requestFeedback = useRequestFeedback();\n *\n * // Request feedback from the user\n * requestFeedback({\n *   prompt: \"How was your experience?\",\n *   metadata: { page: \"dashboard\" }\n * });\n * ```\n *\n * @returns A function that requests feedback from the user. The function accepts:\n *   - `options`: An object containing feedback request options.\n */\nexport function useRequestFeedback() {\n  const client = useClient();\n  return (options: RequestFeedbackData) => client.requestFeedback(options);\n}\n\n/**\n * Vue composable for sending feedback.\n *\n * This composable returns a function that can be used to send feedback to the\n * Reflag SDK. You can use this to send feedback from your application.\n *\n * @example\n * ```ts\n * import { useSendFeedback } from '@reflag/vue-sdk';\n *\n * const sendFeedback = useSendFeedback();\n *\n * // Send feedback from the user\n * sendFeedback({\n *   feedback: \"I love this flag!\",\n *   metadata: { page: \"dashboard\" }\n * });\n * ```\n *\n * @returns A function that sends feedback to the Reflag SDK. The function accepts:\n *   - `options`: An object containing feedback options.\n */\nexport function useSendFeedback() {\n  const client = useClient();\n  return (opts: UnassignedFeedback) => client.feedback(opts);\n}\n\n/**\n * Vue composable for updating the user context.\n *\n * This composable returns a function that can be used to update the user context\n * with the Reflag SDK. You can use this to update the user context at any point\n * in your application.\n *\n * @example\n * ```ts\n * import { useUpdateUser } from '@reflag/vue-sdk';\n *\n * const updateUser = useUpdateUser();\n *\n * // Update the user context\n * updateUser({ id: \"123\", name: \"John Doe\" });\n * ```\n *\n * @returns A function that updates the user context. The function accepts:\n *   - `opts`: An object containing the user context to update.\n */\nexport function useUpdateUser() {\n  const client = useClient();\n  return (opts: { [key: string]: string | number | undefined }) =>\n    client.updateUser(opts);\n}\n\n/**\n * Vue composable for updating the company context.\n *\n * This composable returns a function that can be used to update the company\n * context with the Reflag SDK. You can use this to update the company context\n * at any point in your application.\n *\n * @example\n * ```ts\n * import { useUpdateCompany } from '@reflag/vue-sdk';\n *\n * const updateCompany = useUpdateCompany();\n *\n * // Update the company context\n * updateCompany({ id: \"123\", name: \"Acme Inc.\" });\n * ```\n *\n * @returns A function that updates the company context. The function accepts:\n *   - `opts`: An object containing the company context to update.\n */\nexport function useUpdateCompany() {\n  const client = useClient();\n  return (opts: { [key: string]: string | number | undefined }) =>\n    client.updateCompany(opts);\n}\n\n/**\n * Vue composable for updating the other context.\n *\n * This composable returns a function that can be used to update the other\n * context with the Reflag SDK. You can use this to update the other context\n * at any point in your application.\n *\n * @example\n * ```ts\n * import { useUpdateOtherContext } from '@reflag/vue-sdk';\n *\n * const updateOtherContext = useUpdateOtherContext();\n *\n * // Update the other context\n * updateOtherContext({ id: \"123\", name: \"Acme Inc.\" });\n * ```\n *\n * @returns A function that updates the other context. The function accepts:\n *   - `opts`: An object containing the other context to update.\n */\nexport function useUpdateOtherContext() {\n  const client = useClient();\n  return (opts: { [key: string]: string | number | undefined }) =>\n    client.updateOtherContext(opts);\n}\n\n/**\n * Vue composable for getting the Reflag client.\n *\n * This composable returns the Reflag client. You can use this to get the Reflag\n * client at any point in your application.\n *\n * @example\n * ```ts\n * import { useClient } from '@reflag/vue-sdk';\n *\n * const client = useClient();\n *\n * console.log(client.getContext());\n * ```\n * @returns The Reflag client.\n */\nexport function useClient() {\n  const ctx = injectSafe();\n  return ctx.client;\n}\n\n/**\n * Vue composable for checking if the Reflag client is loading.\n *\n * This composable returns a boolean value that indicates whether the Reflag client is loading.\n * You can use this to check if the Reflag client is loading at any point in your application.\n * Initially, the value will be true until the client is initialized.\n *\n * @example\n * ```ts\n * import { useIsLoading } from '@reflag/vue-sdk';\n *\n * const isLoading = useIsLoading();\n *\n * console.log(isLoading);\n * ```\n */\nexport function useIsLoading() {\n  const ctx = injectSafe();\n  return ctx.isLoading;\n}\n\n/**\n * Vue composable for listening to Reflag client events.\n *\n * @example\n * ```ts\n * import { useOnEvent } from '@reflag/vue-sdk';\n *\n * useOnEvent(\"flagsUpdated\", () => {\n *   console.log(\"flags updated\");\n * });\n * ```\n *\n * @param event - The event to listen to.\n * @param handler - The function to call when the event is triggered.\n * @param client - The Reflag client to listen to. If not provided, the client will be retrieved from the context.\n */\nexport function useOnEvent<THookType extends keyof HookArgs>(\n  event: THookType,\n  handler: (arg0: HookArgs[THookType]) => void,\n  client?: ReflagClient,\n) {\n  const resolvedClient = client ?? useClient();\n  let off: (() => void) | undefined;\n  onMounted(() => {\n    off = resolvedClient.on(event, handler);\n  });\n  onUnmounted(() => {\n    off?.();\n  });\n}\n\nfunction injectSafe() {\n  const ctx = inject(ProviderSymbol);\n  if (!ctx) {\n    throw new Error(\n      `ReflagProvider is missing. Please ensure your component is wrapped with a ReflagProvider.`,\n    );\n  }\n  return ctx;\n}\n","<script setup lang=\"ts\">\nimport { onMounted, provide, ref, watch } from \"vue\";\n\nimport { ProviderSymbol, useOnEvent, useReflagClient } from \"./hooks\";\nimport type { ReflagBootstrappedProps } from \"./types\";\n\nconst {\n  flags,\n  initialLoading = false,\n  enableTracking = true,\n  logger,\n  debug,\n  enableLiveFlagUpdates = undefined,\n  ...config\n} = defineProps<ReflagBootstrappedProps>();\n\nconst client = useReflagClient({\n  ...config,\n  enableTracking,\n  enableLiveFlagUpdates,\n  bootstrappedState: flags,\n  debug,\n  logger,\n});\n\nconst isLoading = ref(\n  client.getState() !== \"initialized\" ? initialLoading : false,\n);\nuseOnEvent(\n  \"stateUpdated\",\n  (state) => {\n    isLoading.value = state === \"initializing\";\n  },\n  client,\n);\n\n// Initialize the client if it is not already initialized\nonMounted(() => {\n  if (client.getState() !== \"idle\") return;\n  void client.initialize().catch((e) => {\n    client.logger.error(\"failed to initialize client\", e);\n  });\n});\n\n// Update the bootstrapped state if it changes\nwatch(\n  () => flags,\n  (newFlags) => {\n    client.applyBootstrappedState(newFlags);\n  },\n  { deep: true },\n);\n\nprovide(ProviderSymbol, {\n  isLoading,\n  client,\n});\n</script>\n\n<template>\n  <slot v-if=\"isLoading && $slots.loading\" name=\"loading\" />\n  <slot v-else />\n</template>\n","<script setup lang=\"ts\">\nimport { provide, ref } from \"vue\";\n\nimport { ProviderSymbol, useOnEvent } from \"./hooks\";\nimport { ReflagClientProviderProps } from \"./types\";\n\nconst { client, initialLoading = true } =\n  defineProps<ReflagClientProviderProps>();\n\nconst isLoading = ref(\n  client.getState() !== \"initialized\" ? initialLoading : false,\n);\nuseOnEvent(\n  \"stateUpdated\",\n  (state) => {\n    isLoading.value = state === \"initializing\";\n  },\n  client,\n);\n\nprovide(ProviderSymbol, {\n  isLoading,\n  client,\n});\n</script>\n\n<template>\n  <slot v-if=\"isLoading && $slots.loading\" name=\"loading\" />\n  <slot v-else />\n</template>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, provide, ref, watch } from \"vue\";\n\nimport { ProviderSymbol, useOnEvent, useReflagClient } from \"./hooks\";\nimport type { ReflagProps } from \"./types\";\n\nconst {\n  context,\n  user,\n  company,\n  otherContext,\n  initialLoading = true,\n  enableTracking = true,\n  logger,\n  debug,\n  enableLiveFlagUpdates = undefined,\n  ...config\n} = defineProps<ReflagProps>();\n\nconst resolvedContext = computed(() => ({\n  user,\n  company,\n  other: otherContext,\n  ...context,\n}));\n\nconst client = useReflagClient({\n  ...config,\n  ...resolvedContext.value,\n  enableTracking,\n  enableLiveFlagUpdates,\n  debug,\n  logger,\n});\n\nconst isLoading = ref(\n  client.getState() !== \"initialized\" ? initialLoading : false,\n);\nuseOnEvent(\n  \"stateUpdated\",\n  (state) => {\n    isLoading.value = state === \"initializing\";\n  },\n  client,\n);\n\n// Initialize the client if it is not already initialized\nonMounted(() => {\n  if (client.getState() !== \"idle\") return;\n  void client.initialize().catch((e) => {\n    client.logger.error(\"failed to initialize client\", e);\n  });\n});\n\n// Update the context if it changes\nwatch(\n  () => resolvedContext,\n  () => {\n    void client.setContext(resolvedContext.value);\n  },\n  { deep: true },\n);\n\nprovide(ProviderSymbol, {\n  isLoading,\n  client,\n});\n</script>\n\n<template>\n  <slot v-if=\"isLoading && $slots.loading\" name=\"loading\" />\n  <slot v-else />\n</template>\n","import { App } from \"vue\";\n\nimport ReflagBootstrappedProvider from \"./ReflagBootstrappedProvider.vue\";\nimport ReflagClientProvider from \"./ReflagClientProvider.vue\";\nimport ReflagProvider from \"./ReflagProvider.vue\";\n\nexport {\n  useClient,\n  useFlag,\n  useIsLoading,\n  useOnEvent,\n  useOptInFlags,\n  useRequestFeedback,\n  useSetOptIn,\n  useSendFeedback,\n  useTrack,\n  useUpdateCompany,\n  useUpdateOtherContext,\n  useUpdateUser,\n} from \"./hooks\";\nexport type {\n  BootstrappedFlags,\n  EmptyFlagRemoteConfig,\n  Flag,\n  FlagKey,\n  Flags,\n  FlagType,\n  OptInFlag,\n  ReflagBaseProps,\n  ReflagBootstrappedProps,\n  ReflagClientProviderProps,\n  ReflagInitOptionsBase,\n  ReflagProps,\n  RequestFlagFeedbackOptions,\n  TypedFlags,\n  UseOptInFlagsResult,\n} from \"./types\";\nexport type {\n  CheckEvent,\n  CompanyContext,\n  SetOptInOptions,\n  TrackEvent,\n  UserContext,\n} from \"@reflag/browser-sdk\";\n\nexport { ReflagBootstrappedProvider, ReflagClientProvider, ReflagProvider };\n\nexport default {\n  install(app: App) {\n    app.component(\"ReflagProvider\", ReflagProvider);\n    app.component(\"ReflagBootstrappedProvider\", ReflagBootstrappedProvider);\n    app.component(\"ReflagClientProvider\", ReflagClientProvider);\n  },\n};\n"],"names":["Zr","Gr","Qr","vt","i","o","Ee","r","s","c","_t","Yr","le","Jr","Xr","en","xt","wt","tn","n","rn","nn","on","Ct","a","l","m","sn","an","nr","ve","ln","cn","kt","un","fn","dn","hn","gn","pn","mn","bn","yn","vn","_n","xn","wn","Cn","St","Et","kn","Sn","g","b","p","v","_","En","Fn","In","f","u","d","Q","ee","On","ir","Ln","Qe","or","Rn","sr","An","Tn","Mn","Ft","Pn","qn","Dn","ar","Un","Vn","e","zn","Bn","lr","cr","Nn","at","$n","ur","jn","fr","Fe","Hn","Ye","Je","Kn","Wn","Zn","Gn","Be","I","dr","te","It","hr","Xe","lt","et","tt","_e","gr","Qn","ct","pr","h","Ae","B","Te","oe","mr","Ot","qe","ut","vr","br","y","Yn","ft","yr","Jn","rt","Lt","Ie","Rt","k","C","T","ei","M","Xn","_r","nt","xr","wr","he","Ke","At","xe","Cr","Tt","Mt","Pt","qt","Dt","Ut","Ne","A","ti","kr","ge","dt","Me","U","re","P","ri","Pe","it","ni","Vt","ii","pe","ne","De","Oe","J","oi","si","ot","Ce","ke","Sr","ht","me","gt","ai","Ue","li","st","ci","ui","fi","Er","Ve","zt","di","Fr","x","w","hi","z","Z","F","H","E","q","gi","D","Wr","pi","mi","bi","ye","Ir","V","W","N","j","Bt","Se","$","yi","$e","pt","mt","vi","X","be","je","Or","we","Lr","bt","de","_i","Rr","xi","ae","wi","Ci","Ar","ki","Si","Ei","Nt","Tr","Fi","Ii","Oi","Li","We","$t","Mr","Ri","Ai","Ti","Mi","Pi","Pr","qi","Di","jt","Ui","qr","ze","Dr","Ht","Kt","Ur","Vi","zi","Wt","yt","Vr","zr","Zt","Bi","Ni","$i","Ze","ji","Hi","Ki","Br","Gt","Wi","Zi","Gi","Qi","Yi","Qt","Ji","Xi","eo","to","ro","no","io","oo","so","ao","lo","co","Nr","uo","fo","ho","Yt","$r","go","po","jr","mo","bo","yo","He","vo","_o","xo","wo","Co","ko","Hr","So","Eo","ue","Fo","Io","K","Jt","Kr","Oo","Xt","Lo","Ro","Ao","er","To","Mo","Po","qo","Do","Uo","Vo","zo","ce","Bo","Le","No","$o","Ho","jo","Ko","tr","Wo","Zo","Go","Qo","Yo","Jo","Ge","Re","Xo","rr","es","ts","SDK_VERSION","version","ProviderSymbol","reflagClients","useReflagClient","initOptions","debug","logger","publishableKey","enableLiveFlagUpdates","clientOptions","isServer","client","ReflagClient","useFlag","key","useClient","isLoading","useIsLoading","track","requestFeedback","opts","flag","ref","updateFlag","onMounted","useOnEvent","computed","useOptInFlags","isBootstrapped","optInFlags","isOptInFlagsLoading","updateOptInFlags","updateIsLoading","useSetOptIn","options","useTrack","eventName","attributes","useRequestFeedback","useSendFeedback","useUpdateUser","useUpdateCompany","useUpdateOtherContext","injectSafe","event","handler","resolvedClient","off","onUnmounted","ctx","inject","config","_createPropsRestProxy","__props","state","watch","newFlags","provide","$slots","_renderSlot","_ctx","resolvedContext","index","app","ReflagProvider","ReflagBootstrappedProvider","ReflagClientProvider"],"mappings":"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"}