@vocalstack/player 0.1.0-alpha.3 → 0.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,10 +2,10 @@ var Gi = Object.defineProperty;
2
2
  var Zi = (t, e, n) => e in t ? Gi(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
3
  var he = (t, e, n) => Zi(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as a, jsxs as f, Fragment as Pe } from "react/jsx-runtime";
5
- import { useState as O, useRef as z, useEffect as E, useLayoutEffect as mn, createContext as $s, useMemo as ze, useContext as qi, useCallback as tt, Fragment as Ki } from "react";
5
+ import { useState as O, useRef as z, useEffect as E, useLayoutEffect as mn, createContext as Bs, useMemo as ze, useContext as qi, useCallback as tt, Fragment as Ki } from "react";
6
6
  import { createPortal as Ji } from "react-dom";
7
- import { VocalStackError as Bs, VocalStack as Hs } from "@vocalstack/js-sdk";
8
- const Vs = "https://vocalstack.com", Xi = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ea = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", na = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
7
+ import { VocalStackError as Hs, VocalStack as Vs } from "@vocalstack/js-sdk";
8
+ const Fs = "https://vocalstack.com", Xi = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ea = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", na = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
9
  function ra({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
10
10
  return /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...r }, ...s, children: n });
11
11
  }
@@ -54,7 +54,7 @@ const K = {
54
54
  function ue({ d: t, ...e }) {
55
55
  return /* @__PURE__ */ a(ra, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ a("path", { d: n }, n)) });
56
56
  }
57
- function Fs({ size: t = 13 }) {
57
+ function Ws({ size: t = 13 }) {
58
58
  return /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", style: { marginLeft: 2 }, "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" }) });
59
59
  }
60
60
  function ct({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,127,.35)", sw: r }) {
@@ -84,18 +84,18 @@ function sa({ size: t = 12 }) {
84
84
  }
85
85
  function Vt({ dark: t, height: e = 20, link: n = !0 }) {
86
86
  const r = /* @__PURE__ */ a("img", { src: t ? Xi : ea, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
87
- return n ? /* @__PURE__ */ a("a", { href: Vs, style: { display: "block" }, children: r }) : r;
87
+ return n ? /* @__PURE__ */ a("a", { href: Fs, style: { display: "block" }, children: r }) : r;
88
88
  }
89
- function Ws({ dark: t, size: e = 30 }) {
89
+ function Gs({ dark: t, size: e = 30 }) {
90
90
  return /* @__PURE__ */ a("img", { src: t ? ta : na, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
91
91
  }
92
- function ys({ children: t, panel: e, inset: n, className: r = "", style: s }) {
92
+ function Ts({ children: t, panel: e, inset: n, className: r = "", style: s }) {
93
93
  return /* @__PURE__ */ a("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${r}`, style: s, children: t });
94
94
  }
95
95
  function Pt({ checked: t, onChange: e, label: n, disabled: r }) {
96
96
  return /* @__PURE__ */ a("button", { type: "button", role: "switch", "aria-checked": t, "aria-label": n, className: "vs-toggle", disabled: r, onClick: () => e(!t), children: /* @__PURE__ */ a("span", { className: "vs-toggle__knob" }) });
97
97
  }
98
- function Ts({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill: i }) {
98
+ function Ls({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill: i }) {
99
99
  const o = z(null), [l, c] = O(null), u = Math.max(0, n.findIndex((d) => d.value === t));
100
100
  return mn(() => {
101
101
  const d = o.current;
@@ -210,15 +210,15 @@ function Nn({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: i
210
210
  /* @__PURE__ */ a("div", { className: "vs-sheet__body", children: o })
211
211
  ] }) }) : null;
212
212
  }
213
- $s(0);
213
+ Bs(0);
214
214
  function er({ children: t, style: e, className: n }) {
215
215
  return /* @__PURE__ */ a("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
216
216
  }
217
217
  let Mn = null;
218
- function Tc(t) {
218
+ function Lc(t) {
219
219
  Mn = t;
220
220
  }
221
- function Gs(t) {
221
+ function Zs(t) {
222
222
  Mn == null || Mn(t);
223
223
  }
224
224
  function yn() {
@@ -251,7 +251,7 @@ function da(t, e, n = {}) {
251
251
  const r = new URLSearchParams({ kind: "delivery", format: yn() });
252
252
  return n.accessToken && r.set("access_token", n.accessToken), n.listenerToken && r.set("listenerToken", n.listenerToken), n.shareCode && r.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
253
253
  }
254
- function Ls(t, e, n = {}, r = "background") {
254
+ function ws(t, e, n = {}, r = "background") {
255
255
  const s = new URLSearchParams({ kind: r, format: yn() });
256
256
  return n.accessToken && s.set("access_token", n.accessToken), n.listenerToken && s.set("listenerToken", n.listenerToken), n.shareCode && s.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
257
257
  }
@@ -268,11 +268,11 @@ function ga(t, e, n, r, s, i) {
268
268
  }
269
269
  function ha(t, e = !0) {
270
270
  const n = (t == null ? void 0 : t.code) ?? 0, r = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
271
- return e && Zs(t), `The audio could not be played: ${r}.`;
271
+ return e && qs(t), `The audio could not be played: ${r}.`;
272
272
  }
273
- function Zs(t) {
273
+ function qs(t) {
274
274
  const e = (t == null ? void 0 : t.code) ?? 0;
275
- e !== 1 && Gs(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
275
+ e !== 1 && Zs(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
276
276
  }
277
277
  const fa = 3e3;
278
278
  function Na(t, e, n) {
@@ -375,13 +375,13 @@ class pa {
375
375
  }).catch(() => r(n.signal.aborted ? null : { state: "failed", at: this.now() }));
376
376
  }
377
377
  }
378
- const qs = { video: !1 };
379
- function Ks(t) {
380
- if (!qs.video) return new Audio(t);
378
+ const Ks = { video: !1 };
379
+ function Js(t) {
380
+ if (!Ks.video) return new Audio(t);
381
381
  const e = document.createElement("video");
382
382
  return e.playsInline = !0, t && (e.src = t), e;
383
383
  }
384
- class Js extends Error {
384
+ class Xs extends Error {
385
385
  constructor() {
386
386
  super("The voice did not start in time."), this.name = "VoiceNotStarted";
387
387
  }
@@ -784,7 +784,7 @@ const Xe = class Xe {
784
784
  }, i);
785
785
  return;
786
786
  }
787
- this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new Js()), this.onSentence(e);
787
+ this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new Xs()), this.onSentence(e);
788
788
  return;
789
789
  }
790
790
  const o = (this.retries.get(e) ?? 0) + 1;
@@ -812,7 +812,7 @@ const Xe = class Xe {
812
812
  }
813
813
  element() {
814
814
  if (this.el) return this.el;
815
- const e = Ks();
815
+ const e = Js();
816
816
  e.preload = "auto";
817
817
  const n = e;
818
818
  return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
@@ -866,7 +866,7 @@ const Xe = class Xe {
866
866
  };
867
867
  he(Xe, "WAIT_MS", 15e3), he(Xe, "START_WAIT_MS", 4e3), he(Xe, "COMING_MS", 12e4), he(Xe, "SKEW_LINES", 3), he(Xe, "RETRIES", 4), he(Xe, "RETRY_MS", 1200), he(Xe, "STARTING_MS", 3e5);
868
868
  let tr = Xe;
869
- function Xs(t, e) {
869
+ function ei(t, e) {
870
870
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
871
871
  }
872
872
  function ma(t, e, n, r = {}, s) {
@@ -892,7 +892,7 @@ function ma(t, e, n, r = {}, s) {
892
892
  });
893
893
  });
894
894
  }
895
- function ei(t, e) {
895
+ function ti(t, e) {
896
896
  const n = e.words;
897
897
  if (n && n.length === t.length && t.length > 0) {
898
898
  let r = 0;
@@ -919,7 +919,7 @@ function sr(t, e) {
919
919
  return e;
920
920
  }
921
921
  }
922
- function ti(t, e) {
922
+ function ni(t, e) {
923
923
  try {
924
924
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
925
925
  } catch {
@@ -934,12 +934,12 @@ function gr(t, e) {
934
934
  rr.delete(s), window.removeEventListener("storage", s);
935
935
  };
936
936
  }, [t]), [n, (s) => {
937
- r(s), ti(t, s);
937
+ r(s), ni(t, s);
938
938
  }];
939
939
  }
940
- function ws(t) {
940
+ function ks(t) {
941
941
  const e = sr(nr, []);
942
- ti(nr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
942
+ ni(nr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
943
943
  }
944
944
  function Ta() {
945
945
  const [t, e] = gr(nr, []), n = Array.isArray(t) ? t : [];
@@ -961,7 +961,7 @@ function va(t) {
961
961
  const [e, n] = gr(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
962
962
  return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : ka, n];
963
963
  }
964
- function ni({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: i = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: g }) {
964
+ function ri({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: i = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: g }) {
965
965
  const [M, p] = O(""), [y, j] = O(!1), [T, N] = O(null);
966
966
  E(() => {
967
967
  t && (p(""), j(!1), N(null));
@@ -997,9 +997,9 @@ function ni({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
997
997
  /* @__PURE__ */ a("div", { className: "vs-picker__native", children: b.native })
998
998
  ] }),
999
999
  /* @__PURE__ */ a("span", { className: "vs-picker__slot", children: Q && /* @__PURE__ */ a("span", { className: "vs-picker__forget", role: "button", tabIndex: 0, title: `Remove ${b.label} from recent`, "aria-label": `Remove ${b.label} from recent`, onClick: (v) => {
1000
- v.stopPropagation(), ws(b.code);
1000
+ v.stopPropagation(), ks(b.code);
1001
1001
  }, onKeyDown: (v) => {
1002
- (v.key === "Enter" || v.key === " ") && (v.preventDefault(), v.stopPropagation(), ws(b.code));
1002
+ (v.key === "Enter" || v.key === " ") && (v.preventDefault(), v.stopPropagation(), ks(b.code));
1003
1003
  }, children: /* @__PURE__ */ a(ue, { d: K.close, size: 16 }) }) }),
1004
1004
  /* @__PURE__ */ a("span", { className: `vs-picker__slot${L ? " vs-picker__slot--wide" : ""}`, title: b.voice ? "Voice available" : L ? "No voice speaks this language yet" : void 0, children: L ? T === b.code && /* @__PURE__ */ a("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : b.voice && /* @__PURE__ */ a(ue, { d: K.headphones, size: 16 }) }),
1005
1005
  /* @__PURE__ */ a("span", { className: "vs-picker__check", children: n === b.code && (g === b.code ? /* @__PURE__ */ a(ct, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ a(ue, { d: K.check, size: 16, sw: 2.2 })) })
@@ -1043,15 +1043,15 @@ function ni({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1043
1043
  return { search: X, list: I };
1044
1044
  }
1045
1045
  function ja({ open: t, onClose: e, title: n, note: r, sticky: s, ...i }) {
1046
- const { search: o, list: l } = ni({ ...i, open: t, onClose: e });
1046
+ const { search: o, list: l } = ri({ ...i, open: t, onClose: e });
1047
1047
  return /* @__PURE__ */ a(Nn, { open: t, onClose: e, title: n, note: r, drawer: !1, sticky: s, kind: "picker", header: o, children: l });
1048
1048
  }
1049
1049
  const za = 0.3;
1050
- function ks(t, e) {
1050
+ function vs(t, e) {
1051
1051
  t.muted = e.muted, Math.abs(t.currentTime - e.t) > za && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1052
1052
  }) : t.paused || t.pause();
1053
1053
  }
1054
- const vs = "Remove background sound", Ia = "Takes out everything that isn't speech: music, ambience and noise.";
1054
+ const js = "Remove background sound", Ia = "Takes out everything that isn't speech: music, ambience and noise.";
1055
1055
  function Oa(t) {
1056
1056
  const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), r = Math.floor(e % 3600 / 60), s = String(e % 60).padStart(2, "0");
1057
1057
  return n ? `${n}:${String(r).padStart(2, "0")}:${s}` : `${r}:${s}`;
@@ -1112,7 +1112,7 @@ async function Ua(t) {
1112
1112
  function Fn(t) {
1113
1113
  t && (t.pause(), t.removeAttribute("src"), t.load());
1114
1114
  }
1115
- function ri(t, e) {
1115
+ function si(t, e) {
1116
1116
  const [n, r] = O("off"), [s, i] = O([]), [o, l] = O(!1), c = z(null), u = z([null, null]), d = z([NaN, NaN]), g = z(0);
1117
1117
  return E(() => {
1118
1118
  if (i([]), l(!1), !t) {
@@ -1151,7 +1151,7 @@ function ri(t, e) {
1151
1151
  for (const N of u.current) N && !N.paused && N.pause();
1152
1152
  };
1153
1153
  if (n === "ready" && c.current) {
1154
- M(), ks(c.current, e), l(!0);
1154
+ M(), vs(c.current, e), l(!0);
1155
1155
  return;
1156
1156
  }
1157
1157
  const p = n === "making" ? Ya(s, e.t) : -1;
@@ -1166,20 +1166,20 @@ function ri(t, e) {
1166
1166
  }
1167
1167
  g.current = y.play;
1168
1168
  const j = u.current[y.play], T = u.current[1 - y.play];
1169
- T && !T.paused && T.pause(), ks(j, { ...e, t: e.t - s[p].startS }), l(!e.playing || j.readyState >= 3);
1169
+ T && !T.paused && T.pause(), vs(j, { ...e, t: e.t - s[p].startS }), l(!e.playing || j.readyState >= 3);
1170
1170
  }, [n, s, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : s.length ? s[s.length - 1].endS : 0 };
1171
1171
  }
1172
1172
  function Ra(t, e) {
1173
- return ri(t, e).state;
1173
+ return si(t, e).state;
1174
1174
  }
1175
1175
  const Pa = 0.5, Qa = 3;
1176
- function si(t, e) {
1176
+ function hr(t, e) {
1177
1177
  let n = -1;
1178
1178
  for (let r = 0; r < t.length && t[r].start <= e + 0.02; r++) n = r;
1179
1179
  return n;
1180
1180
  }
1181
1181
  function $a(t, e, n) {
1182
- const r = si(t, n);
1182
+ const r = hr(t, n);
1183
1183
  if (r < 0) return { kind: "none" };
1184
1184
  const s = t[r];
1185
1185
  if (n >= s.end) return { kind: "none" };
@@ -1196,15 +1196,22 @@ function $a(t, e, n) {
1196
1196
  }
1197
1197
  return { kind: "done", sid: s.sid };
1198
1198
  }
1199
- function Ba(t, e, n, r = Qa) {
1200
- const s = Math.max(0, si(t, n)), i = [];
1199
+ function Ba(t, e, n) {
1200
+ if (n == null) return !1;
1201
+ const r = hr(t, e);
1202
+ if (r < 0) return !1;
1203
+ const s = t[r];
1204
+ return e >= s.end ? s.sid === n : r > 0 && t[r - 1].sid === n && e - s.start < 1.5;
1205
+ }
1206
+ function Ha(t, e, n, r = Qa) {
1207
+ const s = Math.max(0, hr(t, n)), i = [];
1201
1208
  for (let o = s; o < t.length && o <= s + r; o++) {
1202
1209
  const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
1203
1210
  l && i.push(l.src);
1204
1211
  }
1205
1212
  return i;
1206
1213
  }
1207
- function Ha(t) {
1214
+ function Va(t) {
1208
1215
  const e = ze(() => {
1209
1216
  const c = /* @__PURE__ */ new Map();
1210
1217
  for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
@@ -1227,7 +1234,7 @@ function Ha(t) {
1227
1234
  }
1228
1235
  const c = $a(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
1229
1236
  i((y) => y.missing === u && y.sid === d ? y : { missing: u, sid: d });
1230
- const g = new Set(Ba(t.lines, e, t.t));
1237
+ const g = new Set(Ha(t.lines, e, t.t));
1231
1238
  for (const y of g) o(y);
1232
1239
  const M = r.current;
1233
1240
  M && g.add(M.src);
@@ -1237,9 +1244,8 @@ function Ha(t) {
1237
1244
  return;
1238
1245
  }
1239
1246
  if (c.kind !== "play") {
1240
- const y = M && !M.el.paused && !M.el.ended;
1241
- if (y && c.kind !== "none") return;
1242
- y || (r.current = null);
1247
+ if (M && !M.el.paused && !M.el.ended && Ba(t.lines, t.t, M.sid)) return;
1248
+ M && M.el.pause(), r.current = null;
1243
1249
  return;
1244
1250
  }
1245
1251
  if (M && M.src === c.src) {
@@ -1259,12 +1265,12 @@ function Ha(t) {
1259
1265
  p.currentTime = c.offset;
1260
1266
  } catch {
1261
1267
  }
1262
- r.current = { src: c.src, el: p }, p.play().catch(() => {
1268
+ r.current = { src: c.src, sid: c.sid, el: p }, p.play().catch(() => {
1263
1269
  });
1264
1270
  }, [t.on, t.t, t.playing, t.muted, t.lines, e]), s;
1265
1271
  }
1266
- const js = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1267
- function Va(t, e) {
1272
+ const zs = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1273
+ function Fa(t, e) {
1268
1274
  var n, r;
1269
1275
  if (t === "play") {
1270
1276
  e.playing || e.toggle();
@@ -1280,31 +1286,31 @@ function Va(t, e) {
1280
1286
  }
1281
1287
  (r = e.prev) == null || r.call(e);
1282
1288
  }
1283
- function Fa(t, e) {
1284
- for (const n of js)
1289
+ function Wa(t, e) {
1290
+ for (const n of zs)
1285
1291
  try {
1286
1292
  t.setActionHandler(n, () => {
1287
1293
  const r = e();
1288
- r && Va(n, r);
1294
+ r && Fa(n, r);
1289
1295
  });
1290
1296
  } catch {
1291
1297
  }
1292
1298
  return () => {
1293
- for (const n of js)
1299
+ for (const n of zs)
1294
1300
  try {
1295
1301
  t.setActionHandler(n, null);
1296
1302
  } catch {
1297
1303
  }
1298
1304
  };
1299
1305
  }
1300
- function Wa(t, e) {
1306
+ function Ga(t, e) {
1301
1307
  const n = z(t);
1302
1308
  n.current = t;
1303
1309
  const r = !!t;
1304
1310
  E(() => {
1305
1311
  const i = typeof navigator < "u" ? navigator.mediaSession : void 0;
1306
1312
  if (!(!i || !r))
1307
- return Fa(i, () => n.current);
1313
+ return Wa(i, () => n.current);
1308
1314
  }, [r]);
1309
1315
  const s = !!(t != null && t.playing);
1310
1316
  E(() => {
@@ -1336,7 +1342,7 @@ function _t() {
1336
1342
  spans: []
1337
1343
  };
1338
1344
  }
1339
- function Ga(t, e) {
1345
+ function Za(t, e) {
1340
1346
  for (const r of t.spans) {
1341
1347
  const s = r.mediaEnd ?? 1 / 0;
1342
1348
  if (e < s || r.mediaEnd == null) return r.wallStart + Math.max(0, e - r.mediaStart);
@@ -1409,11 +1415,11 @@ function Wn(t, e) {
1409
1415
  ])
1410
1416
  ), n;
1411
1417
  }
1412
- function zs(t, e) {
1418
+ function Is(t, e) {
1413
1419
  const n = e ?? {};
1414
1420
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1415
1421
  }
1416
- function Za(t, e) {
1422
+ function qa(t, e) {
1417
1423
  const n = e.tail;
1418
1424
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1419
1425
  let r = !1;
@@ -1430,7 +1436,7 @@ function Za(t, e) {
1430
1436
  }
1431
1437
  return r;
1432
1438
  }
1433
- function qa(t, e) {
1439
+ function Ka(t, e) {
1434
1440
  var n;
1435
1441
  switch (delete t.numbers, e.type) {
1436
1442
  case "transcript.committed": {
@@ -1450,7 +1456,7 @@ function qa(t, e) {
1450
1456
  confidence: r.confidence ?? (s == null ? void 0 : s.confidence),
1451
1457
  latencyS: r.latencyS,
1452
1458
  language: r.language,
1453
- translations: zs(s == null ? void 0 : s.translations, r.translations),
1459
+ translations: Is(s == null ? void 0 : s.translations, r.translations),
1454
1460
  scriptPos: r.scriptPos ?? (s == null ? void 0 : s.scriptPos),
1455
1461
  scriptFrom: r.scriptPos != null ? r.scriptFrom ?? void 0 : s == null ? void 0 : s.scriptFrom
1456
1462
  }), r.speakerName && (t.speakers[r.speaker] = r.speakerName);
@@ -1471,7 +1477,7 @@ function qa(t, e) {
1471
1477
  }
1472
1478
  case "transcript.amended": {
1473
1479
  const r = t.segments.get(e.seq);
1474
- if (r && r.corrected && Za(r.words, e)) {
1480
+ if (r && r.corrected && qa(r.words, e)) {
1475
1481
  r.text = e.text, r.words = Bt(e.seq, e.tail.words);
1476
1482
  break;
1477
1483
  }
@@ -1519,7 +1525,7 @@ function qa(t, e) {
1519
1525
  seqs: r.seqs,
1520
1526
  speaker: r.speaker,
1521
1527
  start: r.start,
1522
- wallStart: Ga(t, r.start),
1528
+ wallStart: Za(t, r.start),
1523
1529
  text: i ? s.text : r.text,
1524
1530
  status: r.status === "open" ? "open" : "closed",
1525
1531
  settled: !!r.settled,
@@ -1528,7 +1534,7 @@ function qa(t, e) {
1528
1534
  suppressed: !!r.suppressed,
1529
1535
  unclear: !!r.unclear,
1530
1536
  language: r.language,
1531
- translations: i ? s.translations : zs(s == null ? void 0 : s.translations, r.translations),
1537
+ translations: i ? s.translations : Is(s == null ? void 0 : s.translations, r.translations),
1532
1538
  provisional: !!r.provisional,
1533
1539
  translationLatencyS: r.translationLatencyS
1534
1540
  }), r.speakerName && (t.speakers[r.speaker] = r.speakerName), r.settled) for (const o of r.seqs) {
@@ -1571,7 +1577,7 @@ function qa(t, e) {
1571
1577
  }
1572
1578
  return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
1573
1579
  }
1574
- function Ka(t) {
1580
+ function Ja(t) {
1575
1581
  const e = [], n = [...t.sentences.values()].sort((r, s) => r.start - s.start || (r.sentenceId ?? 0) - (s.sentenceId ?? 0));
1576
1582
  for (const r of n) {
1577
1583
  const s = r.seqs.map((l) => t.segments.get(l)).filter(Boolean), i = s.length === r.seqs.length || !r.text ? s.flatMap((l) => l.words) : [], o = s[s.length - 1];
@@ -1584,16 +1590,16 @@ function Ka(t) {
1584
1590
  catchup: s.some((l) => l.catchup),
1585
1591
  suppressed: r.suppressed || s.length > 0 && s.every((l) => l.suppressed),
1586
1592
  unclear: r.unclear || s.length > 0 && s.every((l) => l.unclear),
1587
- confidence: Ja(s),
1593
+ confidence: Xa(s),
1588
1594
  latencyS: o == null ? void 0 : o.latencyS,
1589
1595
  settled: r.settled || s.length > 0 && s.every((l) => l.settled),
1590
- translations: Object.keys(r.translations).length ? r.translations : Xa(s),
1596
+ translations: Object.keys(r.translations).length ? r.translations : eo(s),
1591
1597
  speaker: r.speaker >= 0 ? r.speaker : (o == null ? void 0 : o.speaker) ?? -1
1592
1598
  });
1593
1599
  }
1594
1600
  return e.sort((r, s) => r.start - s.start), e;
1595
1601
  }
1596
- function Ja(t) {
1602
+ function Xa(t) {
1597
1603
  let e = 0, n = 0;
1598
1604
  for (const r of t) {
1599
1605
  if (r.confidence == null) continue;
@@ -1602,20 +1608,20 @@ function Ja(t) {
1602
1608
  }
1603
1609
  return n ? e / n : void 0;
1604
1610
  }
1605
- function Xa(t) {
1611
+ function eo(t) {
1606
1612
  const e = {};
1607
1613
  for (const n of t) for (const [r, s] of Object.entries(n.translations)) e[r] = e[r] ? `${e[r]} ${s}` : s;
1608
1614
  return e;
1609
1615
  }
1610
- const eo = 0.85, to = 0.75;
1611
- function no(t) {
1612
- return t == null ? "" : t < to ? "low" : t < eo ? "mid" : "";
1616
+ const to = 0.85, no = 0.75;
1617
+ function ro(t) {
1618
+ return t == null ? "" : t < no ? "low" : t < to ? "mid" : "";
1613
1619
  }
1614
1620
  const dn = ["a", "b", "c", "d", "e", "f", "g", "h"];
1615
- function ro(t) {
1621
+ function so(t) {
1616
1622
  return dn[(t % dn.length + dn.length) % dn.length];
1617
1623
  }
1618
- function so(t) {
1624
+ function io(t) {
1619
1625
  if (t.numbers) return t.numbers;
1620
1626
  const e = /* @__PURE__ */ new Map(), n = (i, o) => {
1621
1627
  if (i < 0) return;
@@ -1631,18 +1637,18 @@ function so(t) {
1631
1637
  }
1632
1638
  function pn(t, e) {
1633
1639
  if (e < 0) return 0;
1634
- const n = so(t);
1640
+ const n = io(t);
1635
1641
  return n.get(e) ?? n.size + 1 + e;
1636
1642
  }
1637
- const io = /^\s*speaker\s+\d+\s*$/i;
1638
- function Is(t) {
1639
- return t && t.trim() && !io.test(t) ? t : void 0;
1643
+ const ao = /^\s*speaker\s+\d+\s*$/i;
1644
+ function Os(t) {
1645
+ return t && t.trim() && !ao.test(t) ? t : void 0;
1640
1646
  }
1641
1647
  function ii(t, e) {
1642
1648
  var n;
1643
- return Is(t.speakers[e]) ?? Is((n = t.speakerIds[e]) == null ? void 0 : n.name);
1649
+ return Os(t.speakers[e]) ?? Os((n = t.speakerIds[e]) == null ? void 0 : n.name);
1644
1650
  }
1645
- function hr(t, e) {
1651
+ function fr(t, e) {
1646
1652
  return e < 0 ? "" : ii(t, e) ?? `Speaker ${pn(t, e)}`;
1647
1653
  }
1648
1654
  function ai(t, e) {
@@ -1650,7 +1656,7 @@ function ai(t, e) {
1650
1656
  const n = ii(t, e);
1651
1657
  return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((s) => s[0]).join("") || `S${pn(t, e)}`).toUpperCase() : `S${pn(t, e)}`;
1652
1658
  }
1653
- function ao(t) {
1659
+ function oo(t) {
1654
1660
  if (t) {
1655
1661
  if (t.startsWith("#"))
1656
1662
  return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
@@ -1658,11 +1664,11 @@ function ao(t) {
1658
1664
  return { fg: `var(--vx-${t})`, soft: `var(--vx-${t}-soft)` };
1659
1665
  }
1660
1666
  }
1661
- function fr(t, e) {
1662
- const n = t.speakerIds[e], r = ao(n == null ? void 0 : n.color);
1663
- return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: ro(pn(t, e) - 1), hasVoice: !!n };
1667
+ function Nr(t, e) {
1668
+ const n = t.speakerIds[e], r = oo(n == null ? void 0 : n.color);
1669
+ return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: so(pn(t, e) - 1), hasVoice: !!n };
1664
1670
  }
1665
- function oo(t, e, n, r = !1) {
1671
+ function lo(t, e, n, r = !1) {
1666
1672
  const s = n ? n.speakerLabels ?? "auto" : null, i = (r ? s : null) ?? t.labels ?? s ?? "on";
1667
1673
  if (i !== "auto") return i === "on";
1668
1674
  const o = /* @__PURE__ */ new Set();
@@ -1670,7 +1676,7 @@ function oo(t, e, n, r = !1) {
1670
1676
  return !0;
1671
1677
  return !1;
1672
1678
  }
1673
- const lo = /* @__PURE__ */ new Set([
1679
+ const co = /* @__PURE__ */ new Set([
1674
1680
  "invalid_audio",
1675
1681
  "invalid_options",
1676
1682
  "invalid_token",
@@ -1702,7 +1708,7 @@ const lo = /* @__PURE__ */ new Set([
1702
1708
  engine_lost: "The transcription engine stopped. Please try again.",
1703
1709
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
1704
1710
  timeout: "That took too long. Please try again."
1705
- }, ir = oi.internal, Gn = "Can't reach VocalStack. Check your connection.", Os = {
1711
+ }, ir = oi.internal, Gn = "Can't reach VocalStack. Check your connection.", Cs = {
1706
1712
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
1707
1713
  NotSupportedError: "This browser cannot play this.",
1708
1714
  AbortError: "It was cancelled."
@@ -1710,34 +1716,34 @@ const lo = /* @__PURE__ */ new Set([
1710
1716
  function yt(t) {
1711
1717
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, r = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, s = e == null ? void 0 : e.details;
1712
1718
  if (n || r && r >= 400)
1713
- return n && lo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s } : n === "unavailable" && r === void 0 ? { message: Gn, code: n, details: s } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Gn, code: n, status: r, details: s } : { message: n && oi[n] || ir, code: n, status: r, details: s };
1719
+ return n && co.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s } : n === "unavailable" && r === void 0 ? { message: Gn, code: n, details: s } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Gn, code: n, status: r, details: s } : { message: n && oi[n] || ir, code: n, status: r, details: s };
1714
1720
  const i = (e == null ? void 0 : e.name) ?? "";
1715
- return i === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && Gs(t instanceof Error ? t : new Error(String(t))), { message: Gn }) : Os[i] ? { message: Os[i] } : t instanceof Error && i === "Error" && !(t instanceof Bs) ? { message: t.message } : { message: ir };
1721
+ return i === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && Zs(t instanceof Error ? t : new Error(String(t))), { message: Gn }) : Cs[i] ? { message: Cs[i] } : t instanceof Error && i === "Error" && !(t instanceof Hs) ? { message: t.message } : { message: ir };
1716
1722
  }
1717
- const li = "https://api.vocalstack.com", Nr = $s(null);
1723
+ const li = "https://api.vocalstack.com", pr = Bs(null);
1718
1724
  function Ct() {
1719
- const t = qi(Nr);
1725
+ const t = qi(pr);
1720
1726
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
1721
1727
  return t;
1722
1728
  }
1723
- function co(t) {
1724
- return t.value ? /* @__PURE__ */ a(Nr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ a(uo, { ...t });
1729
+ function uo(t) {
1730
+ return t.value ? /* @__PURE__ */ a(pr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ a(Mo, { ...t });
1725
1731
  }
1726
- function uo({ children: t, ...e }) {
1732
+ function Mo({ children: t, ...e }) {
1727
1733
  const n = ci(e);
1728
- return /* @__PURE__ */ a(Nr.Provider, { value: n, children: t });
1734
+ return /* @__PURE__ */ a(pr.Provider, { value: n, children: t });
1729
1735
  }
1730
- const Mo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1731
- function go(t) {
1732
- return Mo.test(t);
1736
+ const go = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1737
+ function ho(t) {
1738
+ return go.test(t);
1733
1739
  }
1734
1740
  function ci(t) {
1735
- const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || go(t.id)), s = (t.baseUrl ?? li).replace(/\/$/, ""), i = z(t.token);
1741
+ const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || ho(t.id)), s = (t.baseUrl ?? li).replace(/\/$/, ""), i = z(t.token);
1736
1742
  i.current = t.token;
1737
1743
  const o = !!t.token, l = ze(() => async () => {
1738
1744
  const d = i.current;
1739
1745
  return (typeof d == "function" ? await d() : d) || void 0;
1740
- }, []), c = t.client ?? null, u = ze(() => c ?? new Hs({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1746
+ }, []), c = t.client ?? null, u = ze(() => c ?? new Vs({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1741
1747
  return ze(() => {
1742
1748
  if (e) return { client: u, origin: s, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
1743
1749
  if (n) return { client: u, origin: s, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
@@ -1745,10 +1751,10 @@ function ci(t) {
1745
1751
  return { client: u, origin: s, owner: r, shareCode: d, listen: null, bearer: l, cred: { shareCode: d }, readAs: d ? { shareCode: d } : {} };
1746
1752
  }, [u, s, r, t.id, l, e, n]);
1747
1753
  }
1748
- function ho(t, e) {
1754
+ function fo(t, e) {
1749
1755
  return e ? { ...t, cred: { media: e } } : t;
1750
1756
  }
1751
- async function fo(t, e) {
1757
+ async function No(t, e) {
1752
1758
  if (t.listen) {
1753
1759
  const r = await t.client.recordings.get(t.listen.recordingId, t.readAs), s = r;
1754
1760
  return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: s.name ?? s.title ?? "", recording: r, job: s.job ?? null, allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
@@ -1773,11 +1779,11 @@ async function fo(t, e) {
1773
1779
  sharedBy: n.sharedBy ?? null
1774
1780
  };
1775
1781
  }
1776
- function No(t, e) {
1782
+ function po(t, e) {
1777
1783
  const [n, r] = O(null), [s, i] = O(!1), [o, l] = O(null), [c, u] = O(0);
1778
1784
  return E(() => {
1779
1785
  let d = !0;
1780
- return fo(t, e).then((g) => {
1786
+ return No(t, e).then((g) => {
1781
1787
  d && (r(g), i(!1), l(null));
1782
1788
  }).catch((g) => {
1783
1789
  if (!d) return;
@@ -1788,7 +1794,7 @@ function No(t, e) {
1788
1794
  };
1789
1795
  }, [t, e, c]), { source: n, gone: s, error: o, reload: () => u((d) => d + 1) };
1790
1796
  }
1791
- function po(t, e) {
1797
+ function mo(t, e) {
1792
1798
  const [n, r] = O(null);
1793
1799
  return E(() => {
1794
1800
  if (!t.owner || !e) {
@@ -1809,7 +1815,7 @@ function po(t, e) {
1809
1815
  };
1810
1816
  }, [t, e]), n;
1811
1817
  }
1812
- async function Cs(t, e, n = {}) {
1818
+ async function xs(t, e, n = {}) {
1813
1819
  const r = new URLSearchParams();
1814
1820
  for (const [o, l] of Object.entries(n.query ?? {})) l != null && r.set(o, l);
1815
1821
  t.shareCode && r.set("shareCode", t.shareCode), t.listen && r.set("listenerToken", t.listen.token);
@@ -1822,7 +1828,7 @@ async function Cs(t, e, n = {}) {
1822
1828
  return fetch(`${t.origin}${e}${i ? `${e.includes("?") ? "&" : "?"}${i}` : ""}`, { method: n.method ?? "GET", headers: s, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
1823
1829
  }
1824
1830
  const Zn = /* @__PURE__ */ new Map();
1825
- function mo() {
1831
+ function yo() {
1826
1832
  const t = Ct(), [e, n] = O(Zn.get(t.origin) ?? null);
1827
1833
  return E(() => {
1828
1834
  Zn.has(t.origin) || t.client.languages.list().then((r) => {
@@ -1840,8 +1846,8 @@ function ui(t, e) {
1840
1846
  };
1841
1847
  }, [...e, o]), { data: n, error: s, reload: () => l((c) => c + 1) };
1842
1848
  }
1843
- const yo = (t) => new Promise((e) => setTimeout(e, t)), To = 2500, Lo = 72;
1844
- function wo(t, e) {
1849
+ const To = (t) => new Promise((e) => setTimeout(e, t)), Lo = 2500, wo = 72;
1850
+ function ko(t, e) {
1845
1851
  const n = Ct(), r = z(n);
1846
1852
  r.current = n;
1847
1853
  const [s, i] = O(_t), o = z(_t()), l = z(null), c = z(e.lang ?? null), [u, d] = O(!1), [g, M] = O(null), [p, y] = O(!1), j = tt(() => {
@@ -1875,7 +1881,7 @@ function wo(t, e) {
1875
1881
  if (re.type === "snapshot")
1876
1882
  o.current = Wn(re.snapshot, re.reason === "gap" ? o.current : _t()), j(), ne();
1877
1883
  else if (re.type === "frame") {
1878
- qa(o.current, re.frame);
1884
+ Ka(o.current, re.frame);
1879
1885
  const we = re.frame;
1880
1886
  we.type === "recording.state" && (S = o.current.state, (U = ($ = T.current).onState) == null || U.call($, we.state, we.reason)), (P = (Me = T.current).onFrame) == null || P.call(Me, we), j();
1881
1887
  } else re.type === "closed" && d(!1);
@@ -1910,7 +1916,7 @@ function wo(t, e) {
1910
1916
  }
1911
1917
  const ae = o.current.state;
1912
1918
  if (!Q || ae === "ended" || ae === "finalized" || ae === "processing") return;
1913
- L += 1, await yo(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1919
+ L += 1, await To(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1914
1920
  }
1915
1921
  })(), () => {
1916
1922
  var $;
@@ -1926,9 +1932,9 @@ function wo(t, e) {
1926
1932
  v === k.current && (o.current = Wn(U, o.current), R(Q), j(), U.translationPending && $ > 0 && window.setTimeout(() => {
1927
1933
  v === k.current && S($ - 1).catch(() => {
1928
1934
  });
1929
- }, To));
1935
+ }, Lo));
1930
1936
  });
1931
- S(Lo).catch(() => {
1937
+ S(wo).catch(() => {
1932
1938
  v === k.current && Q && D(Q);
1933
1939
  }).finally(() => {
1934
1940
  v === k.current && h(!1);
@@ -1944,7 +1950,7 @@ function wo(t, e) {
1944
1950
  }, [j]), b = tt(() => M(null), []);
1945
1951
  return { model: s, connected: u, error: g, notFound: p, clearError: b, setLanguage: X, mergeTranslations: I, translating: N, translateFailed: C, shownLang: te };
1946
1952
  }
1947
- const xs = {
1953
+ const Ds = {
1948
1954
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
1949
1955
  Spanish: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Activar", vcMuted: "SILENCIADO", vcShared: "También la usa", vcUsedBy: "La usa", vcUnknownSpk: "Desconocido", vcUse: "Usar esta voz", vcGetting: "Descargando…", vcSample: "Así suena esta voz.", vcPreview: "MUESTRA", vcMale: "Hombre", vcFemale: "Mujer", vcSynth: "SINTÉTICA", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCES", vcBadge: "CLONADA", vcNone: "SOLO TEXTO", vcNoVoice: "Sin voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Buscar en esta emisión", noise: "Audio poco claro", newLines: "nuevas", live: "EN VIVO", ended: "FINALIZADA", waiting: "EN ESPERA", corrected: "CORREGIDO", hostLine: "Presenta Marcus Reed · 4 hablantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Leer", listen: "Escuchar", watch: "Ver", waitTitle: "La emisión aún no ha comenzado", waitBody: "La transcripción aparecerá aquí en cuanto el anfitrión empiece a hablar.", english: "INGLÉS", playing: "Reproduciendo la traducción al español", ready: "Toca para iniciar el audio", readyNote: "Ajusta el volumen primero", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DE LA APP", done: "Listo", search: "Buscar entre 100+ idiomas", sheetNote: "Sigue la emisión en tu idioma.", moreLangs: "más", confTitle: "Algunas palabras no se oyeron bien", confBody: "La transcripción marca las palabras dudosas con un subrayado discontinuo. Las palabras conservan su color, así que solo el subrayado te indica dónde mirar.", confMid: "Poca duda: probablemente correcta", confHigh: "Baja confianza: puede estar mal", settings: "EMISIÓN", setOrig: "Mostrar idioma original", setTheme: "Apariencia", light: "Claro", dark: "Oscuro", setConf: "Mostrar palabras dudosas", setConfHint1: "Colorea las palabras dudosas: ", setConfMid: "ámbar", setConfSep: " o ", setConfLow: "rojo", setConfHint2: "", behindLive: "LATENCIA DE TRADUCCIÓN", behindNote: "Cuánto se retrasa la traducción respecto a quien habla.", shareLabel: "ENLACE PARA SEGUIR", copy: "Copiar", copied: "Copiado" },
1950
1956
  French: { vcFor: "Voix de", vcMute: "Couper", vcUnmute: "Réactiver", vcMuted: "COUPÉ", vcShared: "Aussi utilisée par", vcUsedBy: "Utilisée par", vcUnknownSpk: "Inconnu", vcUse: "Utiliser cette voix", vcGetting: "Téléchargement…", vcSample: "Voici le rendu.", vcPreview: "APERÇU", vcMale: "Homme", vcFemale: "Femme", vcSynth: "SYNTHÉTIQUE", origAudio: "AUDIO ORIGINAL", vcCloned: "VOIX", vcBadge: "CLONÉE", vcNone: "TEXTE SEUL", vcNoVoice: "Aucune voix pour ", vcSheet: "VOIX", vcNeutral: "VOIX SYNTHÉTIQUE", vcWarm: "VOIX SYNTHÉTIQUE", searchPlaceholder: "Rechercher dans la diffusion", noise: "Audio peu clair", newLines: "nouvelles", live: "EN DIRECT", ended: "TERMINÉ", waiting: "EN ATTENTE", corrected: "CORRIGÉ", hostLine: "Animé par Marcus Reed · 4 intervenants", langLabel: "LANGUE", langCount: "100+ langues", read: "Lire", listen: "Écouter", watch: "Regarder", waitTitle: "La diffusion n’a pas encore commencé", waitBody: "La transcription s’affichera ici dès que l’animateur prendra la parole.", english: "ANGLAIS", playing: "Lecture de la traduction française", ready: "Touchez pour lancer l'audio", readyNote: "Réglez le volume d'abord", voiceMeta: "VOIX NEUTRE", voice: "Voix", sheetTitle: "LANGUE DE L'APP", done: "Terminé", search: "Rechercher parmi 100+ langues", sheetNote: "Suivez la diffusion dans votre langue.", moreLangs: "autres", confTitle: "Certains mots n'ont pas été bien entendus", confBody: "La transcription marque les mots incertains d'un soulignement en pointillés. Les mots gardent leur couleur : seul le soulignement attire l'attention.", confMid: "Léger doute — probablement juste", confHigh: "Faible confiance — peut être faux", settings: "DIFFUSION", setOrig: "Afficher la langue d'origine", setTheme: "Apparence", light: "Clair", dark: "Sombre", setConf: "Afficher les mots incertains", setConfHint1: "Colore les mots incertains — ", setConfMid: "ambre", setConfSep: " ou ", setConfLow: "rouge", setConfHint2: "", behindLive: "LATENCE DE TRADUCTION", behindNote: "De combien la traduction suit le locuteur en ce moment.", shareLabel: "LIEN DE SUIVI", copy: "Copier", copied: "Copié" },
@@ -1953,12 +1959,12 @@ const xs = {
1953
1959
  Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
1954
1960
  };
1955
1961
  function di(t) {
1956
- return t && xs[t] || xs.English;
1962
+ return t && Ds[t] || Ds.English;
1957
1963
  }
1958
1964
  async function Mi(t) {
1959
1965
  var s, i, o, l, c;
1960
1966
  const e = await t.json().catch(() => null), n = ((s = e == null ? void 0 : e.error) == null ? void 0 : s.code) ?? (e == null ? void 0 : e.code), r = ((i = e == null ? void 0 : e.error) == null ? void 0 : i.message) ?? (e == null ? void 0 : e.message);
1961
- return new Bs(typeof n == "string" ? n : "internal", typeof r == "string" ? r : ir, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1967
+ return new Hs(typeof n == "string" ? n : "internal", typeof r == "string" ? r : ir, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1962
1968
  }
1963
1969
  function qn(t) {
1964
1970
  switch (t) {
@@ -1976,14 +1982,14 @@ function qn(t) {
1976
1982
  return "queued";
1977
1983
  }
1978
1984
  }
1979
- function ko(t) {
1985
+ function vo(t) {
1980
1986
  return t ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : null;
1981
1987
  }
1982
- const vo = (t, e) => {
1988
+ const jo = (t, e) => {
1983
1989
  const n = (t == null ? void 0 : t.segmentsDone) ?? e, r = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
1984
1990
  return `${n} / ${r} SEGMENTS`;
1985
1991
  };
1986
- function jo(t, e) {
1992
+ function zo(t, e) {
1987
1993
  var s;
1988
1994
  const n = ((s = t == null ? void 0 : t.source) == null ? void 0 : s.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, r = t == null ? void 0 : t.crop;
1989
1995
  if (r && (r.startS != null || r.endS != null)) {
@@ -1998,24 +2004,24 @@ const ar = [
1998
2004
  { key: "srt", name: "Subtitles", ext: "SRT / VTT", note: "Timed caption cues, ready for a video editor or a player.", icon: "M2.25 15.75V8.25A2.25 2.25 0 0 1 4.5 6h15a2.25 2.25 0 0 1 2.25 2.25v7.5A2.25 2.25 0 0 1 19.5 18h-15a2.25 2.25 0 0 1-2.25-2.25Zm4.5-4.5h4.5m-4.5 3h1.5m3 0h6m-3-3h3" },
1999
2005
  { key: "json", name: "JSON", ext: "JSON", note: "Word-level timings, confidence scores and speaker turns.", icon: "M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" }
2000
2006
  ];
2001
- function pr(t) {
2007
+ function mr(t) {
2002
2008
  const e = document.createElement("a");
2003
2009
  e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
2004
2010
  }
2005
- async function zo(t) {
2011
+ async function Io(t) {
2006
2012
  const e = await fetch(t, { redirect: "manual" });
2007
2013
  if (e.type !== "opaqueredirect" && !e.ok) throw await Mi(e);
2008
- pr(t);
2014
+ mr(t);
2009
2015
  }
2010
- async function Io(t, e, n, r = {}) {
2016
+ async function Oo(t, e, n, r = {}) {
2011
2017
  var M, p;
2012
2018
  const s = await t.client.recordings.export(e, n, { lang: r.lang ?? void 0, ...t.readAs });
2013
2019
  if (!s.ok) throw await Mi(s);
2014
2020
  const i = await s.blob(), o = s.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], u = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, d = URL.createObjectURL(i), g = document.createElement("a");
2015
2021
  g.href = d, g.download = u, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(d), 6e4);
2016
2022
  }
2017
- async function Oo(t, e) {
2018
- const { recordingId: n, lang: r, voiceKey: s, cred: i } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => Xs(d, s);
2023
+ async function Co(t, e) {
2024
+ const { recordingId: n, lang: r, voiceKey: s, cred: i } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => ei(d, s);
2019
2025
  let c = l(await o());
2020
2026
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2021
2027
  const u = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2024,25 +2030,25 @@ async function Oo(t, e) {
2024
2030
  if (Date.now() > u) throw new Error("The spoken track is taking too long; try again in a moment.");
2025
2031
  await new Promise((d) => setTimeout(d, 4e3)), c = l(await o());
2026
2032
  }
2027
- pr(Ma(t.origin, n, r, c.voiceKey, i));
2033
+ mr(Ma(t.origin, n, r, c.voiceKey, i));
2028
2034
  }
2029
2035
  const or = (t) => {
2030
2036
  var e;
2031
2037
  return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
2032
- }, Co = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Ds = 0.3, xo = 1.5;
2038
+ }, xo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, bs = 0.3, Do = 1.5;
2033
2039
  function gi(t, e, n) {
2034
2040
  var s;
2035
2041
  const r = (s = t.words[t.words.length - 1]) == null ? void 0 : s.end;
2036
2042
  return r != null && r > t.start ? r : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
2037
2043
  }
2038
- function Do(t, e, n) {
2044
+ function bo(t, e, n) {
2039
2045
  var c, u;
2040
2046
  const r = t[e];
2041
2047
  if (!r) return !1;
2042
- const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - Ds, i = t[e + 1], o = gi(r, i, r.start + 4) + xo, l = i ? Math.min(o, (((u = i.words[0]) == null ? void 0 : u.start) ?? i.start) - Ds) : o;
2048
+ const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - bs, i = t[e + 1], o = gi(r, i, r.start + 4) + Do, l = i ? Math.min(o, (((u = i.words[0]) == null ? void 0 : u.start) ?? i.start) - bs) : o;
2043
2049
  return n >= s && n < Math.max(l, s + 0.5);
2044
2050
  }
2045
- function bo(t, e, n) {
2051
+ function So(t, e, n) {
2046
2052
  const r = Math.max(0, n - e), s = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), i = s.reduce((l, c) => l + c, 0) || 1;
2047
2053
  let o = e;
2048
2054
  return t.map((l, c) => {
@@ -2057,7 +2063,7 @@ function Kn(t) {
2057
2063
  bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
2058
2064
  };
2059
2065
  }
2060
- function So(t, e, n = 0) {
2066
+ function Ao(t, e, n = 0) {
2061
2067
  const r = z(() => {
2062
2068
  });
2063
2069
  E(() => {
@@ -2120,10 +2126,10 @@ function So(t, e, n = 0) {
2120
2126
  };
2121
2127
  }, []);
2122
2128
  }
2123
- function Ao({ thumbRef: t }) {
2129
+ function Eo({ thumbRef: t }) {
2124
2130
  return /* @__PURE__ */ a("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ a("div", { ref: t, className: "feedbar__thumb" }) });
2125
2131
  }
2126
- function Eo({ error: t, onClose: e }) {
2132
+ function Yo({ error: t, onClose: e }) {
2127
2133
  const n = z(e);
2128
2134
  if (n.current = e, E(() => {
2129
2135
  if (!t) return;
@@ -2146,7 +2152,7 @@ function Eo({ error: t, onClose: e }) {
2146
2152
  function hi({ color: t }) {
2147
2153
  return /* @__PURE__ */ a("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ a(ue, { d: K.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2148
2154
  }
2149
- function Lc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: i, play: o, next: l }) {
2155
+ function wc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: i, play: o, next: l }) {
2150
2156
  return /* @__PURE__ */ f("div", { className: "vs-tt", children: [
2151
2157
  /* @__PURE__ */ f("div", { className: "vs-tt__r1", children: [
2152
2158
  /* @__PURE__ */ a("div", { className: "vs-tt__chip", children: t }),
@@ -2163,7 +2169,7 @@ function Lc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: i, play: o, n
2163
2169
  ] })
2164
2170
  ] });
2165
2171
  }
2166
- function Yo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: i, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2172
+ function _o({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: i, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2167
2173
  const g = z(null), M = z(!1), [p, y] = O(null), j = Math.max(1, e), T = p ?? u, N = T != null ? Math.min(100, Math.max(0, T * 100)) : t / Math.max(1, j - 1) * 100, h = u != null && d > 0 && p == null ? `width ${d}ms linear, left ${d}ms linear` : "none", C = (k) => {
2168
2174
  var I;
2169
2175
  const te = (I = g.current) == null ? void 0 : I.getBoundingClientRect();
@@ -2207,7 +2213,7 @@ function Yo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
2207
2213
  ] })
2208
2214
  ] });
2209
2215
  }
2210
- function _o(t, e, n) {
2216
+ function Uo(t, e, n) {
2211
2217
  const r = new Set(t.seqs ?? t.words.map((l) => l.seq)), s = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && r.has(l.seq) && (l.kind === "word" || l.kind === "line")), i = s.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
2212
2218
  return {
2213
2219
  script: i ? 0 : t.words.filter((l) => l.script && !o(l)).length,
@@ -2215,7 +2221,7 @@ function _o(t, e, n) {
2215
2221
  manualCount: i ? 0 : s.filter((l) => l.kind === "word").length
2216
2222
  };
2217
2223
  }
2218
- function Uo({ f: t, desk: e, onOpen: n }) {
2224
+ function Ro({ f: t, desk: e, onOpen: n }) {
2219
2225
  const r = (s, i, o) => /* @__PURE__ */ f("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2220
2226
  l.stopPropagation(), n == null || n();
2221
2227
  }, children: [
@@ -2228,7 +2234,7 @@ function Uo({ f: t, desk: e, onOpen: n }) {
2228
2234
  t.manual && r(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2229
2235
  ] });
2230
2236
  }
2231
- function Ro({ onOpen: t, alone: e }) {
2237
+ function Po({ onOpen: t, alone: e }) {
2232
2238
  const [n, r] = O(!1);
2233
2239
  return /* @__PURE__ */ f("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => r(!0), onMouseLeave: () => r(!1), onClick: (s) => {
2234
2240
  s.stopPropagation(), t();
@@ -2237,7 +2243,7 @@ function Ro({ onOpen: t, alone: e }) {
2237
2243
  n && "FIX"
2238
2244
  ] });
2239
2245
  }
2240
- function Po(t, e, n, r) {
2246
+ function Qo(t, e, n, r) {
2241
2247
  const s = Ct(), [i, o] = O([]), [l, c] = O(0), u = z(/* @__PURE__ */ new Set()), d = z(!1), g = ze(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
2242
2248
  E(() => {
2243
2249
  u.current = /* @__PURE__ */ new Set();
@@ -2264,13 +2270,13 @@ function Po(t, e, n, r) {
2264
2270
  }
2265
2271
  }, [t, e, i, l, g, r]), M;
2266
2272
  }
2267
- function Qo(t) {
2273
+ function $o(t) {
2268
2274
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
2269
2275
  }
2270
2276
  function Qt(t, e) {
2271
2277
  return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
2272
2278
  }
2273
- function $o(t, e) {
2279
+ function Bo(t, e) {
2274
2280
  const n = t.slice().sort((s, i) => Qt(s, e).rank - Qt(i, e).rank || s.name.localeCompare(i.name, void 0, { numeric: !0 })), r = {};
2275
2281
  for (const s of n) {
2276
2282
  const i = Qt(s, e).head;
@@ -2281,17 +2287,17 @@ function $o(t, e) {
2281
2287
  return { v: s, headOn: l, head: o, headCount: r[o], rule: l ? "0" : "1px solid var(--hair)" };
2282
2288
  });
2283
2289
  }
2284
- function Bo(t, e, n) {
2290
+ function Ho(t, e, n) {
2285
2291
  const r = /* @__PURE__ */ new Set();
2286
2292
  let s = !1;
2287
2293
  for (const o of t)
2288
2294
  o.speaker < 0 ? s = !0 : r.add(o.speaker);
2289
2295
  const i = [...r].sort((o, l) => o - l).map((o) => {
2290
2296
  var c;
2291
- const l = fr(e, o);
2297
+ const l = Nr(e, o);
2292
2298
  return {
2293
2299
  key: o,
2294
- name: hr(e, o),
2300
+ name: fr(e, o),
2295
2301
  initial: ai(e, o),
2296
2302
  lane: l.lane,
2297
2303
  sex: e.speakerSex[o] ?? null,
@@ -2303,11 +2309,11 @@ function Bo(t, e, n) {
2303
2309
  });
2304
2310
  return s && i.push({ key: -1, name: n, initial: "?", lane: null, sex: null }), i;
2305
2311
  }
2306
- function bs(t) {
2312
+ function Ss(t) {
2307
2313
  const e = [...t.entries()].filter(([, n]) => n.trim()).sort((n, r) => n[0] - r[0]).map(([n, r]) => `${n}=${r.trim()}`).join(";");
2308
2314
  return e ? `cast:${e}` : "";
2309
2315
  }
2310
- function Ss(t) {
2316
+ function As(t) {
2311
2317
  if (!t || !t.startsWith("cast:")) return null;
2312
2318
  const e = /* @__PURE__ */ new Map();
2313
2319
  for (const n of t.slice(5).split(";")) {
@@ -2318,7 +2324,7 @@ function Ss(t) {
2318
2324
  }
2319
2325
  return e.size ? e : null;
2320
2326
  }
2321
- function As(t, e, n = !0) {
2327
+ function Es(t, e, n = !0) {
2322
2328
  const r = e.filter((o) => !o.cloned), s = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map();
2323
2329
  for (const o of t) {
2324
2330
  const c = (o.voiceId ? e.find((M) => M.cloned && !M.auto && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (n ? (o.voiceId ? e.find((M) => M.cloned && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (o.key >= 0 ? e.find((M) => M.cloned && M.auto && M.consent !== "pending" && M.speaker === o.key) : void 0) : void 0);
@@ -2331,7 +2337,7 @@ function As(t, e, n = !0) {
2331
2337
  }
2332
2338
  return i;
2333
2339
  }
2334
- function Ho({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: i, sexOf: o, t: l }) {
2340
+ function Vo({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: i, sexOf: o, t: l }) {
2335
2341
  const c = t.find((u) => u.key === e) ?? t[0] ?? null;
2336
2342
  return c ? /* @__PURE__ */ a("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
2337
2343
  const d = u.key === c.key, g = u.key >= 0 && !!(s != null && s(u)), M = u.key >= 0 && !g && r(u), p = u.key >= 0 && !g && !M && !u.hasVoice && !!(i != null && i(u));
@@ -2362,8 +2368,8 @@ function Ho({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2362
2368
  );
2363
2369
  }) }) : null;
2364
2370
  }
2365
- function Vo({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: i = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: M, noClone: p = null, t: y }) {
2366
- const j = ze(() => $o(e, y), [e, y]), [T, N] = O({});
2371
+ function Fo({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: i = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: M, noClone: p = null, t: y }) {
2372
+ const j = ze(() => Bo(e, y), [e, y]), [T, N] = O({});
2367
2373
  E(() => {
2368
2374
  N({});
2369
2375
  }, [d, g]);
@@ -2392,7 +2398,7 @@ function Vo({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2392
2398
  ] })
2393
2399
  ] }),
2394
2400
  j.map(({ v: k, headOn: te, head: R, headCount: X, rule: I }, b) => {
2395
- const Q = Qo(k), L = i === k.id, v = C(R), S = (u == null ? void 0 : u(k)) ?? null;
2401
+ const Q = $o(k), L = i === k.id, v = C(R), S = (u == null ? void 0 : u(k)) ?? null;
2396
2402
  return /* @__PURE__ */ f(Ki, { children: [
2397
2403
  te && R === y.vcSheet && /* @__PURE__ */ a("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: b === 0 && !p ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ a("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: R }) }),
2398
2404
  te && R !== y.vcSheet && /* @__PURE__ */ f(
@@ -2422,7 +2428,7 @@ function Vo({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2422
2428
  onClick: () => o(k),
2423
2429
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: v ? I : "0", display: "flex", alignItems: "center", gap: 11, padding: v ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: r === k.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: v ? 1 : 0, maxHeight: v ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2424
2430
  children: [
2425
- /* @__PURE__ */ a("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : k.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ a("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : s === k.id ? /* @__PURE__ */ a(Fo, { height: 13, width: 2.5 }) : /* @__PURE__ */ a(ue, { d: k.cloned ? K.voiceClone : k.gender === "female" ? K.venus : k.gender === "male" ? K.mars : K.mic, size: 15, sw: 1.6, style: { color: k.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2431
+ /* @__PURE__ */ a("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : k.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ a("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : s === k.id ? /* @__PURE__ */ a(Wo, { height: 13, width: 2.5 }) : /* @__PURE__ */ a(ue, { d: k.cloned ? K.voiceClone : k.gender === "female" ? K.venus : k.gender === "male" ? K.mars : K.mic, size: 15, sw: 1.6, style: { color: k.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2426
2432
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
2427
2433
  /* @__PURE__ */ a("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ a("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: k.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: k.name }) }),
2428
2434
  Q && /* @__PURE__ */ a("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: Q }),
@@ -2449,7 +2455,7 @@ function Vo({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2449
2455
  D && /* @__PURE__ */ a("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ a("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => r && c(r), children: /* @__PURE__ */ a("span", { children: y.vcUse }) }) })
2450
2456
  ] });
2451
2457
  }
2452
- function Fo({ height: t, width: e = 2 }) {
2458
+ function Wo({ height: t, width: e = 2 }) {
2453
2459
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2454
2460
  return /* @__PURE__ */ f("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2455
2461
  /* @__PURE__ */ a("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
@@ -2457,16 +2463,16 @@ function Fo({ height: t, width: e = 2 }) {
2457
2463
  /* @__PURE__ */ a("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2458
2464
  ] });
2459
2465
  }
2460
- const Wo = /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2466
+ const Go = /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2461
2467
  /* @__PURE__ */ a(ue, { d: K.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2462
2468
  /* @__PURE__ */ a(ue, { d: K.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2463
2469
  ] });
2464
- function Es(t, e) {
2470
+ function Ys(t, e) {
2465
2471
  const n = e ? t == null ? void 0 : t.languages.find((r) => r.code === e) : null;
2466
- return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : Wo, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2472
+ return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : Go, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2467
2473
  }
2468
- const Ys = { minHeight: 36, height: 36, padding: "0 11px", background: "var(--fill-06)" };
2469
- function Go(t, e, n = 0, r) {
2474
+ const _s = { minHeight: 36, height: 36, padding: "0 11px", background: "var(--fill-06)" };
2475
+ function Zo(t, e, n = 0, r) {
2470
2476
  const s = (r == null ? void 0 : r.id) ?? null, i = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Ct(), { data: c } = ui(async () => {
2471
2477
  if (!t || !e) return null;
2472
2478
  try {
@@ -2477,10 +2483,10 @@ function Go(t, e, n = 0, r) {
2477
2483
  }, [t, e, n, s, i, o]);
2478
2484
  return c;
2479
2485
  }
2480
- function Zo(t) {
2486
+ function qo(t) {
2481
2487
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2482
2488
  }
2483
- function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: i }) {
2489
+ function Ko({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: i }) {
2484
2490
  const o = Ct(), { data: l, reload: c } = ui(async () => {
2485
2491
  if (!t || !e) return null;
2486
2492
  const $ = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
@@ -2488,14 +2494,14 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2488
2494
  }, [t, e, o, n]), u = ze(
2489
2495
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2490
2496
  [l, e, t]
2491
- ), d = ze(() => Xs(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, p] = O(null), [y, j] = O(null), T = z(/* @__PURE__ */ new Set()), N = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, h = tt(async ($, U) => {
2497
+ ), d = ze(() => ei(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, p] = O(null), [y, j] = O(null), T = z(/* @__PURE__ */ new Set()), N = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, h = tt(async ($, U) => {
2492
2498
  if (!t || !e || !n) return;
2493
- const Me = U != null && U.size ? null : Ss($), P = U != null && U.size ? U : Me, V = P && P.size ? Object.fromEntries([...P].map(([we, pe]) => [String(we), pe])) : null, ae = `${t}|${e}|${V ? JSON.stringify(V) : $ ?? ""}`;
2499
+ const Me = U != null && U.size ? null : As($), P = U != null && U.size ? U : Me, V = P && P.size ? Object.fromEntries([...P].map(([we, pe]) => [String(we), pe])) : null, ae = `${t}|${e}|${V ? JSON.stringify(V) : $ ?? ""}`;
2494
2500
  if (T.current.has(ae)) return;
2495
2501
  T.current.add(ae), p(ae), j(null);
2496
2502
  const oe = { langs: [e] };
2497
2503
  V ? oe.voiceBySpeaker = V : $ && (oe.voice = $);
2498
- const re = await Cs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: oe }).catch(() => null);
2504
+ const re = await xs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: oe }).catch(() => null);
2499
2505
  if (p((we) => we === ae ? null : we), !(re != null && re.ok)) {
2500
2506
  T.current.delete(ae);
2501
2507
  const we = re ? await re.json().catch(() => null) : null;
@@ -2513,8 +2519,8 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2513
2519
  const $ = R ?? b[0], U = b.find((oe) => oe >= $) ?? b[0], Me = `${t}|${e}|${g ?? ""}`, P = Q.current;
2514
2520
  if (P && P.key === Me && Math.abs(P.near - U) < 12 && Date.now() - P.at < 6e4) return;
2515
2521
  Q.current = { key: Me, near: U, at: Date.now() };
2516
- const V = Ss(g), ae = { langs: [e], near: U };
2517
- V && V.size ? ae.voiceBySpeaker = Object.fromEntries([...V].map(([oe, re]) => [String(oe), re])) : g && (ae.voice = g), Cs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ae }).then((oe) => {
2522
+ const V = As(g), ae = { langs: [e], near: U };
2523
+ V && V.size ? ae.voiceBySpeaker = Object.fromEntries([...V].map(([oe, re]) => [String(oe), re])) : g && (ae.voice = g), xs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ae }).then((oe) => {
2518
2524
  oe.ok || (Q.current = null);
2519
2525
  }).catch(() => {
2520
2526
  Q.current = null;
@@ -2536,7 +2542,7 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2536
2542
  }, [d, t, o, r, te, e, s, n, I]), ne = ze(() => new Set(b), [b]);
2537
2543
  return { listed: l, rows: u, track: d, renderVoiceId: g, rendering: D, failed: k, clips: S, requestRender: h, forget: C, reload: c, setNear: X, missing: b.length, coming: ne };
2538
2544
  }
2539
- const Ko = { share: K.share, delay: K.tabGauge, video: K.video, source: K.tabSources, script: K.tabScript, fix: K.tabFix, ending: K.tabEnding, summary: K.tabSummary, export: K.tabExport, settings: K.tabSettings, sources: K.tabSources, recs: K.mic };
2545
+ const Jo = { share: K.share, delay: K.tabGauge, video: K.video, source: K.tabSources, script: K.tabScript, fix: K.tabFix, ending: K.tabEnding, summary: K.tabSummary, export: K.tabExport, settings: K.tabSettings, sources: K.tabSources, recs: K.mic };
2540
2546
  function fi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: i = !s }) {
2541
2547
  const o = s && t.length <= 3, l = t.some((T) => T.key === e), [c, u] = O(null), d = z(null), [g, M] = O(0);
2542
2548
  E(() => {
@@ -2565,7 +2571,7 @@ function fi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: i = !s
2565
2571
  }
2566
2572
  return /* @__PURE__ */ f("div", { role: "tablist", className: `tabbar tabbar--icons${s ? "" : " tabbar--desk"}`, "data-desk-tabs": i ? "" : void 0, "data-tab-n": i ? t.length : void 0, style: { marginBottom: r ? 12 : 0 }, onMouseLeave: y, children: [
2567
2573
  t.map((T) => {
2568
- const N = e === T.key, h = o || N, C = o ? "1 1 0" : N ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", D = T.icon ?? Ko[T.key], k = () => {
2574
+ const N = e === T.key, h = o || N, C = o ? "1 1 0" : N ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", D = T.icon ?? Jo[T.key], k = () => {
2569
2575
  y(), n(s && N ? "none" : T.key);
2570
2576
  };
2571
2577
  return s ? /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": N, title: T.label, className: `tabbar__tab${N ? " is-on" : ""}`, style: { flex: C }, onClick: k, children: [
@@ -2579,8 +2585,8 @@ function fi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: i = !s
2579
2585
  j
2580
2586
  ] });
2581
2587
  }
2582
- const Jo = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", Xo = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2583
- function el({ audio: t, video: e, formats: n, onExport: r }) {
2588
+ const Xo = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", el = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2589
+ function tl({ audio: t, video: e, formats: n, onExport: r }) {
2584
2590
  const [s, i] = O(null), [o, l] = O(null), c = z(void 0), u = z(!0);
2585
2591
  E(() => (u.current = !0, () => {
2586
2592
  u.current = !1, window.clearTimeout(c.current);
@@ -2609,11 +2615,11 @@ function el({ audio: t, video: e, formats: n, onExport: r }) {
2609
2615
  /* @__PURE__ */ a("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: j.name }),
2610
2616
  /* @__PURE__ */ a("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: j.meta })
2611
2617
  ] }),
2612
- /* @__PURE__ */ a(ue, { d: s === y ? K.check : Jo, size: 17, sw: 1.6, style: { flex: "none", color: s === y ? "var(--brand)" : "var(--ink-62)" } })
2618
+ /* @__PURE__ */ a(ue, { d: s === y ? K.check : Xo, size: 17, sw: 1.6, style: { flex: "none", color: s === y ? "var(--brand)" : "var(--ink-62)" } })
2613
2619
  ] })
2614
2620
  ] });
2615
2621
  return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2616
- t && p("audio", t, Xo, "DOWNLOAD AUDIO"),
2622
+ t && p("audio", t, el, "DOWNLOAD AUDIO"),
2617
2623
  e && p("video", e, K.video, "DOWNLOAD VIDEO"),
2618
2624
  n !== !1 && /* @__PURE__ */ f(Pe, { children: [
2619
2625
  /* @__PURE__ */ a(er, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
@@ -2638,7 +2644,7 @@ function Ni(t, e, n) {
2638
2644
  }
2639
2645
  r();
2640
2646
  }
2641
- function tl(t, e, n) {
2647
+ function nl(t, e, n) {
2642
2648
  const [r, s] = O(null), i = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${i ? `${t.title}
2643
2649
  ${t.summary}` : ""}`, l = Ct();
2644
2650
  return E(() => {
@@ -2655,12 +2661,12 @@ ${t.summary}` : ""}`, l = Ct();
2655
2661
  };
2656
2662
  }, [o, l]), !n || !i ? t : (r == null ? void 0 : r.key) === o ? r.s : { state: "pending", retry: t.retry };
2657
2663
  }
2658
- function nl(t) {
2664
+ function rl(t) {
2659
2665
  return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
2660
2666
  } } : { state: "unavailable", retry: () => {
2661
2667
  } };
2662
2668
  }
2663
- function rl({ s: t }) {
2669
+ function sl({ s: t }) {
2664
2670
  const [e, n] = O(!1), r = z(void 0);
2665
2671
  E(() => () => window.clearTimeout(r.current), []);
2666
2672
  const s = t.title ?? "", i = t.summary ?? "", o = () => {
@@ -2677,7 +2683,7 @@ ${i}`).catch(() => {
2677
2683
  /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
2678
2684
  /* @__PURE__ */ a(er, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
2679
2685
  t.state === "ready" && /* @__PURE__ */ f("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
2680
- /* @__PURE__ */ a(ue, { d: e ? K.check : al, size: 13, sw: 1.6 }),
2686
+ /* @__PURE__ */ a(ue, { d: e ? K.check : ol, size: 13, sw: 1.6 }),
2681
2687
  e ? "Copied" : "Copy"
2682
2688
  ] })
2683
2689
  ] }),
@@ -2690,15 +2696,15 @@ ${i}`).catch(() => {
2690
2696
  ] })
2691
2697
  ] });
2692
2698
  }
2693
- function sl({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: i, children: o, picture: l }) {
2699
+ function il({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: i, children: o, picture: l }) {
2694
2700
  return /* @__PURE__ */ f("div", { className: "livevid", style: { ...r != null ? { borderRadius: r } : null, ...s }, children: [
2695
2701
  /* @__PURE__ */ a(ue, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: i ? 34 : 30, sw: 1.2 }),
2696
- l ?? /* @__PURE__ */ a("iframe", { src: Co(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2702
+ l ?? /* @__PURE__ */ a("iframe", { src: xo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2697
2703
  n && /* @__PURE__ */ a("span", { className: "livevid__t", style: i ? { bottom: 10, right: 10 } : void 0, children: n }),
2698
2704
  o
2699
2705
  ] });
2700
2706
  }
2701
- function il(t = !0, e) {
2707
+ function al(t = !0, e) {
2702
2708
  const n = z(null), r = e ?? n;
2703
2709
  return E(() => {
2704
2710
  const s = r.current;
@@ -2719,8 +2725,8 @@ function il(t = !0, e) {
2719
2725
  };
2720
2726
  }, [t]), r;
2721
2727
  }
2722
- const al = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2723
- function ol(t, e) {
2728
+ const ol = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2729
+ function ll(t, e) {
2724
2730
  const [n, r] = wa(t), s = e.tabs.map((h) => h.key), i = e.tabbed !== !1, o = e.pinnable ?? s;
2725
2731
  let l = n;
2726
2732
  [...e.autoPin ?? []].reverse().forEach((h) => {
@@ -2759,8 +2765,8 @@ function ol(t, e) {
2759
2765
  };
2760
2766
  return { id: t, tabbed: i && g.length > 1, cur: M, seq: d, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((h) => g.includes(h.key)), panel: N, pin: y, unpin: j };
2761
2767
  }
2762
- function ll({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: i }) {
2763
- return cl(t), /* @__PURE__ */ f(Pe, { children: [
2768
+ function cl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: i }) {
2769
+ return ul(t), /* @__PURE__ */ f(Pe, { children: [
2764
2770
  e.map((o) => {
2765
2771
  const l = t.panel(o);
2766
2772
  if (!l.show) return null;
@@ -2776,7 +2782,7 @@ function ll({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: i }) {
2776
2782
  }, fold: !1 }) })
2777
2783
  ] });
2778
2784
  }
2779
- function cl(t) {
2785
+ function ul(t) {
2780
2786
  const e = z(t);
2781
2787
  e.current = t;
2782
2788
  const n = t.id;
@@ -2877,9 +2883,9 @@ function cl(t) {
2877
2883
  };
2878
2884
  }, [n]);
2879
2885
  }
2880
- function ul({ id: t, className: e, gap: n, hidden: r, plain: s, children: i }) {
2886
+ function dl({ id: t, className: e, gap: n, hidden: r, plain: s, children: i }) {
2881
2887
  const [o, l] = va(t), c = z(null), u = z(null);
2882
- dl(u), E(() => {
2888
+ Ml(u), E(() => {
2883
2889
  document.documentElement.style.setProperty("--colw", `${o}px`);
2884
2890
  }, [o]);
2885
2891
  const d = (M) => {
@@ -2903,7 +2909,7 @@ function ul({ id: t, className: e, gap: n, hidden: r, plain: s, children: i }) {
2903
2909
  /* @__PURE__ */ a("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: s ? i : /* @__PURE__ */ a("div", { ref: u, "data-panel-grid": "", className: "panelgrid", children: i }) })
2904
2910
  ] });
2905
2911
  }
2906
- function dl(t) {
2912
+ function Ml(t) {
2907
2913
  E(() => {
2908
2914
  const e = t.current;
2909
2915
  if (!e) return;
@@ -2931,11 +2937,11 @@ function dl(t) {
2931
2937
  };
2932
2938
  }, [t]);
2933
2939
  }
2934
- function Ml(t) {
2940
+ function gl(t) {
2935
2941
  return /\bwas not captured\b/i.test(t ?? "");
2936
2942
  }
2937
- const gl = 1500, hl = 3e5;
2938
- function fl(t) {
2943
+ const hl = 1500, fl = 3e5;
2944
+ function Nl(t) {
2939
2945
  const e = Ct(), [n, r] = O(null), [s, i] = O(null), [o, l] = O(null), [c, u] = O(null), d = z(null), g = z(null), M = z(null), p = z(0), y = tt(() => {
2940
2946
  M.current && (clearTimeout(M.current), M.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
2941
2947
  }, []), j = tt(() => {
@@ -2967,13 +2973,13 @@ function fl(t) {
2967
2973
  }
2968
2974
  if (p.current !== C) return;
2969
2975
  if (R.status === 202 || R.status === 503) {
2970
- if (Date.now() - k > hl) {
2976
+ if (Date.now() - k > fl) {
2971
2977
  l(null), u({ message: "This voice is still being fetched. Try it again in a moment." });
2972
2978
  return;
2973
2979
  }
2974
2980
  l(h.id), M.current = setTimeout(() => {
2975
2981
  te();
2976
- }, gl);
2982
+ }, hl);
2977
2983
  return;
2978
2984
  }
2979
2985
  if (!R.ok) {
@@ -3003,7 +3009,7 @@ const lr = 0.05, pi = (t, e) => {
3003
3009
  for (let r = 0; r < t.length; r++) t[r].start <= e + 1e-6 && (n = r);
3004
3010
  return n;
3005
3011
  };
3006
- function Nl(t, e, n, r) {
3012
+ function pl(t, e, n, r) {
3007
3013
  const s = Math.max(0, e), i = r > 0 && s >= r - lr, o = t.length && t[0].start <= s + 1e-6 ? pi(t, s) : -1;
3008
3014
  return o < 0 ? { t: s, playing: n && !i, sentenceId: null, offset: 0, ended: i } : { t: s, playing: n && !i, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, s - t[o].start), ended: i };
3009
3015
  }
@@ -3026,11 +3032,11 @@ function mi(t, e, n) {
3026
3032
  const r = t[e], s = n && r.translations[n] && r.language !== n ? r.translations[n] : null;
3027
3033
  if (!s && r.words.length) return r.words;
3028
3034
  const i = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = gi(r, t[e + 1], r.start + Math.max(2, i.length * 0.4));
3029
- return bo(i, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3035
+ return So(i, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3030
3036
  }
3031
- function _s(t, e, n) {
3037
+ function Us(t, e, n) {
3032
3038
  if (!t.engaged || e !== t.idx || !n.length) return null;
3033
- if (!t.wordSync) return t.clipPos ? ei(n.map((i) => ({ t: i.text, sp: " " })), t.clipPos) : null;
3039
+ if (!t.wordSync) return t.clipPos ? ti(n.map((i) => ({ t: i.text, sp: " " })), t.clipPos) : null;
3034
3040
  const r = t.t;
3035
3041
  let s = -1;
3036
3042
  for (let i = 0; i < n.length && n[i].start <= r; i++) s = i;
@@ -3048,7 +3054,7 @@ function Ot(t, e, n) {
3048
3054
  const r = (s = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : s.end;
3049
3055
  return r != null && r > e ? r : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3050
3056
  }
3051
- function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: M = !1 }) {
3057
+ function ml({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: M = !1 }) {
3052
3058
  const p = z(null), [y, j] = O(!1);
3053
3059
  E(() => {
3054
3060
  if (!M) {
@@ -3168,7 +3174,7 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3168
3174
  }, [V]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
3169
3175
  /* @__PURE__ */ a("iframe", { ref: p, onLoad: pe, referrerPolicy: "strict-origin-when-cross-origin", src: `https://www.youtube-nocookie.com/embed/${t}?enablejsapi=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, title: e, allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" }),
3170
3176
  !h && /* @__PURE__ */ a("div", { "aria-hidden": "true", className: "txyt__tap", onClick: i, style: { cursor: i ? "pointer" : "default" } }),
3171
- /* @__PURE__ */ a("div", { className: `txyt__paused${Me && !h && !se ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ a("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ a(Fs, { size: 44 }) }) }),
3177
+ /* @__PURE__ */ a("div", { className: `txyt__paused${Me && !h && !se ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ a("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ a(Ws, { size: 44 }) }) }),
3172
3178
  h && /* @__PURE__ */ a("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3173
3179
  se && /* @__PURE__ */ f("div", { className: "txyt__gone", children: [
3174
3180
  /* @__PURE__ */ a("span", { children: "YouTube no longer has this part of the broadcast" }),
@@ -3176,22 +3182,22 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3176
3182
  ] })
3177
3183
  ] });
3178
3184
  }
3179
- const ml = /* @__PURE__ */ f(Pe, { children: [
3185
+ const yl = /* @__PURE__ */ f(Pe, { children: [
3180
3186
  /* @__PURE__ */ a("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3181
3187
  /* @__PURE__ */ a("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3182
- ] }), yl = /* @__PURE__ */ a("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3183
- function Tl({ player: t, size: e }) {
3188
+ ] }), Tl = /* @__PURE__ */ a("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3189
+ function Ll({ player: t, size: e }) {
3184
3190
  const n = t.muted ? "Unmute" : "Mute";
3185
3191
  return /* @__PURE__ */ a("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ a(ue, { d: t.muted ? K.volumeOff : K.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
3186
3192
  }
3187
- function Ll() {
3193
+ function wl() {
3188
3194
  const [t, e] = O(""), n = z(null), r = tt((s) => {
3189
3195
  clearTimeout(n.current), e(s), n.current = setTimeout(() => e(""), 3e3);
3190
3196
  }, []);
3191
3197
  return E(() => () => clearTimeout(n.current), []), [t, r];
3192
3198
  }
3193
- const wl = 0.2, kl = 140, vl = 320;
3194
- function jl(t, e) {
3199
+ const kl = 0.2, vl = 140, jl = 320;
3200
+ function zl(t, e) {
3195
3201
  const n = z(t);
3196
3202
  n.current = t;
3197
3203
  const r = z(0), s = z(1), i = tt((o, l) => {
@@ -3205,13 +3211,13 @@ function jl(t, e) {
3205
3211
  d();
3206
3212
  }, []);
3207
3213
  E(() => {
3208
- i(e ? wl : 1, e ? kl : vl);
3214
+ i(e ? kl : 1, e ? vl : jl);
3209
3215
  }, [e, i]), E(() => () => {
3210
3216
  cancelAnimationFrame(r.current), s.current = 1;
3211
3217
  for (const o of n.current) o.setVolume(1);
3212
3218
  }, []);
3213
3219
  }
3214
- function zl(t, e, n, r) {
3220
+ function Il(t, e, n, r) {
3215
3221
  var Qe;
3216
3222
  const s = z(null), i = z(!1), o = z(!1), [l, c] = O(null), [u, d] = O(!0), g = z(!0), M = z(!1), [p, y] = O(0), j = z(0);
3217
3223
  j.current = p;
@@ -3348,7 +3354,7 @@ function zl(t, e, n, r) {
3348
3354
  setVolume: (G) => R("setVolume", [Math.round(G * 100)])
3349
3355
  }, lead: Q, setVideoSound: pe };
3350
3356
  }
3351
- function Il(t, e, n, r, s = 0, i = null) {
3357
+ function Ol(t, e, n, r, s = 0, i = null) {
3352
3358
  var le;
3353
3359
  const o = z(null), [l, c] = O(!1), [u, d] = O(0), [g, M] = O(!1), p = z(g);
3354
3360
  p.current = g;
@@ -3362,7 +3368,7 @@ function Il(t, e, n, r, s = 0, i = null) {
3362
3368
  c(!1), o.current = null;
3363
3369
  return;
3364
3370
  }
3365
- const A = Ks(t), Ne = C.current;
3371
+ const A = Js(t), Ne = C.current;
3366
3372
  return A.preload = "metadata", A.muted = p.current || y.current, A.onplay = () => c(!0), A.onpause = () => c(!1), A.onended = () => c(!1), A.onloadedmetadata = () => {
3367
3373
  h(!0), A.currentTime = ((m == null ? void 0 : m.t) ?? 0) + Ne, m != null && m.playing && A.play().catch((Z) => {
3368
3374
  m.asked && (Z == null ? void 0 : Z.name) === "NotAllowedError" || T(yt(Z));
@@ -3371,7 +3377,7 @@ function Il(t, e, n, r, s = 0, i = null) {
3371
3377
  c(!1);
3372
3378
  const Z = A.error, de = ha(Z, !1);
3373
3379
  ua(t).then((W) => {
3374
- Ml(W == null ? void 0 : W.message) || Zs(Z), o.current === A && (T({ message: (W == null ? void 0 : W.message) ?? de }), W != null && W.permanent || (o.current = null));
3380
+ gl(W == null ? void 0 : W.message) || qs(Z), o.current === A && (T({ message: (W == null ? void 0 : W.message) ?? de }), W != null && W.permanent || (o.current = null));
3375
3381
  });
3376
3382
  }, o.current = A, () => {
3377
3383
  D.current = { t: Math.max(0, A.currentTime - Ne), playing: !A.paused && !A.ended }, A.pause(), A.onplay = A.onpause = A.onended = A.onloadedmetadata = A.onerror = null, o.current = null;
@@ -3540,7 +3546,7 @@ function Il(t, e, n, r, s = 0, i = null) {
3540
3546
  }
3541
3547
  };
3542
3548
  }
3543
- function Ol(t, e, n, r, s, i, o = !1, l) {
3549
+ function Cl(t, e, n, r, s, i, o = !1, l) {
3544
3550
  const c = z(/* @__PURE__ */ new Set());
3545
3551
  c.current = l ?? c.current;
3546
3552
  const u = z(null), [d, g] = O(!1), [M, p] = O(0), [y, j] = O(0), [T, N] = O(!1), h = z(T);
@@ -3561,7 +3567,7 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3561
3567
  const B = V.current.findIndex((ee) => ee.sentenceId === _);
3562
3568
  B >= 0 && p(B);
3563
3569
  }, Y.onError = (_) => {
3564
- g(Y.playing), D(_ instanceof Js ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3570
+ g(Y.playing), D(_ instanceof Xs ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3565
3571
  }, Y.gapBefore = (_, B) => {
3566
3572
  if (!ae.current) return 0;
3567
3573
  const ee = V.current, ie = ee.find((Le) => Le.sentenceId === _), Te = ee.find((Le) => Le.sentenceId === B);
@@ -3654,7 +3660,7 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3654
3660
  return { from: B, span: Math.max(0, ee - B) };
3655
3661
  }, ye = $e(W), be = Math.max(0, Math.min(ye.span, Ot(e[W], ye.from, ye.from + 4) - ye.from)), He = I ? I.t : o ? S != null && Me ? ye.from + Math.min(ye.span, S) : S != null ? $ != null ? Math.min(ye.from, $ + S) : ye.from + Math.min(ye.span, be + S) : L && L.dur > 0 ? ye.from + Math.min(be, L.t / L.dur * be) : ye.from : L && L.dur > 0 ? ye.from + Math.min(ye.span, L.t / L.dur * ye.span) : ye.from;
3656
3662
  E(() => {
3657
- Qe.current = G.current ?? Nl(e, He, d, F);
3663
+ Qe.current = G.current ?? pl(e, He, d, F);
3658
3664
  });
3659
3665
  const Ie = {
3660
3666
  playing: d || ce,
@@ -3789,22 +3795,22 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3789
3795
  (B = Ie.seekFrac) == null || B.call(Ie, _.t / F), _.playing && ge(fe.current);
3790
3796
  }, Ie;
3791
3797
  }
3792
- const Cl = () => {
3793
- }, xl = "The language this recording is read aloud in.", Dl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3794
- function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: M = !1, timed: p = !1, stockVoices: y = !1, stickyPicker: j = !1, pickerBusy: T = null, voiceSheet: N }) {
3798
+ const xl = () => {
3799
+ }, Dl = "The language this recording is read aloud in.", bl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3800
+ function Sl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: M = !1, timed: p = !1, stockVoices: y = !1, stickyPicker: j = !1, pickerBusy: T = null, voiceSheet: N }) {
3795
3801
  var ft, Kt, Jt, Xt;
3796
- const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: D, noCloneFor: k, castNoClone: te, castShort: R, castBuilding: X, badge: I, titleNode: b } = N ?? {}, Q = !!N, L = !!(N != null && N.pendingClones), [v, S] = Ta(), [ne, $] = O(null), [U, Me] = O(!1), [P, V] = O(!1), [ae, oe] = O(!1), [re, we] = O(!1), pe = u ?? l, Ce = u === null, xe = u != null || ne != null, G = ((H) => !!H && !!(o != null && o.voice.includes(H)))(Ce ? l : pe) ? Ce ? l : pe : "en", ce = fl(G), ke = (N == null ? void 0 : N.cloneOn) ?? !0, [Ae, se] = O(0), le = z(ke);
3802
+ const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: D, noCloneFor: k, castNoClone: te, castShort: R, castBuilding: X, badge: I, titleNode: b } = N ?? {}, Q = !!N, L = !!(N != null && N.pendingClones), [v, S] = Ta(), [ne, $] = O(null), [U, Me] = O(!1), [P, V] = O(!1), [ae, oe] = O(!1), [re, we] = O(!1), pe = u ?? l, Ce = u === null, xe = u != null || ne != null, G = ((H) => !!H && !!(o != null && o.voice.includes(H)))(Ce ? l : pe) ? Ce ? l : pe : "en", ce = Nl(G), ke = (N == null ? void 0 : N.cloneOn) ?? !0, [Ae, se] = O(0), le = z(ke);
3797
3803
  E(() => {
3798
3804
  le.current !== ke && (le.current = ke, se((H) => H + 1));
3799
3805
  }, [ke]);
3800
- const m = Go(G, xe || s || P, Zo(e) * 1e3 + Ae, { id: t ?? null, shareCode: i.shareCode ?? null }), A = ze(() => ((m == null ? void 0 : m.voices) ?? []).filter((H) => Q || !H.cloned || H.speaker != null), [m, Q]), Ne = A.length > 1, Z = Es(o, pe), de = di(), W = ze(() => La(o, "translation"), [o]), [De, F] = O(null), [ve] = O(() => /* @__PURE__ */ new Set()), [fe, ge] = O({}), q = ze(() => Bo(n, e, de.vcUnknownSpk), [n, e, de]), je = Ne && q.filter((H) => H.key >= 0).length > 1, $e = De != null && q.some((H) => H.key === De) ? De : ((ft = q[0]) == null ? void 0 : ft.key) ?? null, ye = ze(() => {
3801
- const H = As(q, A, ke);
3806
+ const m = Zo(G, xe || s || P, qo(e) * 1e3 + Ae, { id: t ?? null, shareCode: i.shareCode ?? null }), A = ze(() => ((m == null ? void 0 : m.voices) ?? []).filter((H) => Q || !H.cloned || H.speaker != null), [m, Q]), Ne = A.length > 1, Z = Ys(o, pe), de = di(), W = ze(() => La(o, "translation"), [o]), [De, F] = O(null), [ve] = O(() => /* @__PURE__ */ new Set()), [fe, ge] = O({}), q = ze(() => Ho(n, e, de.vcUnknownSpk), [n, e, de]), je = Ne && q.filter((H) => H.key >= 0).length > 1, $e = De != null && q.some((H) => H.key === De) ? De : ((ft = q[0]) == null ? void 0 : ft.key) ?? null, ye = ze(() => {
3807
+ const H = Es(q, A, ke);
3802
3808
  for (const [Oe, Be] of Object.entries(fe[G ?? ""] ?? {})) H.set(Number(Oe), Be);
3803
3809
  return H;
3804
- }, [q, A, fe, G, ke]), be = je && Object.keys(fe[G ?? ""] ?? {}).length > 0, He = ze(() => y && !be ? As(q, A, !1) : null, [y, be, q, A]), Ie = ze(() => be ? bs(ye) || null : He && bs(He) || null, [be, ye, He]), Ye = be ? ye : He, Y = A.some((H) => H.cloned && H.consent !== "pending"), _ = !!pe && !!(o != null && o.voice.includes(pe)), B = _ && !M, ee = ze(
3810
+ }, [q, A, fe, G, ke]), be = je && Object.keys(fe[G ?? ""] ?? {}).length > 0, He = ze(() => y && !be ? Es(q, A, !1) : null, [y, be, q, A]), Ie = ze(() => be ? Ss(ye) || null : He && Ss(He) || null, [be, ye, He]), Ye = be ? ye : He, Y = A.some((H) => H.cloned && H.consent !== "pending"), _ = !!pe && !!(o != null && o.voice.includes(pe)), B = _ && !M, ee = ze(
3805
3811
  () => n.filter((H) => !H.suppressed && !H.unclear).map((H) => H.sentenceId).filter((H) => H != null),
3806
3812
  [n]
3807
- ), ie = qo({ recordingId: t, lang: pe, ended: s, cred: i, pickedVoice: Ie ?? ne, sentenceIds: s && B ? ee : void 0 }), Te = A.find((H) => H.id === ne) ?? A.find((H) => {
3813
+ ), ie = Ko({ recordingId: t, lang: pe, ended: s, cred: i, pickedVoice: Ie ?? ne, sentenceIds: s && B ? ee : void 0 }), Te = A.find((H) => H.id === ne) ?? A.find((H) => {
3808
3814
  var Oe;
3809
3815
  return H.id === ((Oe = ie.track) == null ? void 0 : Oe.voice);
3810
3816
  }) ?? A.find((H) => H.default) ?? A[0] ?? null, _e = (Te == null ? void 0 : Te.id) ?? null;
@@ -3813,7 +3819,7 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3813
3819
  const H = setInterval(ie.reload, 4e3);
3814
3820
  return () => clearInterval(H);
3815
3821
  }, [ie.rendering, ie.reload]);
3816
- const Ee = `${t ?? ""}|${pe ?? ""}|${Ie ?? ne ?? ((Kt = ie.track) == null ? void 0 : Kt.voiceKey) ?? "default"}`, Le = Ol(ie.clips, n, r, Ee, ve, (Jt = ie.track) == null ? void 0 : Jt.wordTimes, p, ie.coming);
3822
+ const Ee = `${t ?? ""}|${pe ?? ""}|${Ie ?? ne ?? ((Kt = ie.track) == null ? void 0 : Kt.voiceKey) ?? "default"}`, Le = Cl(ie.clips, n, r, Ee, ve, (Jt = ie.track) == null ? void 0 : Jt.wordTimes, p, ie.coming);
3817
3823
  E(() => {
3818
3824
  var Oe;
3819
3825
  const H = (Oe = n[Le.idx]) == null ? void 0 : Oe.sentenceId;
@@ -3864,7 +3870,7 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3864
3870
  return;
3865
3871
  }
3866
3872
  $(H);
3867
- }, rt = Ce ? { ...Es(o, null), flag: /* @__PURE__ */ a(ue, { d: K.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, xt = c ? g ? /* @__PURE__ */ a("span", { className: "barchip", style: vt ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ a(fn, { flag: rt.flag, code: rt.code, bordered: !1, onClick: Ut, style: Ys }) }) : /* @__PURE__ */ a(fn, { flag: rt.flag, code: rt.code, bordered: !1, onClick: Ue, style: Ys }) : null, jt = K.voiceClone, Ft = xe && (!!ie.track || Ve), Wt = qe ? "var(--conf-low)" : Ft || g && J ? "var(--brand)" : "var(--ink-55)", Ge = Ve || !!Le.preparing && xe, dt = Le.preparing ? `Speaking this line in ${(Te == null ? void 0 : Te.name) ?? "this voice"}…` : Ve ? `Preparing this recording in ${(Te == null ? void 0 : Te.name) ?? "this voice"} — it will play as soon as it is ready` : qe ? `This voice could not be prepared: ${qe}` : _ ? Ne ? "Choose a voice" : Te ? Te.name : de.vcNoVoice + Z.label : `${de.vcNoVoice}${Z.label}`, Dt = /* @__PURE__ */ a(ja, { open: U, onClose: nt, keepOpen: (!!g || j) && !ae, value: Ce ? null : pe, onSelect: Fe, languages: W, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? xl, searchPlaceholder: de.search, none: "Original", pinned: (Ce ? l : pe) ? [Ce ? l : pe] : [], recent: v, requireVoice: ae, sticky: j, busy: T }), at = ze(() => A.filter((H) => H.cloned && !H.auto), [A]), lt = (H) => H.voiceId ? at.find((Oe) => Oe.id === `clone:${H.voiceId}`) ?? null : null, Mt = ze(() => q.filter((H) => H.key >= 0), [q]), bt = ze(() => {
3873
+ }, rt = Ce ? { ...Ys(o, null), flag: /* @__PURE__ */ a(ue, { d: K.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, xt = c ? g ? /* @__PURE__ */ a("span", { className: "barchip", style: vt ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ a(fn, { flag: rt.flag, code: rt.code, bordered: !1, onClick: Ut, style: _s }) }) : /* @__PURE__ */ a(fn, { flag: rt.flag, code: rt.code, bordered: !1, onClick: Ue, style: _s }) : null, jt = K.voiceClone, Ft = xe && (!!ie.track || Ve), Wt = qe ? "var(--conf-low)" : Ft || g && J ? "var(--brand)" : "var(--ink-55)", Ge = Ve || !!Le.preparing && xe, dt = Le.preparing ? `Speaking this line in ${(Te == null ? void 0 : Te.name) ?? "this voice"}…` : Ve ? `Preparing this recording in ${(Te == null ? void 0 : Te.name) ?? "this voice"} — it will play as soon as it is ready` : qe ? `This voice could not be prepared: ${qe}` : _ ? Ne ? "Choose a voice" : Te ? Te.name : de.vcNoVoice + Z.label : `${de.vcNoVoice}${Z.label}`, Dt = /* @__PURE__ */ a(ja, { open: U, onClose: nt, keepOpen: (!!g || j) && !ae, value: Ce ? null : pe, onSelect: Fe, languages: W, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Dl, searchPlaceholder: de.search, none: "Original", pinned: (Ce ? l : pe) ? [Ce ? l : pe] : [], recent: v, requireVoice: ae, sticky: j, busy: T }), at = ze(() => A.filter((H) => H.cloned && !H.auto), [A]), lt = (H) => H.voiceId ? at.find((Oe) => Oe.id === `clone:${H.voiceId}`) ?? null : null, Mt = ze(() => q.filter((H) => H.key >= 0), [q]), bt = ze(() => {
3868
3874
  const H = A.filter((Be) => !Be.cloned);
3869
3875
  if (!je) return [...H, ...s && Mt.length === 1 ? at.filter((Be) => Be.id === `clone:${Mt[0].voiceId}`) : []];
3870
3876
  const Oe = [];
@@ -3881,11 +3887,11 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3881
3887
  Ge ? /* @__PURE__ */ a("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ a(ue, { d: jt, size: 17, sw: 1.6, style: { color: Wt } }),
3882
3888
  !!St && /* @__PURE__ */ a("span", { className: "txvoice__n", title: `${St} speaker${St === 1 ? "" : "s"} can get a cloned voice`, children: St })
3883
3889
  ] }), ot = /* @__PURE__ */ a(Nn, { open: P, onClose: ut, title: de.vcSheet, titleNode: b, doneLabel: de.done, children: /* @__PURE__ */ a(
3884
- Vo,
3890
+ Fo,
3885
3891
  {
3886
3892
  t: de,
3887
3893
  cast: je && /* @__PURE__ */ a(
3888
- Ho,
3894
+ Vo,
3889
3895
  {
3890
3896
  t: de,
3891
3897
  roster: q,
@@ -3976,11 +3982,11 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3976
3982
  langList: { value: Ce ? null : pe, onSelect: Fe, languages: W, searchPlaceholder: de.search, none: "Original", pinned: (Ce ? l : pe) ? [Ce ? l : pe] : [], recent: v }
3977
3983
  };
3978
3984
  }
3979
- function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: p, running: y, desk: j, feedRef: T, listener: N, showLabels: h, find: C, findOpen: D, lang: k, warm: te, onVisible: R, wordHl: X = !0 }) {
3985
+ function Al({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: p, running: y, desk: j, feedRef: T, listener: N, showLabels: h, find: C, findOpen: D, lang: k, warm: te, onVisible: R, wordHl: X = !0 }) {
3980
3986
  const { playing: I, engaged: b, t: Q, idx: L, seekN: v, wordSync: S, clipPos: ne } = n;
3981
- il(!0, T);
3987
+ al(!0, T);
3982
3988
  const $ = z(null);
3983
- So(T, $);
3989
+ Ao(T, $);
3984
3990
  const [U, Me] = O(null), P = (C ?? "").trim().toLowerCase(), [V, ae] = O(0), oe = z(0), re = z(null), we = z(L), pe = (se) => {
3985
3991
  var le;
3986
3992
  return ((le = T.current) == null ? void 0 : le.querySelector(`[data-tx-row="${se}"]`)) ?? null;
@@ -4058,13 +4064,13 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4058
4064
  "Now playing"
4059
4065
  ] }) });
4060
4066
  return /* @__PURE__ */ f("div", { ref: T, "data-tx-feed": "1", className: `txfeed${j ? " txfeed--desk" : ""}${D && !y ? " is-find" : ""}`, children: [
4061
- /* @__PURE__ */ a(Ao, { thumbRef: $ }),
4067
+ /* @__PURE__ */ a(Eo, { thumbRef: $ }),
4062
4068
  I && V === -1 && Ae("up"),
4063
4069
  e.map((se, le) => {
4064
4070
  var ye;
4065
4071
  const m = I && le === L, A = b && le === L, Ne = !!u && u === se.id, Z = P && !se.text.toLowerCase().includes(P) && !(k && ((ye = se.translations[k]) != null && ye.toLowerCase().includes(P))) ? 0.22 : !b || le <= L || Ne ? 1 : 0.38, de = N ? () => n.playRow(le) : c && l ? () => {
4066
4072
  I && !m && n.seekRow(le), l(se);
4067
- } : I && m ? void 0 : () => n.playRow(le), W = N ? null : _o(se, s, r), De = !!W && (W.script > 0 || W.manual), F = j && !!i && U === se.id && !!W && !De, ve = hr(t, se.speaker), fe = fr(t, se.speaker), ge = fe.lane, q = k && se.translations[k] && se.language !== k ? se.translations[k] : null, je = mi(e, le, k), $e = A && !S && ne ? ei(je.map((be) => ({ t: be.text, sp: " " })), ne) : null;
4073
+ } : I && m ? void 0 : () => n.playRow(le), W = N ? null : Uo(se, s, r), De = !!W && (W.script > 0 || W.manual), F = j && !!i && U === se.id && !!W && !De, ve = fr(t, se.speaker), fe = Nr(t, se.speaker), ge = fe.lane, q = k && se.translations[k] && se.language !== k ? se.translations[k] : null, je = mi(e, le, k), $e = A && !S && ne ? ti(je.map((be) => ({ t: be.text, sp: " " })), ne) : null;
4068
4074
  return /* @__PURE__ */ f("div", { "data-tx-row": le, "data-sentence": se.sentenceId, className: `txline${te ? " txline--warm" : ""}${Ne ? " txline--fixing" : ""}`, "aria-current": Ne || void 0, style: { opacity: Z }, onClick: de, onMouseEnter: j && i ? () => Me(se.id) : void 0, onMouseLeave: j && i ? () => Me(null) : void 0, children: [
4069
4075
  /* @__PURE__ */ f("div", { className: "txline__meta", children: [
4070
4076
  /* @__PURE__ */ a("span", { className: "txline__at", children: mt(se.start) }),
@@ -4074,11 +4080,11 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4074
4080
  fe.hasVoice && /* @__PURE__ */ a(hi, { color: fe.fg ?? `var(--lane-${ge})` })
4075
4081
  ] }),
4076
4082
  m && /* @__PURE__ */ a("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ a(ue, { d: K.headphones, size: j ? 15 : 14, sw: 1.6, stroke: h && se.speaker >= 0 ? fe.fg ?? `var(--lane-${ge})` : "var(--ink-45)" }) }),
4077
- W && g && /* @__PURE__ */ a(Uo, { f: W, desk: j, onOpen: i ? () => i(se, !0) : void 0 }),
4078
- F && /* @__PURE__ */ a(Ro, { alone: !0, onOpen: () => i == null ? void 0 : i(se, !1) })
4083
+ W && g && /* @__PURE__ */ a(Ro, { f: W, desk: j, onOpen: i ? () => i(se, !0) : void 0 }),
4084
+ F && /* @__PURE__ */ a(Po, { alone: !0, onOpen: () => i == null ? void 0 : i(se, !1) })
4079
4085
  ] }),
4080
4086
  /* @__PURE__ */ a("div", { className: "txline__text", children: je.map((be, He) => {
4081
- const Ie = `${be.seq}:${be.idx}`, Ye = no(be.prob), Y = A && X, _ = Y && (S ? Q >= be.start && (Q < be.end || He === je.length - 1 || Q < je[He + 1].start) : He === $e), B = Y && !_ && (S ? be.start > Q : $e != null && He > $e), ee = !q && !N && (!!(r != null && r.has(Ie)) || !!be.script), ie = !q && !N && d && !!Ye && !ee, Te = ie ? Ye === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, _e = ee ? "var(--brand)" : B ? "var(--ink-40)" : Te ?? "var(--ink-96)";
4087
+ const Ie = `${be.seq}:${be.idx}`, Ye = ro(be.prob), Y = A && X, _ = Y && (S ? Q >= be.start && (Q < be.end || He === je.length - 1 || Q < je[He + 1].start) : He === $e), B = Y && !_ && (S ? be.start > Q : $e != null && He > $e), ee = !q && !N && (!!(r != null && r.has(Ie)) || !!be.script), ie = !q && !N && d && !!Ye && !ee, Te = ie ? Ye === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, _e = ee ? "var(--brand)" : B ? "var(--ink-40)" : Te ?? "var(--ink-96)";
4082
4088
  return /* @__PURE__ */ f("span", { children: [
4083
4089
  /* @__PURE__ */ a(
4084
4090
  "span",
@@ -4114,7 +4120,7 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4114
4120
  I && V === 1 && Ae("down")
4115
4121
  ] });
4116
4122
  }
4117
- function Al({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: i, inline: o, flash: l }) {
4123
+ function El({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: i, inline: o, flash: l }) {
4118
4124
  return /* @__PURE__ */ a("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${i ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ f("div", { children: [
4119
4125
  /* @__PURE__ */ a(ue, { d: K.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
4120
4126
  /* @__PURE__ */ a("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
@@ -4128,7 +4134,7 @@ function Al({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: i, inline: o, fl
4128
4134
  e.trim() && /* @__PURE__ */ a("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ a(ue, { d: K.close, size: 15, sw: 1.7 }) })
4129
4135
  ] }) });
4130
4136
  }
4131
- function El(t, e, n, r, s) {
4137
+ function Yl(t, e, n, r, s) {
4132
4138
  const i = z(n);
4133
4139
  i.current = n;
4134
4140
  const o = z(r);
@@ -4166,14 +4172,14 @@ function yi(t) {
4166
4172
  }
4167
4173
  return e;
4168
4174
  }
4169
- const Us = (t) => Math.floor(yi(t) / 8) - Ht.perBlock[t] * Ht.blocks[t];
4175
+ const Rs = (t) => Math.floor(yi(t) / 8) - Ht.perBlock[t] * Ht.blocks[t];
4170
4176
  function cr(t, e) {
4171
4177
  let n = 0;
4172
4178
  for (let r = 7; r >= 0; r--)
4173
4179
  n = n << 1 ^ (n >>> 7) * 285, n ^= (e >>> r & 1) * t;
4174
4180
  return n;
4175
4181
  }
4176
- function Yl(t) {
4182
+ function _l(t) {
4177
4183
  const e = new Array(t).fill(0);
4178
4184
  e[t - 1] = 1;
4179
4185
  let n = 1;
@@ -4183,7 +4189,7 @@ function Yl(t) {
4183
4189
  }
4184
4190
  return e;
4185
4191
  }
4186
- function _l(t, e) {
4192
+ function Ul(t, e) {
4187
4193
  const n = new Array(e.length).fill(0);
4188
4194
  for (const r of t) {
4189
4195
  const s = r ^ n.shift();
@@ -4193,19 +4199,19 @@ function _l(t, e) {
4193
4199
  }
4194
4200
  return n;
4195
4201
  }
4196
- function Ul(t) {
4202
+ function Rl(t) {
4197
4203
  if (t === 1) return [];
4198
4204
  const e = Math.floor(t / 7) + 2, n = t * 4 + 17, r = t === 32 ? 26 : Math.ceil((t * 4 + 4) / (e * 2 - 2)) * 2, s = [6];
4199
4205
  for (let i = n - 7; s.length < e; i -= r) s.splice(1, 0, i);
4200
4206
  return s;
4201
4207
  }
4202
- function Rl(t) {
4208
+ function Pl(t) {
4203
4209
  const e = Array.from(new TextEncoder().encode(t));
4204
4210
  let n = 1;
4205
- for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= Us(n) * 8); n++)
4211
+ for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= Rs(n) * 8); n++)
4206
4212
  ;
4207
4213
  if (n > 40) throw new Error("Text too long for a QR code");
4208
- const r = n * 4 + 17, s = Us(n) * 8, i = [], o = (L, v) => {
4214
+ const r = n * 4 + 17, s = Rs(n) * 8, i = [], o = (L, v) => {
4209
4215
  for (let S = v - 1; S >= 0; S--) i.push(L >>> S & 1);
4210
4216
  };
4211
4217
  o(4, 4), o(e.length, n <= 9 ? 8 : 16);
@@ -4214,11 +4220,11 @@ function Rl(t) {
4214
4220
  for (let L = 236; i.length < s; L ^= 253) o(L, 8);
4215
4221
  const l = [];
4216
4222
  for (let L = 0; L < i.length; L += 8) l.push(i.slice(L, L + 8).reduce((v, S) => v << 1 | S, 0));
4217
- const c = Ht.blocks[n], u = Ht.perBlock[n], d = Math.floor(yi(n) / 8), g = c - d % c, M = Math.floor(d / c), p = [], y = Yl(u);
4223
+ const c = Ht.blocks[n], u = Ht.perBlock[n], d = Math.floor(yi(n) / 8), g = c - d % c, M = Math.floor(d / c), p = [], y = _l(u);
4218
4224
  for (let L = 0, v = 0; L < c; L++) {
4219
4225
  const S = l.slice(v, v + M - u + (L < g ? 0 : 1));
4220
4226
  v += S.length;
4221
- const ne = _l(S, y);
4227
+ const ne = Ul(S, y);
4222
4228
  L < g && S.push(0), p.push(S.concat(ne));
4223
4229
  }
4224
4230
  const j = [];
@@ -4237,7 +4243,7 @@ function Rl(t) {
4237
4243
  }
4238
4244
  };
4239
4245
  C(3, 3), C(r - 4, 3), C(3, r - 4);
4240
- const D = Ul(n);
4246
+ const D = Rl(n);
4241
4247
  for (let L = 0; L < D.length; L++) for (let v = 0; v < D.length; v++)
4242
4248
  if (!(L === 0 && v === 0 || L === 0 && v === D.length - 1 || L === D.length - 1 && v === 0))
4243
4249
  for (let S = -2; S <= 2; S++) for (let ne = -2; ne <= 2; ne++) h(D[L] + ne, D[v] + S, Math.max(Math.abs(ne), Math.abs(S)) !== 1);
@@ -4324,30 +4330,30 @@ function Rl(t) {
4324
4330
  }
4325
4331
  return X(b), k(b), T;
4326
4332
  }
4327
- function Pl(t) {
4328
- const e = Rl(t), n = e.length, r = 2;
4333
+ function Ql(t) {
4334
+ const e = Pl(t), n = e.length, r = 2;
4329
4335
  let s = "";
4330
4336
  for (let o = 0; o < n; o++) for (let l = 0; l < n; l++) e[o][l] && (s += `M${l} ${o}h1v1h-1z`);
4331
4337
  const i = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-r} ${-r} ${n + r * 2} ${n + r * 2}" shape-rendering="crispEdges"><rect x="${-r}" y="${-r}" width="${n + r * 2}" height="${n + r * 2}" fill="#fff"/><path fill="#111" d="${s}"/></svg>`;
4332
4338
  return `data:image/svg+xml,${encodeURIComponent(i)}`;
4333
4339
  }
4334
- const Ti = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", Ql = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4340
+ const Ti = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", $l = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4335
4341
  function Xn() {
4336
4342
  const t = document;
4337
4343
  return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
4338
4344
  }
4339
- let mr = null;
4340
- function Rs(t) {
4341
- mr = t;
4345
+ let yr = null;
4346
+ function Ps(t) {
4347
+ yr = t;
4342
4348
  }
4343
- function Ps() {
4349
+ function Qs() {
4344
4350
  const t = document;
4345
4351
  return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
4346
4352
  }
4347
- function $l() {
4353
+ function Bl() {
4348
4354
  var e;
4349
4355
  if (typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches)) return !1;
4350
- const t = mr ?? document.documentElement;
4356
+ const t = yr ?? document.documentElement;
4351
4357
  return !t.requestFullscreen && !t.webkitRequestFullscreen;
4352
4358
  }
4353
4359
  function $t(t) {
@@ -4357,7 +4363,7 @@ function $t(t) {
4357
4363
  function hn(t) {
4358
4364
  var s, i, o, l;
4359
4365
  if (typeof document > "u") return;
4360
- const e = document, n = mr ?? document.documentElement, r = e.fullscreenElement ?? e.webkitFullscreenElement;
4366
+ const e = document, n = yr ?? document.documentElement, r = e.fullscreenElement ?? e.webkitFullscreenElement;
4361
4367
  try {
4362
4368
  t && !r && ((i = (s = n.requestFullscreen ?? n.webkitRequestFullscreen) == null ? void 0 : s.call(n, { navigationUI: "hide" })) == null || i.catch(() => {
4363
4369
  })), !t && r && ((l = (o = e.exitFullscreen ?? e.webkitExitFullscreen) == null ? void 0 : o.call(e)) == null || l.catch(() => {
@@ -4365,7 +4371,7 @@ function hn(t) {
4365
4371
  } catch {
4366
4372
  }
4367
4373
  }
4368
- function Bl(t) {
4374
+ function Hl(t) {
4369
4375
  const [e, n] = O(() => {
4370
4376
  var r;
4371
4377
  return typeof window < "u" && !!((r = window.matchMedia) != null && r.call(window, t).matches);
@@ -4417,7 +4423,7 @@ function ur({ pos: t, interactive: e, axis: n = "x" }) {
4417
4423
  /* @__PURE__ */ a("span", { className: "gfull__t gfull__end", style: { color: t.live ? "#ec634d" : "rgba(234,236,250,.6)" }, children: t.endLabel })
4418
4424
  ] });
4419
4425
  }
4420
- function wc({ pos: t }) {
4426
+ function kc({ pos: t }) {
4421
4427
  const [e, n] = O(null), r = (l) => {
4422
4428
  const c = l.currentTarget.getBoundingClientRect();
4423
4429
  return Math.min(1, Math.max(0, (l.clientX - c.left) / Math.max(1, c.width)));
@@ -4471,7 +4477,7 @@ function dr({ t, mini: e }) {
4471
4477
  disabled: !t.playable,
4472
4478
  style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
4473
4479
  onClick: t.onPlay,
4474
- children: t.busy ? /* @__PURE__ */ a("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ a(sa, { size: e ? 14 : 18 }) : /* @__PURE__ */ a(Fs, { size: e ? 15 : 19 })
4480
+ children: t.busy ? /* @__PURE__ */ a("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ a(sa, { size: e ? 14 : 18 }) : /* @__PURE__ */ a(Ws, { size: e ? 15 : 19 })
4475
4481
  }
4476
4482
  ),
4477
4483
  /* @__PURE__ */ a("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ a(ue, { d: K.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
@@ -4479,7 +4485,7 @@ function dr({ t, mini: e }) {
4479
4485
  }
4480
4486
  function Mr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4481
4487
  return /* @__PURE__ */ f("div", { className: `gfull__brand${s ? " gfull__brand--mark" : ""}`, children: [
4482
- /* @__PURE__ */ a("a", { href: Vs, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ a(Ws, { dark: !0, size: 22 }) : /* @__PURE__ */ a(Vt, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4488
+ /* @__PURE__ */ a("a", { href: Fs, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ a(Gs, { dark: !0, size: 22 }) : /* @__PURE__ */ a(Vt, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4483
4489
  t && /* @__PURE__ */ f("span", { className: "gfull__live", children: [
4484
4490
  /* @__PURE__ */ a("i", {}),
4485
4491
  "LIVE"
@@ -4490,7 +4496,7 @@ function Mr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4490
4496
  function Li({ v: t, size: e }) {
4491
4497
  return /* @__PURE__ */ a("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ a(ue, { d: K.headphones, size: e, sw: 1.6 }) });
4492
4498
  }
4493
- function Hl({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: i, copied: o }) {
4499
+ function Vl({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: i, copied: o }) {
4494
4500
  return /* @__PURE__ */ f("div", { className: "gmini", "data-theme": "dark", children: [
4495
4501
  /* @__PURE__ */ a("div", { className: "gmini__shade", "aria-hidden": "true" }),
4496
4502
  /* @__PURE__ */ a("div", { className: "gmini__top", children: /* @__PURE__ */ a(Mr, { live: t.live, mini: !0 }) }),
@@ -4510,8 +4516,8 @@ function Hl({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: i, c
4510
4516
  o
4511
4517
  ] });
4512
4518
  }
4513
- const Vl = { color: "rgba(255,255,255,.4)" };
4514
- function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos: i, sub: o, wait: l, pct: c, mute: u, cc: d, ad: g, chip: M, transport: p, picker: y, sheet: j, voices: T, voicesBtn: N, sheetOpen: h, onShare: C, onSettings: D, paused: k, copied: te, onTouch: R, onClose: X }) {
4519
+ const Fl = { color: "rgba(255,255,255,.4)" };
4520
+ function Wl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos: i, sub: o, wait: l, pct: c, mute: u, cc: d, ad: g, chip: M, transport: p, picker: y, sheet: j, voices: T, voicesBtn: N, sheetOpen: h, onShare: C, onSettings: D, paused: k, copied: te, onTouch: R, onClose: X }) {
4515
4521
  const [I, b] = O(() => !!Xn());
4516
4522
  E(() => {
4517
4523
  const F = () => b(!!Xn());
@@ -4537,7 +4543,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4537
4543
  }), fe && ge && (fe.content = ge);
4538
4544
  };
4539
4545
  }, []);
4540
- const Me = ze(() => e && $l(), [e]), [P, V] = O(Me);
4546
+ const Me = ze(() => e && Bl(), [e]), [P, V] = O(Me);
4541
4547
  E(() => {
4542
4548
  if (!e) return;
4543
4549
  const F = [document.documentElement, document.body], ve = F.map((q) => [q.style.overflow, q.style.overscrollBehavior]);
@@ -4560,7 +4566,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4560
4566
  ae.current = h, E(() => {
4561
4567
  const F = (ge) => ge instanceof HTMLElement && (ge.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ge.tagName)), ve = (ge) => {
4562
4568
  var q;
4563
- ge.key === "Escape" && !ae.current && Q.current && (ge.stopPropagation(), Q.current()), ge.key === " " && !ae.current && !F(ge.target) && (ge.preventDefault(), ge.stopPropagation(), ge.repeat || (q = L.current) == null || q.call(L)), (ge.key === "f" || ge.key === "F") && !ge.metaKey && !ge.ctrlKey && !ge.altKey && !ae.current && !F(ge.target) && Ps() && (ge.preventDefault(), ge.repeat || hn(!Xn()));
4569
+ ge.key === "Escape" && !ae.current && Q.current && (ge.stopPropagation(), Q.current()), ge.key === " " && !ae.current && !F(ge.target) && (ge.preventDefault(), ge.stopPropagation(), ge.repeat || (q = L.current) == null || q.call(L)), (ge.key === "f" || ge.key === "F") && !ge.metaKey && !ge.ctrlKey && !ge.altKey && !ae.current && !F(ge.target) && Qs() && (ge.preventDefault(), ge.repeat || hn(!Xn()));
4564
4570
  }, fe = (ge) => {
4565
4571
  ge.key === " " && !ae.current && !F(ge.target) && ge.preventDefault();
4566
4572
  };
@@ -4568,7 +4574,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4568
4574
  window.removeEventListener("keydown", ve, !0), window.removeEventListener("keyup", fe, !0);
4569
4575
  };
4570
4576
  }, []);
4571
- const oe = Bl("(orientation: landscape) and (max-height: 540px)"), re = s && !oe;
4577
+ const oe = Hl("(orientation: landscape) and (max-height: 540px)"), re = s && !oe;
4572
4578
  E(() => {
4573
4579
  if (S(!1), !p.playing || h) return;
4574
4580
  const F = setTimeout(() => S(!0), 3e3);
@@ -4594,7 +4600,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4594
4600
  }, [G, xe]);
4595
4601
  const [ce, ke] = O(!0), [Ae, se] = O(!1), le = z(void 0);
4596
4602
  E(() => () => window.clearTimeout(le.current), []);
4597
- const m = k != null && k.share ? k.share.url(ce && k.share.at >= 1 ? Math.floor(k.share.at) : null) : "", A = ze(() => re && m && !p.playing ? Pl(m) : "", [re, m, p.playing]), Ne = () => {
4603
+ const m = k != null && k.share ? k.share.url(ce && k.share.at >= 1 ? Math.floor(k.share.at) : null) : "", A = ze(() => re && m && !p.playing ? Ql(m) : "", [re, m, p.playing]), Ne = () => {
4598
4604
  var F;
4599
4605
  (F = navigator.clipboard) == null || F.writeText(m).then(() => {
4600
4606
  se(!0), window.clearTimeout(le.current), le.current = window.setTimeout(() => se(!1), 1800);
@@ -4624,7 +4630,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4624
4630
  ] }), de = (F, ve, fe, ge, q, je = 0) => /* @__PURE__ */ a("button", { type: "button", className: "gfull__btn", title: F, "aria-label": F, onClick: ge, children: /* @__PURE__ */ a(ue, { d: ve, size: (re ? 20 : 18) + je, sw: fe, style: q }) }), W = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4625
4631
  N && /* @__PURE__ */ a(Li, { v: N, size: re ? 20 : 18 }),
4626
4632
  C && de("Share", K.share, 1.6, C),
4627
- Ps() && !t && de(I ? "Exit full screen" : "Full screen", I ? Ql : Ti, 1.7, () => hn(!I)),
4633
+ Qs() && !t && de(I ? "Exit full screen" : "Full screen", I ? $l : Ti, 1.7, () => hn(!I)),
4628
4634
  X && de("Close player", K.close, 1.7, X)
4629
4635
  ] }), De = (u || d || D) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
4630
4636
  u && de(u.muted ? "Unmute" : "Mute", u.muted ? K.volumeOff : K.volume, 1.6, u.onToggle),
@@ -4685,7 +4691,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4685
4691
  ] }),
4686
4692
  " "
4687
4693
  ] }),
4688
- o.words.map((F, ve) => /* @__PURE__ */ f("span", { "data-said": F.dim ? void 0 : "", "data-at": o.cursor != null && ve <= o.cursor ? "" : void 0, style: F.dim ? Vl : void 0, children: [
4694
+ o.words.map((F, ve) => /* @__PURE__ */ f("span", { "data-said": F.dim ? void 0 : "", "data-at": o.cursor != null && ve <= o.cursor ? "" : void 0, style: F.dim ? Fl : void 0, children: [
4689
4695
  F.t,
4690
4696
  F.sp
4691
4697
  ] }, ve))
@@ -4717,10 +4723,10 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4717
4723
  }
4718
4724
  );
4719
4725
  }
4720
- function Wl({ dark: t, back: e, home: n, live: r, title: s, badge: i, subline: o, onOptions: l, optionsActive: c }) {
4726
+ function Gl({ dark: t, back: e, home: n, live: r, title: s, badge: i, subline: o, onOptions: l, optionsActive: c }) {
4721
4727
  return /* @__PURE__ */ f("div", { className: "ghead", children: [
4722
4728
  e && /* @__PURE__ */ a("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ a(ue, { d: K.chevronLeft, size: 19, sw: 1.7 }) }),
4723
- r && /* @__PURE__ */ a("span", { className: "mark", children: /* @__PURE__ */ a(Ws, { dark: t, size: 30 }) }),
4729
+ r && /* @__PURE__ */ a("span", { className: "mark", children: /* @__PURE__ */ a(Gs, { dark: t, size: 30 }) }),
4724
4730
  /* @__PURE__ */ a("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ a("div", { className: "ghead__logo", children: /* @__PURE__ */ a(Vt, { dark: t, height: 22 }) }) : /* @__PURE__ */ f("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
4725
4731
  /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
4726
4732
  /* @__PURE__ */ a("span", { className: "ghead__name", children: s }),
@@ -4735,13 +4741,13 @@ function Wl({ dark: t, back: e, home: n, live: r, title: s, badge: i, subline: o
4735
4741
  ] }) })
4736
4742
  ] });
4737
4743
  }
4738
- const Gl = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", Zl = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ a(ue, { d: K.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ a("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ a(ue, { d: e ? Gl : K.headphones, size: 19, sw: 1.5 }) }];
4739
- function ql(t) {
4744
+ const Zl = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", ql = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ a(ue, { d: K.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ a("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ a(ue, { d: e ? Zl : K.headphones, size: 19, sw: 1.5 }) }];
4745
+ function Kl(t) {
4740
4746
  if (!t.lang) return null;
4741
4747
  const e = t.langName;
4742
4748
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
4743
4749
  }
4744
- function Kl(t, e) {
4750
+ function Jl(t, e) {
4745
4751
  const [n, r] = O(null), [s, i] = O(!1);
4746
4752
  return E(() => {
4747
4753
  if (!t) {
@@ -4754,8 +4760,8 @@ function Kl(t, e) {
4754
4760
  return () => clearTimeout(l);
4755
4761
  }, [t, e]), [s, n];
4756
4762
  }
4757
- const Jl = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4758
- function Xl({ state: t, line: e, onRetry: n, onOriginal: r }) {
4763
+ const Xl = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4764
+ function ec({ state: t, line: e, onRetry: n, onOriginal: r }) {
4759
4765
  const [s, i] = O(() => Date.now());
4760
4766
  E(() => {
4761
4767
  if (t.since == null) return;
@@ -4788,7 +4794,7 @@ function Xl({ state: t, line: e, onRetry: n, onOriginal: r }) {
4788
4794
  /* @__PURE__ */ f("div", { className: "pwait__head", children: [
4789
4795
  l ? /* @__PURE__ */ a("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ a(ue, { d: K.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ a("div", { className: "pwait__spin", "aria-hidden": "true" }),
4790
4796
  /* @__PURE__ */ a("div", { className: "pwait__t", children: c }),
4791
- !l && o != null && o >= 3 && /* @__PURE__ */ a("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: Jl(o) })
4797
+ !l && o != null && o >= 3 && /* @__PURE__ */ a("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: Xl(o) })
4792
4798
  ] }),
4793
4799
  /* @__PURE__ */ a("div", { className: "pwait__note", children: u }),
4794
4800
  !l && /* @__PURE__ */ a("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ a("div", {}) }),
@@ -4801,13 +4807,13 @@ function Xl({ state: t, line: e, onRetry: n, onOriginal: r }) {
4801
4807
  }
4802
4808
  );
4803
4809
  }
4804
- const ec = "https://app.vocalstack.com", tc = "/connect/transcribe";
4805
- function nc() {
4810
+ const tc = "https://app.vocalstack.com", nc = "/connect/transcribe";
4811
+ function rc() {
4806
4812
  const t = new Uint8Array(24);
4807
4813
  return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4808
4814
  }
4809
4815
  function wi(t, e, n) {
4810
- const r = new URL(t ?? ec), s = nc(), i = new URL(tc, r);
4816
+ const r = new URL(t ?? tc), s = rc(), i = new URL(nc, r);
4811
4817
  e.url && i.searchParams.set("url", e.url), e.transcription && i.searchParams.set("transcription", e.transcription), e.ask && i.searchParams.set("ask", "1"), i.searchParams.set("origin", window.location.origin), i.searchParams.set("nonce", s);
4812
4818
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), u = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), d = window.open(i.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(u)}`);
4813
4819
  return d ? new Promise((g, M) => {
@@ -4843,16 +4849,16 @@ function wi(t, e, n) {
4843
4849
  }, 500);
4844
4850
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4845
4851
  }
4846
- function rc(t, e, n) {
4852
+ function sc(t, e, n) {
4847
4853
  return wi(t, { url: e }, n);
4848
4854
  }
4849
- const sc = {
4855
+ const ic = {
4850
4856
  "signing-in": "Sign in to VocalStack in the window that opened…",
4851
4857
  consent: "Confirm in the VocalStack window…",
4852
4858
  checking: "Checking the link…",
4853
4859
  starting: "Starting the transcription…"
4854
- }, ic = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4855
- function ac({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4860
+ }, ac = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4861
+ function oc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4856
4862
  const [s, i] = O(""), [o, l] = O(!1), [c, u] = O(null), [d, g] = O(null);
4857
4863
  E(() => {
4858
4864
  const j = (T) => {
@@ -4860,11 +4866,11 @@ function ac({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4860
4866
  };
4861
4867
  return window.addEventListener("keydown", j), () => window.removeEventListener("keydown", j);
4862
4868
  }, [r]);
4863
- const M = s.trim(), p = ic.test(M), y = async () => {
4869
+ const M = s.trim(), p = ac.test(M), y = async () => {
4864
4870
  if (!(!p || o)) {
4865
4871
  l(!0), u(null);
4866
4872
  try {
4867
- const j = await rc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4873
+ const j = await sc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4868
4874
  j && e(j);
4869
4875
  } catch (j) {
4870
4876
  u(j instanceof Error ? j.message : "Something went wrong. Please try again.");
@@ -4888,7 +4894,7 @@ function ac({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4888
4894
  }, "aria-label": "Video link" }),
4889
4895
  /* @__PURE__ */ a("button", { type: "submit", className: "vsp-end__go", disabled: !p || o, children: o ? /* @__PURE__ */ a(ct, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : "Transcribe" })
4890
4896
  ] }),
4891
- o && /* @__PURE__ */ a("div", { className: "vsp-end__note", role: "status", children: sc[d ?? "checking"] }),
4897
+ o && /* @__PURE__ */ a("div", { className: "vsp-end__note", role: "status", children: ic[d ?? "checking"] }),
4892
4898
  c && /* @__PURE__ */ a("div", { className: "vsp-end__err", role: "alert", children: c }),
4893
4899
  /* @__PURE__ */ f("div", { className: "vsp-end__foot", children: [
4894
4900
  /* @__PURE__ */ a("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
@@ -4899,7 +4905,7 @@ function ac({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4899
4905
  ] })
4900
4906
  ] }) });
4901
4907
  }
4902
- function oc(t) {
4908
+ function lc(t) {
4903
4909
  const [e, n] = O(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
4904
4910
  return E(() => {
4905
4911
  if (t != null) return;
@@ -4907,20 +4913,20 @@ function oc(t) {
4907
4913
  return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
4908
4914
  }, [t]), t ?? e;
4909
4915
  }
4910
- const lc = {
4916
+ const cc = {
4911
4917
  "signing-in": "Sign in to VocalStack in the window that opened…",
4912
4918
  consent: "Confirm in the VocalStack window…",
4913
4919
  checking: "Looking for your transcription of this video…",
4914
4920
  starting: "Starting the transcription…"
4915
4921
  };
4916
- function cc(t) {
4922
+ function uc(t) {
4917
4923
  try {
4918
4924
  return new URL(t).hostname.replace(/^www\./, "");
4919
4925
  } catch {
4920
4926
  return t;
4921
4927
  }
4922
4928
  }
4923
- function uc({ src: t, appUrl: e, title: n, onReady: r }) {
4929
+ function dc({ src: t, appUrl: e, title: n, onReady: r }) {
4924
4930
  const [s, i] = O(!1), [o, l] = O(null), [c, u] = O(null), d = or(t), g = async () => {
4925
4931
  if (!s) {
4926
4932
  i(!0), u(null);
@@ -4939,18 +4945,18 @@ function uc({ src: t, appUrl: e, title: n, onReady: r }) {
4939
4945
  /* @__PURE__ */ f("div", { className: "vsp-end__card vsp-gate__card", children: [
4940
4946
  /* @__PURE__ */ a("div", { className: "vsp-end__brand", children: /* @__PURE__ */ a(Vt, { dark: !0, link: !1, height: 16 }) }),
4941
4947
  /* @__PURE__ */ a("div", { className: "vsp-end__title", children: n ?? "Watch with subtitles and spoken translations" }),
4942
- /* @__PURE__ */ a("div", { className: "vsp-end__note", children: `From ${cc(t)}. If you have transcribed it with VocalStack it plays right away; if not, you can start it here.` }),
4948
+ /* @__PURE__ */ a("div", { className: "vsp-end__note", children: `From ${uc(t)}. If you have transcribed it with VocalStack it plays right away; if not, you can start it here.` }),
4943
4949
  /* @__PURE__ */ a("button", { type: "button", className: "vsp-end__go vsp-gate__go", onClick: () => void g(), disabled: s, children: s ? /* @__PURE__ */ a(ct, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ f(Pe, { children: [
4944
4950
  /* @__PURE__ */ a(ue, { d: K.cc, size: 16, sw: 1.7 }),
4945
4951
  "Open with VocalStack"
4946
4952
  ] }) }),
4947
- s && /* @__PURE__ */ a("div", { className: "vsp-end__note", role: "status", children: lc[o ?? "checking"] }),
4953
+ s && /* @__PURE__ */ a("div", { className: "vsp-end__note", role: "status", children: cc[o ?? "checking"] }),
4948
4954
  c && /* @__PURE__ */ a("div", { className: "vsp-end__err", role: "alert", children: c }),
4949
4955
  /* @__PURE__ */ a("div", { className: "vsp-end__foot", children: /* @__PURE__ */ a("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }) })
4950
4956
  ] })
4951
4957
  ] });
4952
4958
  }
4953
- function dc(t, e, n) {
4959
+ function Mc(t, e, n) {
4954
4960
  const [r, s] = O(t && e ? void 0 : null);
4955
4961
  return E(() => {
4956
4962
  if (!t) {
@@ -4963,7 +4969,7 @@ function dc(t, e, n) {
4963
4969
  }
4964
4970
  let i = !0;
4965
4971
  s(void 0);
4966
- const o = new Hs({ baseUrl: (n ?? li).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
4972
+ const o = new Vs({ baseUrl: (n ?? li).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
4967
4973
  if (!l) {
4968
4974
  s(null);
4969
4975
  return;
@@ -4977,13 +4983,13 @@ function dc(t, e, n) {
4977
4983
  };
4978
4984
  }, [t, e, n]), r;
4979
4985
  }
4980
- const Qs = (t) => t == null ? null : t ? "on" : "off";
4981
- function Mc(t) {
4986
+ const $s = (t) => t == null ? null : t ? "on" : "off";
4987
+ function gc(t) {
4982
4988
  const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, r = (i) => i === "on" || i === "off" ? i : null, s = Number(e == null ? void 0 : e.get("t"));
4983
4989
  return {
4984
4990
  lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
4985
- labels: r(e == null ? void 0 : e.get("labels")) ?? Qs(n.speakerLabels),
4986
- words: r(e == null ? void 0 : e.get("words")) ?? Qs(n.wordHighlight),
4991
+ labels: r(e == null ? void 0 : e.get("labels")) ?? $s(n.speakerLabels),
4992
+ words: r(e == null ? void 0 : e.get("words")) ?? $s(n.wordHighlight),
4987
4993
  cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
4988
4994
  translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
4989
4995
  clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
@@ -4991,16 +4997,16 @@ function Mc(t) {
4991
4997
  startAt: Number.isFinite(s) && s > 0 ? s : t.startAt ?? null
4992
4998
  };
4993
4999
  }
4994
- function kc(t) {
5000
+ function vc(t) {
4995
5001
  const [e, n] = O({ id: t.id ?? "", token: t.token });
4996
5002
  E(() => {
4997
5003
  n({ id: t.id ?? "", token: t.token });
4998
5004
  }, [t.id, t.token, t.src]);
4999
- const r = dc(t.src ?? null, t.token ?? null, t.baseUrl ?? null);
5005
+ const r = Mc(t.src ?? null, t.token ?? null, t.baseUrl ?? null);
5000
5006
  E(() => {
5001
5007
  r != null && r.id && n({ id: r.id, token: t.token });
5002
5008
  }, [r == null ? void 0 : r.id]);
5003
- const s = !e.id && !!t.src && r !== void 0, i = ci({ id: e.id, token: e.token, baseUrl: t.baseUrl, listen: e.listen }), { source: o, gone: l, error: c, reload: u } = No(i, e.id), d = po(i, (o == null ? void 0 : o.recording.id) ?? null), g = ze(() => ho(i, d), [i, d]);
5009
+ const s = !e.id && !!t.src && r !== void 0, i = ci({ id: e.id, token: e.token, baseUrl: t.baseUrl, listen: e.listen }), { source: o, gone: l, error: c, reload: u } = po(i, e.id), d = mo(i, (o == null ? void 0 : o.recording.id) ?? null), g = ze(() => fo(i, d), [i, d]);
5004
5010
  E(() => {
5005
5011
  var T;
5006
5012
  o && ((T = t.onSource) == null || T.call(t, o));
@@ -5008,16 +5014,16 @@ function kc(t) {
5008
5014
  var T;
5009
5015
  c && ((T = t.onError) == null || T.call(t, c));
5010
5016
  }, [c]);
5011
- const M = oc(t.desk), p = (t.layout ?? "embed") === "embed", y = t.appUrl ?? (t.endCard ? t.endCard.appUrl : void 0), j = z(null);
5012
- return E(() => (Rs(p ? j.current : null), () => Rs(null)), [p]), /* @__PURE__ */ a(co, { value: g, children: /* @__PURE__ */ a("div", { ref: j, className: `vsp${p ? " vsp--embed" : ""}${t.className ? ` ${t.className}` : ""}`, "data-theme": t.mode === "video" || t.dark ? "dark" : "light", "data-mode": t.mode === "video" ? "video" : "transcript", children: s ? /* @__PURE__ */ a(uc, { src: t.src, appUrl: y, onReady: (T) => n({ id: T.transcriptionId, token: null, listen: { transcriptionId: T.transcriptionId, recordingId: T.recordingId, token: T.token } }) }) : e.id ? /* @__PURE__ */ a(gc, { ...t, id: e.id, api: g, shared: o, gone: l, loadError: c, reread: u, desk: M, dark: t.mode === "video" || !!t.dark, onStarted: (T) => n({ id: T.transcriptionId, token: null, listen: { transcriptionId: T.transcriptionId, recordingId: T.recordingId, token: T.token } }) }, e.id) : /* @__PURE__ */ a("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5017
+ const M = lc(t.desk), p = (t.layout ?? "embed") === "embed", y = t.appUrl ?? (t.endCard ? t.endCard.appUrl : void 0), j = z(null);
5018
+ return E(() => (Ps(p ? j.current : null), () => Ps(null)), [p]), /* @__PURE__ */ a(uo, { value: g, children: /* @__PURE__ */ a("div", { ref: j, className: `vsp${p ? " vsp--embed" : ""}${t.className ? ` ${t.className}` : ""}`, "data-theme": t.mode === "video" || t.dark ? "dark" : "light", "data-mode": t.mode === "video" ? "video" : "transcript", children: s ? /* @__PURE__ */ a(dc, { src: t.src, appUrl: y, onReady: (T) => n({ id: T.transcriptionId, token: null, listen: { transcriptionId: T.transcriptionId, recordingId: T.recordingId, token: T.token } }) }) : e.id ? /* @__PURE__ */ a(hc, { ...t, id: e.id, api: g, shared: o, gone: l, loadError: c, reread: u, desk: M, dark: t.mode === "video" || !!t.dark, onStarted: (T) => n({ id: T.transcriptionId, token: null, listen: { transcriptionId: T.transcriptionId, recordingId: T.recordingId, token: T.token } }) }, e.id) : /* @__PURE__ */ a("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5013
5019
  }
5014
- function gc(t) {
5015
- var Gr, Zr, qr, Kr, Jr, Xr, es, ts, ns, rs, ss, is, as, os, ls, cs, us, ds, Ms, gs, hs, fs, Ns, ps;
5016
- const { api: e, shared: n, gone: r, desk: s, dark: i } = t, o = t.id ?? "", l = ze(() => Mc(t), []), c = t.mode === "video", u = ((Zr = (Gr = n == null ? void 0 : n.job) == null ? void 0 : Gr.source) == null ? void 0 : Zr.kind) === "url" ? or(n.job.source.url) : null, d = c && !(n && !u), [g, M] = O(t.loadError);
5020
+ function hc(t) {
5021
+ var Zr, qr, Kr, Jr, Xr, es, ts, ns, rs, ss, is, as, os, ls, cs, us, ds, Ms, gs, hs, fs, Ns, ps, ms;
5022
+ const { api: e, shared: n, gone: r, desk: s, dark: i } = t, o = t.id ?? "", l = ze(() => gc(t), []), c = t.mode === "video", u = ((qr = (Zr = n == null ? void 0 : n.job) == null ? void 0 : Zr.source) == null ? void 0 : qr.kind) === "url" ? or(n.job.source.url) : null, d = c && !(n && !u), [g, M] = O(t.loadError);
5017
5023
  E(() => {
5018
5024
  t.loadError && M(t.loadError);
5019
5025
  }, [t.loadError]);
5020
- const [p, y] = O("none"), [j, T] = O(!1), [N, h] = O(""), [C, D] = Ll(), [k, te] = O(null), [R, X] = O(d ? "listen" : "read"), [I, b] = O(!1), Q = z(null), L = z(/* @__PURE__ */ new Map()), [v, S] = O("main"), ne = (w) => {
5026
+ const [p, y] = O("none"), [j, T] = O(!1), [N, h] = O(""), [C, D] = wl(), [k, te] = O(null), [R, X] = O(d ? "listen" : "read"), [I, b] = O(!1), Q = z(null), L = z(/* @__PURE__ */ new Map()), [v, S] = O("main"), ne = (w) => {
5021
5027
  const me = document.querySelector(".vs-sheet--settings"), Re = me == null ? void 0 : me.parentElement;
5022
5028
  me && Re && v === "main" && w !== "main" && Re.style.setProperty("--vs-sheet-top", `${Math.round(me.getBoundingClientRect().top - Re.getBoundingClientRect().top)}px`), S(w);
5023
5029
  };
@@ -5048,16 +5054,16 @@ function gc(t) {
5048
5054
  }, [oe, re, pe, xe, G, ke, se]), E(() => {
5049
5055
  n && !n.allowTranslate && oe && ae(null);
5050
5056
  }, [n, oe]);
5051
- const { model: Z, error: de, clearError: W, setLanguage: De, mergeTranslations: F, translating: ve, translateFailed: fe, shownLang: ge } = wo(P, {
5057
+ const { model: Z, error: de, clearError: W, setLanguage: De, mergeTranslations: F, translating: ve, translateFailed: fe, shownLang: ge } = ko(P, {
5052
5058
  lang: null,
5053
5059
  onFrame: (w) => {
5054
5060
  w.type === "job.progress" && te({ state: w.state, processedS: w.processedS ?? 0, totalS: w.totalS ?? null, segmentsDone: w.segmentsDone ?? 0, segmentsTotal: w.segmentsTotal ?? null, pct: w.pct ?? 0, error: w.error ?? null });
5055
5061
  }
5056
- }), q = ze(() => Ka(Z).filter((w) => !w.suppressed), [Z]), je = ko((n == null ? void 0 : n.job) ?? null), $e = ["done", "failed", "stopped"].includes(qn((je == null ? void 0 : je.state) ?? ((qr = n == null ? void 0 : n.job) == null ? void 0 : qr.state))), ye = $e ? je : k ?? je, be = !!k && !["done", "failed", "stopped"].includes(qn(k.state)), He = z(0);
5062
+ }), q = ze(() => Ja(Z).filter((w) => !w.suppressed), [Z]), je = vo((n == null ? void 0 : n.job) ?? null), $e = ["done", "failed", "stopped"].includes(qn((je == null ? void 0 : je.state) ?? ((Kr = n == null ? void 0 : n.job) == null ? void 0 : Kr.state))), ye = $e ? je : k ?? je, be = !!k && !["done", "failed", "stopped"].includes(qn(k.state)), He = z(0);
5057
5063
  E(() => {
5058
5064
  !$e || !be || Date.now() - He.current < 1e4 || (He.current = Date.now(), t.reread());
5059
5065
  }, [$e, be, k == null ? void 0 : k.state, k == null ? void 0 : k.processedS, o]);
5060
- const Ie = qn((ye == null ? void 0 : ye.state) ?? ((Kr = n == null ? void 0 : n.job) == null ? void 0 : Kr.state)), Ye = !!P && (Ie === "transcribing" || Ie === "queued"), Y = d && !r && (!n || (Ye || Ie === "cropping") && q.length === 0), _ = Ye ? (ye == null ? void 0 : ye.pct) ?? 0 : 100, B = jo(n == null ? void 0 : n.job, ye) ?? (Me == null ? void 0 : Me.mediaDurationS) ?? null, ee = ((Jr = Z.segments.values().next().value) == null ? void 0 : Jr.language) ?? (Me == null ? void 0 : Me.spokenLanguage) ?? null, ie = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Te = ((ts = (es = (Xr = n == null ? void 0 : n.job) == null ? void 0 : Xr.source) == null ? void 0 : es.name) == null ? void 0 : ts.trim()) || null, _e = n ? ((ns = n.name) == null ? void 0 : ns.trim()) || Te : null, Ee = !!((rs = n == null ? void 0 : n.job) != null && rs.hasAudio), Le = (ss = n == null ? void 0 : n.job) == null ? void 0 : ss.source, Ve = !Ee && !!Le && (Le.kind !== "url" || Le.bytes != null) && (Ie === "transcribing" || Ie === "queued" || Ie === "done"), qe = P && (n != null && n.allowDownload) && Ee ? da(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ve ? Vn(e.origin, P, "source", e.cred) : null, it = q[q.length - 1], Tt = it ? ((is = it.words[it.words.length - 1]) == null ? void 0 : is.end) ?? it.start : 0, gt = d && Ye ? Math.max(Tt, (ye == null ? void 0 : ye.processedS) ?? 0) : null, We = Il(qe, (Ee || Ve) && !!(n != null && n.allowDownload), q, B, Ve ? ((os = (as = n == null ? void 0 : n.job) == null ? void 0 : as.crop) == null ? void 0 : os.startS) ?? 0 : 0, gt), Ue = ((cs = (ls = n == null ? void 0 : n.job) == null ? void 0 : ls.source) == null ? void 0 : cs.kind) === "url" ? or(n.job.source.url) : null, nt = zl(q, B, ((ds = (us = n == null ? void 0 : n.job) == null ? void 0 : us.crop) == null ? void 0 : ds.startS) ?? 0, gt), Fe = !!Ue, Lt = Fe ? nt.player : We, ut = mo(), vt = z(null), J = bl({ recordingId: P, model: Z, rows: q, lenS: B, ended: !!P && !Ye, cred: e.cred, langs: ut, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: V, setPickedLang: ae, side: s && !$ ? Dl : void 0, hearOriginal: Ne, timed: !!Ue, stockVoices: d && !ke, stickyPicker: d, pickerBusy: vt.current }), Ut = z(null);
5066
+ const Ie = qn((ye == null ? void 0 : ye.state) ?? ((Jr = n == null ? void 0 : n.job) == null ? void 0 : Jr.state)), Ye = !!P && (Ie === "transcribing" || Ie === "queued"), Y = d && !r && (!n || (Ye || Ie === "cropping") && q.length === 0), _ = Ye ? (ye == null ? void 0 : ye.pct) ?? 0 : 100, B = zo(n == null ? void 0 : n.job, ye) ?? (Me == null ? void 0 : Me.mediaDurationS) ?? null, ee = ((Xr = Z.segments.values().next().value) == null ? void 0 : Xr.language) ?? (Me == null ? void 0 : Me.spokenLanguage) ?? null, ie = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Te = ((ns = (ts = (es = n == null ? void 0 : n.job) == null ? void 0 : es.source) == null ? void 0 : ts.name) == null ? void 0 : ns.trim()) || null, _e = n ? ((rs = n.name) == null ? void 0 : rs.trim()) || Te : null, Ee = !!((ss = n == null ? void 0 : n.job) != null && ss.hasAudio), Le = (is = n == null ? void 0 : n.job) == null ? void 0 : is.source, Ve = !Ee && !!Le && (Le.kind !== "url" || Le.bytes != null) && (Ie === "transcribing" || Ie === "queued" || Ie === "done"), qe = P && (n != null && n.allowDownload) && Ee ? da(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ve ? Vn(e.origin, P, "source", e.cred) : null, it = q[q.length - 1], Tt = it ? ((as = it.words[it.words.length - 1]) == null ? void 0 : as.end) ?? it.start : 0, gt = d && Ye ? Math.max(Tt, (ye == null ? void 0 : ye.processedS) ?? 0) : null, We = Ol(qe, (Ee || Ve) && !!(n != null && n.allowDownload), q, B, Ve ? ((ls = (os = n == null ? void 0 : n.job) == null ? void 0 : os.crop) == null ? void 0 : ls.startS) ?? 0 : 0, gt), Ue = ((us = (cs = n == null ? void 0 : n.job) == null ? void 0 : cs.source) == null ? void 0 : us.kind) === "url" ? or(n.job.source.url) : null, nt = Il(q, B, ((Ms = (ds = n == null ? void 0 : n.job) == null ? void 0 : ds.crop) == null ? void 0 : Ms.startS) ?? 0, gt), Fe = !!Ue, Lt = Fe ? nt.player : We, ut = yo(), vt = z(null), J = Sl({ recordingId: P, model: Z, rows: q, lenS: B, ended: !!P && !Ye, cred: e.cred, langs: ut, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: V, setPickedLang: ae, side: s && !$ ? bl : void 0, hearOriginal: Ne, timed: !!Ue, stockVoices: d && !ke, stickyPicker: d, pickerBusy: vt.current }), Ut = z(null);
5061
5067
  E(() => {
5062
5068
  !P || Ut.current === oe || (Ut.current = oe, De(oe));
5063
5069
  }, [oe, P]);
@@ -5072,36 +5078,36 @@ function gc(t) {
5072
5078
  const Tn = ze(() => q.filter((w) => w.sentenceId != null).map((w, me, Re) => {
5073
5079
  var Ze;
5074
5080
  return { sid: w.sentenceId, start: w.start, end: ((Ze = Re[me + 1]) == null ? void 0 : Ze.start) ?? Ot(w, w.start, w.start + 4) };
5075
- }), [q]), rt = Ha({ on: Fe && J.on, lines: Tn, clips: J.clips, t: x.t, playing: x.playing, muted: x.muted }), xt = !!oe && (ve || J.relang || J.on && rt.missing != null);
5081
+ }), [q]), rt = Va({ on: Fe && J.on, lines: Tn, clips: J.clips, t: x.t, playing: x.playing, muted: x.muted }), xt = !!oe && (ve || J.relang || J.on && rt.missing != null);
5076
5082
  vt.current = xt ? oe : null, E(() => {
5077
5083
  Fe && J.on && rt.sid != null && J.setNear(rt.sid);
5078
- }, [rt.sid, Fe, J.on]), jl([Lt, J.player], J.sampling);
5084
+ }, [rt.sid, Fe, J.on]), zl([Lt, J.player], J.sampling);
5079
5085
  const jt = z(null);
5080
5086
  E(() => {
5081
5087
  Ye && !x.playing && jt.current && (jt.current.scrollTop = jt.current.scrollHeight);
5082
5088
  }, [Ye, q.length]);
5083
- const Ft = El(jt, q, j, N, T), Wt = /* @__PURE__ */ a(Al, { open: j, q: N, onQ: h, onClose: () => T(!1), hits: Ft, desk: s, inline: s }), Ge = (n == null ? void 0 : n.name) || t.src || o, dt = !!(n != null && n.allowDownload), Dt = !!(n != null && n.allowExport), at = J.readLang, lt = at ? ((Ms = ut == null ? void 0 : ut.languages.find((w) => w.code === at)) == null ? void 0 : Ms.name) ?? at.toUpperCase() : null, Mt = async () => {
5089
+ const Ft = Yl(jt, q, j, N, T), Wt = /* @__PURE__ */ a(El, { open: j, q: N, onQ: h, onClose: () => T(!1), hits: Ft, desk: s, inline: s }), Ge = (n == null ? void 0 : n.name) || t.src || o, dt = !!(n != null && n.allowDownload), Dt = !!(n != null && n.allowExport), at = J.readLang, lt = at ? ((gs = ut == null ? void 0 : ut.languages.find((w) => w.code === at)) == null ? void 0 : gs.name) ?? at.toUpperCase() : null, Mt = async () => {
5084
5090
  if (P)
5085
5091
  try {
5086
5092
  if (at && J.canSpeak) {
5087
- D(`Preparing ${Ge} in ${lt}${J.readVoiceName ? `, read by ${J.readVoiceName}` : ""} — the download starts when it is ready.`), await Oo(e, { recordingId: P, lang: at, voiceKey: J.readVoiceKey, cred: e.cred, request: J.requestTrack }), D(`Downloading ${Ge} in ${lt}.`);
5093
+ D(`Preparing ${Ge} in ${lt}${J.readVoiceName ? `, read by ${J.readVoiceName}` : ""} — the download starts when it is ready.`), await Co(e, { recordingId: P, lang: at, voiceKey: J.readVoiceKey, cred: e.cred, request: J.requestTrack }), D(`Downloading ${Ge} in ${lt}.`);
5088
5094
  return;
5089
5095
  }
5090
5096
  if (Ee) {
5091
- D(`Preparing ${Ge} as MP3 — the download starts when it is ready.`), await zo(Vn(e.origin, P, "delivery", e.cred)), D(`Downloading ${Ge}.`);
5097
+ D(`Preparing ${Ge} as MP3 — the download starts when it is ready.`), await Io(Vn(e.origin, P, "delivery", e.cred)), D(`Downloading ${Ge}.`);
5092
5098
  return;
5093
5099
  }
5094
- pr(Vn(e.origin, P, "source", e.cred)), D(`Downloading ${Ge} — the full audio, since the transcript is still being written.`);
5100
+ mr(Vn(e.origin, P, "source", e.cred)), D(`Downloading ${Ge} — the full audio, since the transcript is still being written.`);
5095
5101
  } catch (w) {
5096
5102
  throw M(yt(w)), w;
5097
5103
  }
5098
5104
  }, bt = (w) => {
5099
5105
  if (!P) return;
5100
5106
  const me = ar.find((Ze) => Ze.key === w).name, Re = lt ? ` in ${lt}` : "";
5101
- return Io(e, P, w, { lang: at }).then(() => D(Ye ? `${me} exported${Re} for the first ${q.length} segments — the rest is still transcribing.` : `${me} exported${Re}.`)).catch((Ze) => {
5107
+ return Oo(e, P, w, { lang: at }).then(() => D(Ye ? `${me} exported${Re} for the first ${q.length} segments — the rest is still transcribing.` : `${me} exported${Re}.`)).catch((Ze) => {
5102
5108
  throw M(yt(Ze)), Ze;
5103
5109
  });
5104
- }, st = Ye ? "MORE TO COME…" : "END OF TRANSCRIPT", Gt = Ye ? "var(--brand)" : "var(--ink-28)", Rt = vo(ye, q.length), wt = x.has && (!J.relang || !!Ue), et = z(x);
5110
+ }, st = Ye ? "MORE TO COME…" : "END OF TRANSCRIPT", Gt = Ye ? "var(--brand)" : "var(--ink-28)", Rt = jo(ye, q.length), wt = x.has && (!J.relang || !!Ue), et = z(x);
5105
5111
  et.current = x;
5106
5112
  const ht = `${oe ?? ""}|${J.on ? "voice" : "source"}`, St = z({ key: ht, idx: 0, t: 0, playing: !1, until: 0 });
5107
5113
  E(() => {
@@ -5119,7 +5125,7 @@ function gc(t) {
5119
5125
  }
5120
5126
  });
5121
5127
  const Zt = z(!1), ot = z(!1);
5122
- d && (qs.video = !0);
5128
+ d && (Ks.video = !0);
5123
5129
  const [qt, At] = O(!1), [Ln, wn] = O(!1);
5124
5130
  E(() => {
5125
5131
  if (!d || Zt.current || !wt || !$ || Y || t.autoplay === !1) return;
@@ -5153,7 +5159,7 @@ function gc(t) {
5153
5159
  return;
5154
5160
  }
5155
5161
  ot.current = !0, et.current.toggle();
5156
- }, H = (w) => /* @__PURE__ */ a(Tl, { player: x, size: w }), Oe = !!P && !Ye, [Be, Nt] = O(!1);
5162
+ }, H = (w) => /* @__PURE__ */ a(Ll, { player: x, size: w }), Oe = !!P && !Ye, [Be, Nt] = O(!1);
5157
5163
  E(() => {
5158
5164
  if (!ve) {
5159
5165
  Nt(!1);
@@ -5162,12 +5168,12 @@ function gc(t) {
5162
5168
  const w = setTimeout(() => Nt(!0), 180);
5163
5169
  return () => clearTimeout(w);
5164
5170
  }, [ve]);
5165
- const zt = Be ? ge : oe, ki = Po(P, oe, q, F), kn = tl(nl(Me), P, J.readLang), vi = dt || Dt, ji = (((hs = (gs = n == null ? void 0 : n.job) == null ? void 0 : gs.crop) == null ? void 0 : hs.startS) ?? 0) + Jn(x, q), vn = R === "listen", It = vn && !!Ue, zi = (w) => {
5171
+ const zt = Be ? ge : oe, ki = Qo(P, oe, q, F), kn = nl(rl(Me), P, J.readLang), vi = dt || Dt, ji = (((fs = (hs = n == null ? void 0 : n.job) == null ? void 0 : hs.crop) == null ? void 0 : fs.startS) ?? 0) + Jn(x, q), vn = R === "listen", It = vn && !!Ue, zi = (w) => {
5166
5172
  Lt.pause(), J.player.pause(), X(w), w === "read" && $ && ($t(!1), U(!1));
5167
- }, Se = J.barChip, Et = di(Se.label), yr = /* @__PURE__ */ a(Ts, { value: R, onChange: zi, bordered: !1, options: Zl(Et, !!Ue) }), Yt = [...Oe ? [{ key: "summary", label: "Summary" }] : [], ...vi ? [{ key: "export", label: "Export" }] : []], Tr = (w) => /* @__PURE__ */ f(Pe, { children: [
5168
- w === "summary" && Oe && /* @__PURE__ */ a(rl, { s: kn }),
5169
- w === "export" && /* @__PURE__ */ a(el, { audio: dt ? { name: Ge, meta: at && J.canSpeak || Ee ? `MP3${B ? ` · ${mt(B)}` : ""}` : "ORIGINAL AUDIO", onClick: Mt } : null, formats: Dt, onExport: bt })
5170
- ] }), Ii = (w) => /* @__PURE__ */ a(Yo, { index: x.idx, total: Math.max(1, q.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: mt(x.t), durLabel: mt(x.dur), stepLabel: w ? `${x.idx + 1} / ${q.length}` : "", onSeek: J.relang ? Cl : x.seekRow, onSeekFrac: J.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Lr = {
5173
+ }, Se = J.barChip, Et = di(Se.label), Tr = /* @__PURE__ */ a(Ls, { value: R, onChange: zi, bordered: !1, options: ql(Et, !!Ue) }), Yt = [...Oe ? [{ key: "summary", label: "Summary" }] : [], ...vi ? [{ key: "export", label: "Export" }] : []], Lr = (w) => /* @__PURE__ */ f(Pe, { children: [
5174
+ w === "summary" && Oe && /* @__PURE__ */ a(sl, { s: kn }),
5175
+ w === "export" && /* @__PURE__ */ a(tl, { audio: dt ? { name: Ge, meta: at && J.canSpeak || Ee ? `MP3${B ? ` · ${mt(B)}` : ""}` : "ORIGINAL AUDIO", onClick: Mt } : null, formats: Dt, onExport: bt })
5176
+ ] }), Ii = (w) => /* @__PURE__ */ a(_o, { index: x.idx, total: Math.max(1, q.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: mt(x.t), durLabel: mt(x.dur), stepLabel: w ? `${x.idx + 1} / ${q.length}` : "", onSeek: J.relang ? xl : x.seekRow, onSeekFrac: J.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), wr = {
5171
5177
  live: !1,
5172
5178
  atEdge: !1,
5173
5179
  edgeFrac: null,
@@ -5180,12 +5186,12 @@ function gc(t) {
5180
5186
  var me;
5181
5187
  J.relang || (me = x.seekFrac) == null || me.call(x, w);
5182
5188
  }
5183
- }, [Oi, Ci] = Kl(J.on && !!x.preparing && x.playing, 1500), jn = J.on && ((fs = x.error) == null ? void 0 : fs.code) === "voice_not_started", zn = J.canSpeak && !J.error && !jn, en = oe ? ((Ns = ut == null ? void 0 : ut.languages.find((w) => w.code === oe)) == null ? void 0 : Ns.name) ?? Se.label : "", Je = $ ? ql({ lang: oe, langName: en, translating: ve && !!oe, translateFailed: fe, voiceFailed: jn, relang: J.relang, starting: J.on ? x.starting : null, slowLine: Oi, lineSince: Ci }) : null, In = !!Ue && !!Je && (Je.kind === "translating" || Je.kind === "voice" && J.relang), wr = !In || !Je ? null : Je.kind === "translating" ? `Translating into ${en || "the new language"}…` : `Preparing the ${en || "translated"} voice…`, tn = !In && ((Je == null ? void 0 : Je.kind) === "voice" || (Je == null ? void 0 : Je.kind) === "starting"), kr = ni({ ...J.langList, keepOpen: !0, open: v === "lang", onClose: () => ne("main") }), vr = xa(se, J.on), xi = d && vr.bed && dt && P && (!Ye || qe) ? Ls(e.origin, P, e.cred) : null, jr = Ra(xi, { t: Jn(x, q), playing: x.playing && !tn && !(x.timed && x.preparing), muted: x.muted }), Di = d && vr.speech && dt && P && (!Ye || qe) ? Ls(e.origin, P, e.cred, "speech") : null, On = ri(Di, { t: Jn(x, q), playing: !J.on && x.playing, muted: x.muted }), Cn = !J.on && On.on;
5189
+ }, [Oi, Ci] = Jl(J.on && !!x.preparing && x.playing, 1500), jn = J.on && ((Ns = x.error) == null ? void 0 : Ns.code) === "voice_not_started", zn = J.canSpeak && !J.error && !jn, en = oe ? ((ps = ut == null ? void 0 : ut.languages.find((w) => w.code === oe)) == null ? void 0 : ps.name) ?? Se.label : "", Je = $ ? Kl({ lang: oe, langName: en, translating: ve && !!oe, translateFailed: fe, voiceFailed: jn, relang: J.relang, starting: J.on ? x.starting : null, slowLine: Oi, lineSince: Ci }) : null, In = !!Ue && !!Je && (Je.kind === "translating" || Je.kind === "voice" && J.relang), kr = !In || !Je ? null : Je.kind === "translating" ? `Translating into ${en || "the new language"}…` : `Preparing the ${en || "translated"} voice…`, tn = !In && ((Je == null ? void 0 : Je.kind) === "voice" || (Je == null ? void 0 : Je.kind) === "starting"), vr = ri({ ...J.langList, keepOpen: !0, open: v === "lang", onClose: () => ne("main") }), jr = xa(se, J.on), xi = d && jr.bed && dt && P && (!Ye || qe) ? ws(e.origin, P, e.cred) : null, zr = Ra(xi, { t: Jn(x, q), playing: x.playing && !tn && !(x.timed && x.preparing), muted: x.muted }), Di = d && jr.speech && dt && P && (!Ye || qe) ? ws(e.origin, P, e.cred, "speech") : null, On = si(Di, { t: Jn(x, q), playing: !J.on && x.playing, muted: x.muted }), Cn = !J.on && On.on;
5184
5190
  E(() => {
5185
5191
  var w;
5186
5192
  nt.setVideoSound(!(Fe && (J.on || Cn))), (w = We.silence) == null || w.call(We, !Fe && Cn);
5187
5193
  }, [Fe, J.on, Cn, qe]);
5188
- const xn = dt ? J.on ? jr : On.state : "unavailable", Dn = G && zn && !!oe, bi = Dn ? [`Translated${J.hasClone ? ke ? ", cloned voices" : ", synthetic voices" : ""}`, !se && dt && jr !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : se && xn !== "unavailable" ? "Original speech, background removed" : "Original sound", Si = () => {
5194
+ const xn = dt ? J.on ? zr : On.state : "unavailable", Dn = G && zn && !!oe, bi = Dn ? [`Translated${J.hasClone ? ke ? ", cloned voices" : ", synthetic voices" : ""}`, !se && dt && zr !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : se && xn !== "unavailable" ? "Original speech, background removed" : "Original sound", Si = () => {
5189
5195
  if ((Je == null ? void 0 : Je.kind) === "translateFailed") {
5190
5196
  De(oe);
5191
5197
  return;
@@ -5194,10 +5200,10 @@ function gc(t) {
5194
5200
  }, Ai = () => {
5195
5201
  const w = x.idx;
5196
5202
  x.pause(), ae(null), ot.current = !0, Lt.playRow(w);
5197
- }, zr = { prevOn: x.idx > 0, nextOn: x.idx < q.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: wt, playTitle: J.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5203
+ }, Ir = { prevOn: x.idx > 0, nextOn: x.idx < q.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: wt, playTitle: J.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5198
5204
  ot.current = !0, x.toggle();
5199
5205
  }, busy: J.relang && !Ue || tn };
5200
- Wa(wt ? { playing: x.playing, toggle: () => {
5206
+ Ga(wt ? { playing: x.playing, toggle: () => {
5201
5207
  ot.current = !0, x.toggle();
5202
5208
  }, next: x.next, prev: x.prev } : null, _e);
5203
5209
  const bn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Sn = (w, me) => !Se.can || !A.language ? null : d ? /* @__PURE__ */ f("button", { type: "button", className: "gfull__btn", title: xt ? `${Se.label ?? Se.code}: still being prepared` : Se.label ?? Se.code, "aria-label": `Language: ${Se.label ?? Se.code}`, "aria-busy": xt || void 0, onClick: () => {
@@ -5205,30 +5211,30 @@ function gc(t) {
5205
5211
  }, style: { position: "relative" }, children: [
5206
5212
  /* @__PURE__ */ a("span", { style: { fontSize: me === "sm" ? 17 : 21, lineHeight: 1 }, children: Se.flag }),
5207
5213
  xt && /* @__PURE__ */ a("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ a(ct, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
5208
- ] }) : /* @__PURE__ */ a(fn, { flag: Se.flag, code: Se.code, label: Se.label, bordered: !1, size: me, onClick: Se.onClick, style: w }), Ir = { on: !1, title: "Voices", onClick: () => {
5209
- } }, Or = Ue && /* @__PURE__ */ a(pl, { ytId: Ue, title: Ge, t: ji, playing: x.playing && !tn, waiting: J.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (w) => {
5214
+ ] }) : /* @__PURE__ */ a(fn, { flag: Se.flag, code: Se.code, label: Se.label, bordered: !1, size: me, onClick: Se.onClick, style: w }), Or = { on: !1, title: "Voices", onClick: () => {
5215
+ } }, Cr = Ue && /* @__PURE__ */ a(ml, { ytId: Ue, title: Ge, t: ji, playing: x.playing && !tn, waiting: J.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (w) => {
5210
5216
  var me, Re, Ze;
5211
5217
  return (Ze = x.videoAt) == null ? void 0 : Ze.call(x, w - (((Re = (me = n == null ? void 0 : n.job) == null ? void 0 : me.crop) == null ? void 0 : Re.startS) ?? 0));
5212
- }, onToggle: x.has ? Xt : void 0, onAd: wn, lead: Fe ? nt.lead : void 0 }), Cr = It && Ue && !$ ? /* @__PURE__ */ a(sl, { ytId: Ue, title: Ge, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Or, children: /* @__PURE__ */ a(Hl, { pos: Lr, transport: zr, chip: Sn({ ...bn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Ir, onFull: () => {
5218
+ }, onToggle: x.has ? Xt : void 0, onAd: wn, lead: Fe ? nt.lead : void 0 }), xr = It && Ue && !$ ? /* @__PURE__ */ a(il, { ytId: Ue, title: Ge, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Cr, children: /* @__PURE__ */ a(Vl, { pos: wr, transport: Ir, chip: Sn({ ...bn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Or, onFull: () => {
5213
5219
  $t(!0), U(!0);
5214
- }, copied: null }) }) : null, Ke = x.wordSync ? Do(q, x.idx, x.t) ? q[x.idx] : void 0 : q[x.idx];
5220
+ }, copied: null }) }) : null, Ke = x.wordSync ? bo(q, x.idx, x.t) ? q[x.idx] : void 0 : q[x.idx];
5215
5221
  for (const w of q) for (const [me, Re] of Object.entries(w.translations)) Re && L.current.set(`${w.sentenceId ?? w.start}|${me}`, Re);
5216
- const xr = (w, me) => w.translations[me] || L.current.get(`${w.sentenceId ?? w.start}|${me}`) || null, An = (w, me) => !w || !me || w.language === me || !!xr(w, me), pt = An(Ke, oe) ? oe : An(Ke, Q.current) ? Q.current : oe;
5222
+ const Dr = (w, me) => w.translations[me] || L.current.get(`${w.sentenceId ?? w.start}|${me}`) || null, An = (w, me) => !w || !me || w.language === me || !!Dr(w, me), pt = An(Ke, oe) ? oe : An(Ke, Q.current) ? Q.current : oe;
5217
5223
  Ke && An(Ke, pt) && (Q.current = pt);
5218
- const Dr = Ke && pt && Ke.language !== pt ? xr(Ke, pt) : null, Ei = Ke && Dr && pt && !Ke.translations[pt] ? Object.assign([...q], { [x.idx]: { ...Ke, translations: { ...Ke.translations, [pt]: Dr } } }) : q, nn = Ke ? mi(Ei, x.idx, pt) : [], rn = pe ? pe === "on" : !d || J.on || !zt || zt === ee, br = rn ? _s(x, x.idx, nn) : null, Sr = nn.map((w, me) => ({ t: w.text, sp: me < nn.length - 1 ? " " : "", dim: br != null && me > br })), sn = re ? re === "on" : d ? !1 : oo(Z, q, Me == null ? void 0 : Me.settings), Ar = { lang: oe, subtitles: xe, speakerLabels: sn, wordHighlight: rn, translateAudio: G, voices: ke ? "cloned" : "synthetic", removeBackground: se }, Yi = JSON.stringify(Ar), an = z(t.onSettingsChange);
5224
+ const br = Ke && pt && Ke.language !== pt ? Dr(Ke, pt) : null, Ei = Ke && br && pt && !Ke.translations[pt] ? Object.assign([...q], { [x.idx]: { ...Ke, translations: { ...Ke.translations, [pt]: br } } }) : q, nn = Ke ? mi(Ei, x.idx, pt) : [], rn = pe ? pe === "on" : !d || J.on || !zt || zt === ee, Sr = rn ? Us(x, x.idx, nn) : null, Ar = nn.map((w, me) => ({ t: w.text, sp: me < nn.length - 1 ? " " : "", dim: Sr != null && me > Sr })), sn = re ? re === "on" : d ? !1 : lo(Z, q, Me == null ? void 0 : Me.settings), Er = { lang: oe, subtitles: xe, speakerLabels: sn, wordHighlight: rn, translateAudio: G, voices: ke ? "cloned" : "synthetic", removeBackground: se }, Yi = JSON.stringify(Er), an = z(t.onSettingsChange);
5219
5225
  an.current = t.onSettingsChange, E(() => {
5220
5226
  var w;
5221
- (w = an.current) == null || w.call(an, Ar);
5227
+ (w = an.current) == null || w.call(an, Er);
5222
5228
  }, [Yi]);
5223
- const on = Ke && Ke.speaker >= 0 && sn ? fr(Z, Ke.speaker) : null, [_i, Er] = O(!1), [En, Yr] = O(null), [Ui, _r] = O(null), Yn = z(void 0);
5229
+ const on = Ke && Ke.speaker >= 0 && sn ? Nr(Z, Ke.speaker) : null, [_i, Yr] = O(!1), [En, _r] = O(null), [Ui, Ur] = O(null), Yn = z(void 0);
5224
5230
  E(() => () => window.clearTimeout(Yn.current), []);
5225
5231
  const _n = z(void 0);
5226
5232
  E(() => () => window.clearTimeout(_n.current), []);
5227
- const Ur = (w) => {
5233
+ const Rr = (w) => {
5228
5234
  if (t.shareUrl) return t.shareUrl(w);
5229
5235
  const me = new URL(window.location.href);
5230
5236
  return w != null && w > 0 ? me.searchParams.set("t", String(w)) : me.searchParams.delete("t"), me.href;
5231
- }, Un = z(l.startAt), Rr = (w) => {
5237
+ }, Un = z(l.startAt), Pr = (w) => {
5232
5238
  if (x.seekFrac && x.dur > 0) {
5233
5239
  x.seekFrac(Math.min(1, w / x.dur));
5234
5240
  return;
@@ -5236,30 +5242,30 @@ function gc(t) {
5236
5242
  let me = 0;
5237
5243
  for (let Re = 0; Re < q.length; Re++) q[Re].start <= w && (me = Re);
5238
5244
  x.seekRow(me);
5239
- }, Pr = z(!1);
5245
+ }, Qr = z(!1);
5240
5246
  E(() => {
5241
5247
  const w = Un.current;
5242
- w == null || Pr.current || !x.has || q.length === 0 || (Pr.current = !0, Rr(w));
5248
+ w == null || Qr.current || !x.has || q.length === 0 || (Qr.current = !0, Pr(w));
5243
5249
  }, [x.has, q.length]), E(() => {
5244
5250
  const w = Un.current;
5245
- w == null || !x.playing || (Un.current = null, Math.abs(x.t - w) > 2 && Rr(w));
5251
+ w == null || !x.playing || (Un.current = null, Math.abs(x.t - w) > 2 && Pr(w));
5246
5252
  }, [x.playing]);
5247
- const Ri = () => Ni(Ur(null), Ge, () => {
5248
- window.clearTimeout(_n.current), Er(!0), _n.current = window.setTimeout(() => Er(!1), 2200);
5249
- }), Qr = (w, me, Re) => {
5250
- const Ze = ar.find((Wi) => Wi.key === w), Hn = En === w, ms = Ui === w;
5253
+ const Ri = () => Ni(Rr(null), Ge, () => {
5254
+ window.clearTimeout(_n.current), Yr(!0), _n.current = window.setTimeout(() => Yr(!1), 2200);
5255
+ }), $r = (w, me, Re) => {
5256
+ const Ze = ar.find((Wi) => Wi.key === w), Hn = En === w, ys = Ui === w;
5251
5257
  return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": Hn || void 0, style: En && !Hn ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5252
- En || (Yr(w), Promise.resolve().then(() => bt(w)).then(() => {
5253
- _r(w), window.clearTimeout(Yn.current), Yn.current = window.setTimeout(() => _r(null), 1600);
5258
+ En || (_r(w), Promise.resolve().then(() => bt(w)).then(() => {
5259
+ Ur(w), window.clearTimeout(Yn.current), Yn.current = window.setTimeout(() => Ur(null), 1600);
5254
5260
  }).catch(() => {
5255
- }).finally(() => Yr(null)));
5261
+ }).finally(() => _r(null)));
5256
5262
  }, children: [
5257
5263
  Hn ? /* @__PURE__ */ a(ct, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ a(ue, { d: Ze.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5258
5264
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5259
5265
  /* @__PURE__ */ a("div", { className: "srow__t", children: me }),
5260
5266
  /* @__PURE__ */ a("div", { className: "srow__s", children: Re })
5261
5267
  ] }),
5262
- /* @__PURE__ */ a(ue, { d: ms ? K.check : K.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ms ? "var(--brand)" : "var(--ink-62)" } })
5268
+ /* @__PURE__ */ a(ue, { d: ys ? K.check : K.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ys ? "var(--brand)" : "var(--ink-62)" } })
5263
5269
  ] });
5264
5270
  }, Pi = /* @__PURE__ */ f("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5265
5271
  " ",
@@ -5268,8 +5274,8 @@ function gc(t) {
5268
5274
  "Back"
5269
5275
  ] })
5270
5276
  ] }), ln = /* @__PURE__ */ a(ue, { d: K.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), Qi = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[v], cn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Rn = d ? /* @__PURE__ */ a(Nn, { open: I, onClose: () => b(!1), title: Qi, titleNode: v === "main" ? void 0 : Pi, doneLabel: Et.done, kind: v === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ a(la, { children: v === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
5271
- /* @__PURE__ */ a("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: kr.search }),
5272
- kr.list
5277
+ /* @__PURE__ */ a("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: vr.search }),
5278
+ vr.list
5273
5279
  ] }) : v === "subs" ? /* @__PURE__ */ f("div", { style: cn, children: [
5274
5280
  /* @__PURE__ */ f("div", { className: "srow", children: [
5275
5281
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5305,18 +5311,18 @@ function gc(t) {
5305
5311
  /* @__PURE__ */ a("div", { className: "srow__t", children: "Voices" }),
5306
5312
  /* @__PURE__ */ a("div", { className: "srow__s", children: ke ? "Each speaker in their own cloned voice" : "Synthetic voices matched to each speaker" })
5307
5313
  ] }),
5308
- /* @__PURE__ */ a(Ts, { value: ke ? "clone" : "stock", onChange: (w) => Ae(w === "clone"), size: "sm", options: [{ value: "stock", label: "Synthetic" }, { value: "clone", label: "Cloned" }] })
5314
+ /* @__PURE__ */ a(Ls, { value: ke ? "clone" : "stock", onChange: (w) => Ae(w === "clone"), size: "sm", options: [{ value: "stock", label: "Synthetic" }, { value: "clone", label: "Cloned" }] })
5309
5315
  ] }),
5310
5316
  /* @__PURE__ */ f("div", { className: "srow", children: [
5311
5317
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5312
- /* @__PURE__ */ a("div", { className: "srow__t", children: vs }),
5318
+ /* @__PURE__ */ a("div", { className: "srow__t", children: js }),
5313
5319
  /* @__PURE__ */ a("div", { className: "srow__s", children: Ca(se, xn, "video", J.on ? 0 : On.untilS) })
5314
5320
  ] }),
5315
- /* @__PURE__ */ a(Pt, { checked: se && dt, onChange: le, label: vs, disabled: !dt || xn === "unavailable" && !se })
5321
+ /* @__PURE__ */ a(Pt, { checked: se && dt, onChange: le, label: js, disabled: !dt || xn === "unavailable" && !se })
5316
5322
  ] })
5317
5323
  ] }) : v === "export" ? /* @__PURE__ */ f("div", { style: cn, children: [
5318
- Qr("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5319
- Qr("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5324
+ $r("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5325
+ $r("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5320
5326
  ] }) : /* @__PURE__ */ a("div", { style: cn, children: [
5321
5327
  Se.can && A.language && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => ne("lang"), children: [
5322
5328
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5367,41 +5373,41 @@ function gc(t) {
5367
5373
  ] }),
5368
5374
  t.settingsExtra
5369
5375
  ] }) }), kt = $ && It && Ue && /* @__PURE__ */ a(
5370
- Fl,
5376
+ Wl,
5371
5377
  {
5372
5378
  page: (t.layout ?? "embed") === "page",
5373
- picture: Or,
5379
+ picture: Cr,
5374
5380
  title: Ge,
5375
5381
  desk: s,
5376
- pos: Lr,
5382
+ pos: wr,
5377
5383
  mute: { muted: x.muted, onToggle: Jt },
5378
5384
  cc: A.subtitles ? { on: xe, onToggle: () => Qe((w) => !w) } : void 0,
5379
5385
  noFull: !A.fullscreen,
5380
5386
  ad: Ln,
5381
- wait: Je && !In ? /* @__PURE__ */ a(Xl, { state: Je, line: tn ? Sr.map((w) => w.t + w.sp).join("") : null, onRetry: Si, onOriginal: Ai }) : x.edgeWait ? `Transcribing ${Math.round(_)}% — it plays on as more is written` : null,
5387
+ wait: Je && !In ? /* @__PURE__ */ a(ec, { state: Je, line: tn ? Ar.map((w) => w.t + w.sp).join("") : null, onRetry: Si, onOriginal: Ai }) : x.edgeWait ? `Transcribing ${Math.round(_)}% — it plays on as more is written` : null,
5382
5388
  pct: Ye ? Math.round(_) : null,
5383
- sub: xe && Ke ? { who: on ? hr(Z, Ke.speaker) : null, color: on ? on.fg ?? `var(--lane-${on.lane})` : "#fff", words: Sr, cursor: _s(x, x.idx, nn) } : null,
5389
+ sub: xe && Ke ? { who: on ? fr(Z, Ke.speaker) : null, color: on ? on.fg ?? `var(--lane-${on.lane})` : "#fff", words: Ar, cursor: Us(x, x.idx, nn) } : null,
5384
5390
  chip: Sn(s ? bn : { ...bn, width: 64, padding: "0 6px" }, s ? void 0 : "sm"),
5385
- transport: zr,
5391
+ transport: Ir,
5386
5392
  picker: J.sheets,
5387
5393
  sheet: d ? Rn : null,
5388
5394
  voices: null,
5389
- voicesBtn: d ? null : Ir,
5395
+ voicesBtn: d ? null : Or,
5390
5396
  sheetOpen: J.sheetsOpen || I,
5391
5397
  onShare: d && A.share ? Ri : void 0,
5392
5398
  onSettings: d && A.settings ? () => {
5393
5399
  J.closePicker(), b((w) => !w);
5394
5400
  } : void 0,
5395
- paused: { title: Ge, summary: kn.state === "ready" ? kn.summary ?? null : null, share: { url: Ur, at: x.t } },
5401
+ paused: { title: Ge, summary: kn.state === "ready" ? kn.summary ?? null : null, share: { url: Rr, at: x.t } },
5396
5402
  copied: _i ? /* @__PURE__ */ f("div", { className: "gfull__toast", "aria-live": "polite", children: [
5397
5403
  /* @__PURE__ */ a(ue, { d: K.check, size: 13, sw: 2 }),
5398
5404
  "Link copied"
5399
5405
  ] }) : qt ? /* @__PURE__ */ f("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
5400
5406
  /* @__PURE__ */ a(ue, { d: K.volumeOff, size: 14, sw: 1.8 }),
5401
5407
  "Tap for sound"
5402
- ] }) : wr ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5408
+ ] }) : kr ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5403
5409
  /* @__PURE__ */ a(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5404
- wr
5410
+ kr
5405
5411
  ] }) : J.on && (Fe ? rt.missing != null : x.silent) ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5406
5412
  /* @__PURE__ */ a(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5407
5413
  `${en || "Translated"} voice is still being prepared · playing with subtitles`
@@ -5417,7 +5423,7 @@ function gc(t) {
5417
5423
  E(() => {
5418
5424
  !d && $ && !It && ($t(!1), U(!1));
5419
5425
  }, [d, $, It]);
5420
- const $r = Ye && /* @__PURE__ */ f("div", { className: `pubprog${s ? " pubprog--desk" : ""}${j ? " pubprog--find" : ""}`, children: [
5426
+ const Br = Ye && /* @__PURE__ */ f("div", { className: `pubprog${s ? " pubprog--desk" : ""}${j ? " pubprog--find" : ""}`, children: [
5421
5427
  /* @__PURE__ */ f("div", { className: "pubprog__row", children: [
5422
5428
  /* @__PURE__ */ a("span", { className: "l", children: `TRANSCRIBING ${_}%` }),
5423
5429
  !s && /* @__PURE__ */ a("div", { style: { flex: 1 } }),
@@ -5425,41 +5431,41 @@ function gc(t) {
5425
5431
  /* @__PURE__ */ a("span", { className: "s", children: Rt })
5426
5432
  ] }),
5427
5433
  !s && /* @__PURE__ */ a("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ a("div", { style: { width: `${_}%` } }) })
5428
- ] }), Pn = r && /* @__PURE__ */ a("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), Br = /* @__PURE__ */ a(Sl, { model: Z, rows: q, player: x, tail: st, tailFg: Gt, running: Ye, desk: s, feedRef: jt, listener: !0, showLabels: sn, find: N, findOpen: !s && j, lang: zt, warm: Be, onVisible: ki, wordHl: rn }), Qn = /* @__PURE__ */ a(Eo, { error: g ?? de ?? (jn && $ ? null : x.error) ?? J.error, onClose: () => {
5434
+ ] }), Pn = r && /* @__PURE__ */ a("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), Hr = /* @__PURE__ */ a(Al, { model: Z, rows: q, player: x, tail: st, tailFg: Gt, running: Ye, desk: s, feedRef: jt, listener: !0, showLabels: sn, find: N, findOpen: !s && j, lang: zt, warm: Be, onVisible: ki, wordHl: rn }), Qn = /* @__PURE__ */ a(Yo, { error: g ?? de ?? (jn && $ ? null : x.error) ?? J.error, onClose: () => {
5429
5435
  M(null), W(), x.clearError(), J.clearError();
5430
- } }), Hr = [B ? mt(B) : null, ee ? ee.toUpperCase() : null, ie || "Read-only copy"].filter(Boolean).join(" · "), Vr = (w) => /* @__PURE__ */ a("div", { className: "ctrans", children: J.noVoice ? J.noVoiceNote : /* @__PURE__ */ f(Pe, { children: [
5436
+ } }), Vr = [B ? mt(B) : null, ee ? ee.toUpperCase() : null, ie || "Read-only copy"].filter(Boolean).join(" · "), Fr = (w) => /* @__PURE__ */ a("div", { className: "ctrans", children: J.noVoice ? J.noVoiceNote : /* @__PURE__ */ f(Pe, { children: [
5431
5437
  /* @__PURE__ */ f("div", { className: "ctrans__row", children: [
5432
5438
  /* @__PURE__ */ a("span", { className: "ctrans__sp", "aria-hidden": "true" }),
5433
5439
  /* @__PURE__ */ f("div", { className: "ctrans__mid", children: [
5434
5440
  /* @__PURE__ */ a("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ a(ue, { d: K.chevronLeft, size: 16, sw: 1.8 }) }),
5435
- /* @__PURE__ */ a("button", { type: "button", className: "ctrans__play", "aria-label": J.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: J.relang ? "Preparing audio…" : J.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !wt, onClick: x.toggle, children: J.relang ? /* @__PURE__ */ a("span", { className: "ctrans__spin" }) : /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? ml : yl }) }),
5441
+ /* @__PURE__ */ a("button", { type: "button", className: "ctrans__play", "aria-label": J.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: J.relang ? "Preparing audio…" : J.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !wt, onClick: x.toggle, children: J.relang ? /* @__PURE__ */ a("span", { className: "ctrans__spin" }) : /* @__PURE__ */ a("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? yl : Tl }) }),
5436
5442
  /* @__PURE__ */ a("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= q.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ a(ue, { d: K.chevronRight, size: 16, sw: 1.8 }) })
5437
5443
  ] }),
5438
5444
  /* @__PURE__ */ a("span", { className: "ctrans__mute", children: H(36) })
5439
5445
  ] }),
5440
5446
  /* @__PURE__ */ a("div", { className: "ctrans__scrub", children: Ii(w) })
5441
- ] }) }), $i = ol("ga", { tabs: Yt, cur: p, pref: (ps = Yt[0]) == null ? void 0 : ps.key, onPick: y }), Fr = Math.max(0, Math.min(100, Math.round(_))), Bi = Y && /* @__PURE__ */ f("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5447
+ ] }) }), $i = ll("ga", { tabs: Yt, cur: p, pref: (ms = Yt[0]) == null ? void 0 : ms.key, onPick: y }), Wr = Math.max(0, Math.min(100, Math.round(_))), Bi = Y && /* @__PURE__ */ f("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5442
5448
  Ue && /* @__PURE__ */ a("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Ue}/hqdefault.jpg)` } }),
5443
5449
  /* @__PURE__ */ a("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ f(Pe, { children: [
5444
5450
  Ge && /* @__PURE__ */ a("div", { className: "gfull__holdt", children: Ge }),
5445
- /* @__PURE__ */ a("div", { className: "gfull__holdpct", children: Ie === "transcribing" ? `${Fr}%` : /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin" }) }),
5446
- /* @__PURE__ */ a("div", { className: "gfull__holdbar", children: /* @__PURE__ */ a("div", { style: { width: `${Ie === "transcribing" ? Fr : 0}%` } }) }),
5451
+ /* @__PURE__ */ a("div", { className: "gfull__holdpct", children: Ie === "transcribing" ? `${Wr}%` : /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin" }) }),
5452
+ /* @__PURE__ */ a("div", { className: "gfull__holdbar", children: /* @__PURE__ */ a("div", { style: { width: `${Ie === "transcribing" ? Wr : 0}%` } }) }),
5447
5453
  /* @__PURE__ */ f("div", { className: "gfull__holds", children: [
5448
5454
  Ie === "transcribing" ? "Transcribing" : Ie === "cropping" ? "Preparing the video" : "Waiting to start",
5449
5455
  Ie === "transcribing" && (ye != null && ye.segmentsDone) ? ` · ${Rt.toLowerCase()}` : ""
5450
5456
  ] }),
5451
5457
  /* @__PURE__ */ a("div", { className: "gfull__holdn", children: "The video starts as soon as the first lines are transcribed." })
5452
5458
  ] }) : /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) })
5453
- ] }), Wr = d && n && (Ye || Ie === "cropping") ? Math.max(0, Math.min(100, Math.round(_))) : null, un = z(t.onProgress);
5459
+ ] }), Gr = d && n && (Ye || Ie === "cropping") ? Math.max(0, Math.min(100, Math.round(_))) : null, un = z(t.onProgress);
5454
5460
  un.current = t.onProgress, E(() => {
5455
5461
  var w;
5456
- (w = un.current) == null || w.call(un, Wr);
5457
- }, [Wr]);
5462
+ (w = un.current) == null || w.call(un, Gr);
5463
+ }, [Gr]);
5458
5464
  const [Hi, $n] = O(!1), Bn = !!kt && !Y && (Fe ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
5459
5465
  E(() => {
5460
5466
  Bn || $n(!1);
5461
5467
  }, [Bn]);
5462
- const Vi = t.endCard !== !1 && Bn && !Hi && /* @__PURE__ */ a(ac, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => $n(!0), onReplay: () => {
5468
+ const Vi = t.endCard !== !1 && Bn && !Hi && /* @__PURE__ */ a(oc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => $n(!0), onReplay: () => {
5463
5469
  $n(!0), ot.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5464
5470
  } });
5465
5471
  if (d) return /* @__PURE__ */ f(Pe, { children: [
@@ -5468,14 +5474,14 @@ function gc(t) {
5468
5474
  Qn
5469
5475
  ] });
5470
5476
  if (s) {
5471
- const w = vn && !It && !r && /* @__PURE__ */ a("div", { className: "pubdeskctl", children: Vr(!0) }), me = !r && (Yt.length > 0 || It || !!J.sidePanel || !!w);
5477
+ const w = vn && !It && !r && /* @__PURE__ */ a("div", { className: "pubdeskctl", children: Fr(!0) }), me = !r && (Yt.length > 0 || It || !!J.sidePanel || !!w);
5472
5478
  return /* @__PURE__ */ f(Pe, { children: [
5473
5479
  /* @__PURE__ */ a("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ f("div", { className: "gcolhead", children: [
5474
5480
  /* @__PURE__ */ a("div", { className: "gcolhead__main", children: /* @__PURE__ */ f("div", { className: "gcolhead__col", children: [
5475
5481
  /* @__PURE__ */ a("div", { style: { flex: "none" }, children: /* @__PURE__ */ a(Vt, { dark: i, height: 20.38 }) }),
5476
5482
  !r && /* @__PURE__ */ f("div", { className: "dhead__session", children: [
5477
5483
  /* @__PURE__ */ a("span", { className: "t", children: n ? Ge : "" }),
5478
- /* @__PURE__ */ a("span", { className: "s", children: n ? Hr : "" })
5484
+ /* @__PURE__ */ a("span", { className: "s", children: n ? Vr : "" })
5479
5485
  ] })
5480
5486
  ] }) }),
5481
5487
  me && /* @__PURE__ */ a("div", { className: "gcolhead__side" })
@@ -5484,18 +5490,18 @@ function gc(t) {
5484
5490
  /* @__PURE__ */ f("div", { className: "listenerlive__main", children: [
5485
5491
  Pn,
5486
5492
  !r && Wt,
5487
- $r,
5493
+ Br,
5488
5494
  C && /* @__PURE__ */ a("div", { className: "pubflash", children: C }),
5489
- !r && /* @__PURE__ */ a("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: Br }),
5495
+ !r && /* @__PURE__ */ a("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: Hr }),
5490
5496
  !r && /* @__PURE__ */ f("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
5491
5497
  Se.can && /* @__PURE__ */ a("span", { className: "barchip", style: Se.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ a(fn, { flag: Se.flag, code: Se.code, label: Se.label, bordered: !1, onClick: Se.onClick }) }),
5492
- yr
5498
+ Tr
5493
5499
  ] })
5494
5500
  ] }),
5495
- me && /* @__PURE__ */ f(ul, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5501
+ me && /* @__PURE__ */ f(dl, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5496
5502
  !J.sidePanel && w,
5497
- !J.sidePanel && Cr,
5498
- !J.sidePanel && Yt.length > 0 && /* @__PURE__ */ a("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ a(ll, { col: $i, order: ["summary", "export"], onPick: y, grip: { summary: 40, export: 28 }, render: (Re) => /* @__PURE__ */ a(ys, { panel: !0, children: Tr(Re) }) }) }),
5503
+ !J.sidePanel && xr,
5504
+ !J.sidePanel && Yt.length > 0 && /* @__PURE__ */ a("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ a(cl, { col: $i, order: ["summary", "export"], onPick: y, grip: { summary: 40, export: 28 }, render: (Re) => /* @__PURE__ */ a(Ts, { panel: !0, children: Lr(Re) }) }) }),
5499
5505
  J.sidePanel
5500
5506
  ] })
5501
5507
  ] }),
@@ -5505,26 +5511,26 @@ function gc(t) {
5505
5511
  Qn
5506
5512
  ] });
5507
5513
  }
5508
- const Fi = Yt.length > 0 && !j && /* @__PURE__ */ a("div", { className: "txwidget", children: /* @__PURE__ */ f(ys, { panel: !0, children: [
5514
+ const Fi = Yt.length > 0 && !j && /* @__PURE__ */ a("div", { className: "txwidget", children: /* @__PURE__ */ f(Ts, { panel: !0, children: [
5509
5515
  /* @__PURE__ */ a(fi, { tabs: Yt, current: p, onPick: y, gap: p !== "none" }),
5510
- p !== "none" && Tr(p)
5516
+ p !== "none" && Lr(p)
5511
5517
  ] }) });
5512
5518
  return /* @__PURE__ */ f(Pe, { children: [
5513
- /* @__PURE__ */ a(Wl, { dark: i, title: n ? Ge : "", subline: n ? Hr : "", onOptions: () => b(!0), optionsActive: I }),
5519
+ /* @__PURE__ */ a(Gl, { dark: i, title: n ? Ge : "", subline: n ? Vr : "", onOptions: () => b(!0), optionsActive: I }),
5514
5520
  Pn,
5515
- $r,
5521
+ Br,
5516
5522
  !r && Fi,
5517
- !r && Cr,
5523
+ !r && xr,
5518
5524
  !r && /* @__PURE__ */ f("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5519
5525
  Wt,
5520
- Br,
5526
+ Hr,
5521
5527
  C && /* @__PURE__ */ a("div", { className: "txflash", children: C })
5522
5528
  ] }),
5523
5529
  !r && /* @__PURE__ */ f("div", { className: "gbottom", "data-transport": "1", children: [
5524
- vn && !It && /* @__PURE__ */ a("div", { className: "pubctl", children: Vr(!1) }),
5530
+ vn && !It && /* @__PURE__ */ a("div", { className: "pubctl", children: Fr(!1) }),
5525
5531
  /* @__PURE__ */ f("div", { className: "gbottom__bar", children: [
5526
5532
  Se.can && /* @__PURE__ */ a("div", { style: { flex: "none" }, children: Sn({ width: 87 }, void 0) }),
5527
- /* @__PURE__ */ a("div", { style: { flex: 1, minWidth: 0 }, children: yr })
5533
+ /* @__PURE__ */ a("div", { style: { flex: 1, minWidth: 0 }, children: Tr })
5528
5534
  ] })
5529
5535
  ] }),
5530
5536
  !kt && J.sheets,
@@ -5534,27 +5540,27 @@ function gc(t) {
5534
5540
  ] });
5535
5541
  }
5536
5542
  export {
5537
- el as ExportPanel,
5538
- Fl as FullVideo,
5539
- Hl as MiniPlayer,
5540
- Tl as MuteButton,
5541
- Cl as NO_SEEK,
5542
- ml as PAUSE_D,
5543
- yl as PLAY_D,
5544
- Dl as PUB_SIDE,
5545
- wc as PanelSeek,
5546
- co as PlayerApiProvider,
5547
- vs as REMOVE_BG_LABEL,
5543
+ tl as ExportPanel,
5544
+ Wl as FullVideo,
5545
+ Vl as MiniPlayer,
5546
+ Ll as MuteButton,
5547
+ xl as NO_SEEK,
5548
+ yl as PAUSE_D,
5549
+ Tl as PLAY_D,
5550
+ bl as PUB_SIDE,
5551
+ kc as PanelSeek,
5552
+ uo as PlayerApiProvider,
5553
+ js as REMOVE_BG_LABEL,
5548
5554
  Ia as REMOVE_BG_NOTE,
5549
- Yo as ReplayScrub,
5550
- Ho as SpeakerCast,
5551
- rl as SummaryPanel,
5552
- Lc as Transport,
5553
- Al as TxFind,
5554
- Sl as TxLines,
5555
- kc as VocalStackPlayer,
5556
- Vo as VoiceSheetBody,
5557
- pl as YtFollow,
5555
+ _o as ReplayScrub,
5556
+ Vo as SpeakerCast,
5557
+ sl as SummaryPanel,
5558
+ wc as Transport,
5559
+ El as TxFind,
5560
+ Al as TxLines,
5561
+ vc as VocalStackPlayer,
5562
+ Fo as VoiceSheetBody,
5563
+ ml as YtFollow,
5558
5564
  Ca as bedNote,
5559
5565
  $t as browserFull,
5560
5566
  Ot as lineEnd,
@@ -5562,25 +5568,25 @@ export {
5562
5568
  Jn as pictureT,
5563
5569
  gn as placePosition,
5564
5570
  hn as realFull,
5565
- Tc as setErrorReporter,
5566
- Rs as setFullTarget,
5567
- Nl as snapPosition,
5568
- _s as spokenWordOf,
5571
+ Lc as setErrorReporter,
5572
+ Ps as setFullTarget,
5573
+ pl as snapPosition,
5574
+ Us as spokenWordOf,
5569
5575
  xa as trackPlan,
5570
5576
  ci as useApi,
5571
- qo as useArchiveVoice,
5577
+ Ko as useArchiveVoice,
5572
5578
  Ra as useBackgroundBed,
5573
- jl as useDuck,
5574
- El as useFindPull,
5575
- Ll as useFlash,
5579
+ zl as useDuck,
5580
+ Yl as useFindPull,
5581
+ wl as useFlash,
5576
5582
  Ct as usePlayerApi,
5577
- ri as useSeparatedTrack,
5578
- tl as useSummaryIn,
5579
- wo as useTranscript,
5580
- Il as useTxPlayer,
5581
- bl as useTxVoice,
5582
- Po as useViewportTranslation,
5583
- Go as useVoiceCatalogue,
5584
- zl as useYtLead
5583
+ si as useSeparatedTrack,
5584
+ nl as useSummaryIn,
5585
+ ko as useTranscript,
5586
+ Ol as useTxPlayer,
5587
+ Sl as useTxVoice,
5588
+ Qo as useViewportTranslation,
5589
+ Zo as useVoiceCatalogue,
5590
+ Il as useYtLead
5585
5591
  };
5586
5592
  //# sourceMappingURL=index.js.map