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

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,7 +2,7 @@ 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 Ie, 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 $s, useMemo as ze, useContext as qi, useCallback as tt, Fragment as Ki } from "react";
6
6
  import { createPortal as Ji } from "react-dom";
7
7
  import { VocalStackError as Bs, VocalStack as Hs } from "@vocalstack/js-sdk";
8
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==";
@@ -966,16 +966,16 @@ function ni({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
966
966
  E(() => {
967
967
  t && (p(""), j(!1), N(null));
968
968
  }, [t]);
969
- const h = Ie(() => {
969
+ const h = ze(() => {
970
970
  const b = M.trim().toLowerCase();
971
971
  return [...b ? s.filter((v) => v.label.toLowerCase().includes(b) || v.native.toLowerCase().includes(b) || v.code.toLowerCase().includes(b)) : s].sort((v, S) => {
972
972
  const ne = l.indexOf(v.code), $ = l.indexOf(S.code);
973
973
  return ne !== -1 || $ !== -1 ? (ne === -1 ? 999 : ne) - ($ === -1 ? 999 : $) : v.label.localeCompare(S.label);
974
974
  });
975
- }, [s, M, l]), C = Ie(
975
+ }, [s, M, l]), C = ze(
976
976
  () => M ? [] : c.map((b) => h.find((Q) => Q.code === b)).filter((b) => !!b).sort((b, Q) => b.label.localeCompare(Q.label)),
977
977
  [c, h, M]
978
- ), D = Ie(() => C.length ? h.filter((b) => !C.some((Q) => Q.code === b.code)) : h, [h, C]), k = y || M ? D : D.slice(0, 12), te = D.length - k.length, R = (b, Q = !1) => {
978
+ ), D = ze(() => C.length ? h.filter((b) => !C.some((Q) => Q.code === b.code)) : h, [h, C]), k = y || M ? D : D.slice(0, 12), te = D.length - k.length, R = (b, Q = !1) => {
979
979
  const L = !!u && !b.voice;
980
980
  return /* @__PURE__ */ f(
981
981
  "button",
@@ -1205,7 +1205,7 @@ function Ba(t, e, n, r = Qa) {
1205
1205
  return i;
1206
1206
  }
1207
1207
  function Ha(t) {
1208
- const e = Ie(() => {
1208
+ const e = ze(() => {
1209
1209
  const c = /* @__PURE__ */ new Map();
1210
1210
  for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
1211
1211
  return c;
@@ -1734,11 +1734,11 @@ function go(t) {
1734
1734
  function ci(t) {
1735
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);
1736
1736
  i.current = t.token;
1737
- const o = !!t.token, l = Ie(() => async () => {
1737
+ const o = !!t.token, l = ze(() => async () => {
1738
1738
  const d = i.current;
1739
1739
  return (typeof d == "function" ? await d() : d) || void 0;
1740
- }, []), c = t.client ?? null, u = Ie(() => c ?? new Hs({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1741
- return Ie(() => {
1740
+ }, []), c = t.client ?? null, u = ze(() => c ?? new Hs({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1741
+ return ze(() => {
1742
1742
  if (e) return { client: u, origin: s, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
1743
1743
  if (n) return { client: u, origin: s, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
1744
1744
  const d = r ? null : t.id || null;
@@ -1862,15 +1862,15 @@ function wo(t, e) {
1862
1862
  return (async () => {
1863
1863
  var $, U, Me, P;
1864
1864
  for (; Q; ) {
1865
- let H = null;
1865
+ let V = null;
1866
1866
  try {
1867
1867
  const oe = c.current;
1868
- if (H = await v.recordings.subscribe(t, { lang: oe ?? void 0, ...n.readAs, asOwner: n.owner, voice: e.voice ?? void 0 }), !Q) {
1869
- H.close();
1868
+ if (V = await v.recordings.subscribe(t, { lang: oe ?? void 0, ...n.readAs, asOwner: n.owner, voice: e.voice ?? void 0 }), !Q) {
1869
+ V.close();
1870
1870
  return;
1871
1871
  }
1872
- L = 0, l.current = H, c.current !== oe && H.setLanguage(c.current), d(!0), M(null), o.current = Wn(H.snapshot, o.current), j(), ne();
1873
- for await (const re of H) {
1872
+ L = 0, l.current = V, c.current !== oe && V.setLanguage(c.current), d(!0), M(null), o.current = Wn(V.snapshot, o.current), j(), ne();
1873
+ for await (const re of V) {
1874
1874
  if (!Q) break;
1875
1875
  if (re.type === "snapshot")
1876
1876
  o.current = Wn(re.snapshot, re.reason === "gap" ? o.current : _t()), j(), ne();
@@ -1906,7 +1906,7 @@ function wo(t, e) {
1906
1906
  }
1907
1907
  M(re);
1908
1908
  } finally {
1909
- l.current === H && (l.current = null), d(!1);
1909
+ l.current === V && (l.current = null), d(!1);
1910
1910
  }
1911
1911
  const ae = o.current.state;
1912
1912
  if (!Q || ae === "ended" || ae === "finalized" || ae === "processing") return;
@@ -2238,7 +2238,7 @@ function Ro({ onOpen: t, alone: e }) {
2238
2238
  ] });
2239
2239
  }
2240
2240
  function Po(t, e, n, r) {
2241
- const s = Ct(), [i, o] = O([]), [l, c] = O(0), u = z(/* @__PURE__ */ new Set()), d = z(!1), g = Ie(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
2241
+ 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
2242
  E(() => {
2243
2243
  u.current = /* @__PURE__ */ new Set();
2244
2244
  }, [t, e]);
@@ -2321,7 +2321,7 @@ function Ss(t) {
2321
2321
  function As(t, e, n = !0) {
2322
2322
  const r = e.filter((o) => !o.cloned), s = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map();
2323
2323
  for (const o of t) {
2324
- 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) ?? (o.name ? e.find((M) => M.cloned && !M.auto && M.consent !== "pending" && M.name === o.name) : void 0) : void 0);
2324
+ 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);
2325
2325
  if (c) {
2326
2326
  i.set(o.key, c.id), s.add(c.id);
2327
2327
  continue;
@@ -2363,7 +2363,7 @@ function Ho({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2363
2363
  }) }) : null;
2364
2364
  }
2365
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 = Ie(() => $o(e, y), [e, y]), [T, N] = O({});
2366
+ const j = ze(() => $o(e, y), [e, y]), [T, N] = O({});
2367
2367
  E(() => {
2368
2368
  N({});
2369
2369
  }, [d, g]);
@@ -2485,16 +2485,16 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2485
2485
  if (!t || !e) return null;
2486
2486
  const $ = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
2487
2487
  return { recordingId: t, lang: e, rows: $.filter((U) => U.lang === e) };
2488
- }, [t, e, o, n]), u = Ie(
2488
+ }, [t, e, o, n]), u = ze(
2489
2489
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2490
2490
  [l, e, t]
2491
- ), d = Ie(() => 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) => {
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) => {
2492
2492
  if (!t || !e || !n) return;
2493
- const Me = U != null && U.size ? null : Ss($), P = U != null && U.size ? U : Me, H = P && P.size ? Object.fromEntries([...P].map(([we, pe]) => [String(we), pe])) : null, ae = `${t}|${e}|${H ? JSON.stringify(H) : $ ?? ""}`;
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) : $ ?? ""}`;
2494
2494
  if (T.current.has(ae)) return;
2495
2495
  T.current.add(ae), p(ae), j(null);
2496
2496
  const oe = { langs: [e] };
2497
- H ? oe.voiceBySpeaker = H : $ && (oe.voice = $);
2497
+ V ? oe.voiceBySpeaker = V : $ && (oe.voice = $);
2498
2498
  const re = await Cs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: oe }).catch(() => null);
2499
2499
  if (p((we) => we === ae ? null : we), !(re != null && re.ok)) {
2500
2500
  T.current.delete(ae);
@@ -2507,14 +2507,14 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2507
2507
  const $ = `${t ?? ""}|${e ?? ""}|`;
2508
2508
  for (const U of [...T.current]) U.startsWith($) && T.current.delete(U);
2509
2509
  j(null);
2510
- }, [t, e]), D = !!d && (d.state === "queued" || d.state === "running") || M === N, k = (d == null ? void 0 : d.state) === "failed" ? d.error || "the render failed" : y, te = (i == null ? void 0 : i.join(",")) ?? "", [R, X] = O(null), I = Ie(() => new Set((d == null ? void 0 : d.clips) ?? []), [d]), b = Ie(() => n && te ? te.split(",").map(Number).filter(($) => !I.has($)) : [], [n, te, I]), Q = z(null);
2510
+ }, [t, e]), D = !!d && (d.state === "queued" || d.state === "running") || M === N, k = (d == null ? void 0 : d.state) === "failed" ? d.error || "the render failed" : y, te = (i == null ? void 0 : i.join(",")) ?? "", [R, X] = O(null), I = ze(() => new Set((d == null ? void 0 : d.clips) ?? []), [d]), b = ze(() => n && te ? te.split(",").map(Number).filter(($) => !I.has($)) : [], [n, te, I]), Q = z(null);
2511
2511
  E(() => {
2512
2512
  if (!n || !t || !e || !b.length) return;
2513
2513
  const $ = R ?? b[0], U = b.find((oe) => oe >= $) ?? b[0], Me = `${t}|${e}|${g ?? ""}`, P = Q.current;
2514
2514
  if (P && P.key === Me && Math.abs(P.near - U) < 12 && Date.now() - P.at < 6e4) return;
2515
2515
  Q.current = { key: Me, near: U, at: Date.now() };
2516
- const H = Ss(g), ae = { langs: [e], near: U };
2517
- H && H.size ? ae.voiceBySpeaker = Object.fromEntries([...H].map(([oe, re]) => [String(oe), re])) : g && (ae.voice = g), Cs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ae }).then((oe) => {
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) => {
2518
2518
  oe.ok || (Q.current = null);
2519
2519
  }).catch(() => {
2520
2520
  Q.current = null;
@@ -2529,11 +2529,11 @@ function qo({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2529
2529
  }, 3e3);
2530
2530
  return () => clearInterval($);
2531
2531
  }, [L, c, I]);
2532
- const S = Ie(() => {
2532
+ const S = ze(() => {
2533
2533
  if (!t) return [];
2534
2534
  const $ = te ? te.split(",").map(Number).filter((Me) => !n || I.has(Me)) : void 0, U = d ?? ($ != null && $.length && e ? { lang: e, voiceKey: s ?? "", clips: [], voice: null } : null);
2535
2535
  return ma(U, t, o.origin, r, $);
2536
- }, [d, t, o, r, te, e, s, n, I]), ne = Ie(() => new Set(b), [b]);
2536
+ }, [d, t, o, r, te, e, s, n, I]), ne = ze(() => new Set(b), [b]);
2537
2537
  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
2538
  }
2539
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 };
@@ -3083,7 +3083,7 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3083
3083
  S.current = n;
3084
3084
  const ne = z(g);
3085
3085
  ne.current = g;
3086
- const $ = z(null), U = z(null), [Me, P] = O(!1), [H, ae] = O(!1), oe = () => {
3086
+ const $ = z(null), U = z(null), [Me, P] = O(!1), [V, ae] = O(!1), oe = () => {
3087
3087
  D("unloadModule", ["captions"]), D("unloadModule", ["cc"]);
3088
3088
  }, re = z([]), we = () => {
3089
3089
  oe(), re.current.forEach(clearTimeout), re.current = [400, 1200, 2500, 5e3].map((Z) => window.setTimeout(oe, Z));
@@ -3098,7 +3098,7 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3098
3098
  (!b.current || b.current.muted) && D("mute"), ae(!0);
3099
3099
  };
3100
3100
  E(() => (d == null || d.bind(D), () => d == null ? void 0 : d.bind(null)), [!!d]), E(() => {
3101
- !d && H && D("mute");
3101
+ !d && V && D("mute");
3102
3102
  }, [!!d]);
3103
3103
  const Ce = z(null), xe = z(l);
3104
3104
  xe.current = l;
@@ -3116,8 +3116,8 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3116
3116
  }, Ne = () => $.current;
3117
3117
  return E(() => {
3118
3118
  const Z = (de) => {
3119
- var je, fe, ge, q, ze, $e, ye, be, He, Oe, Ye, Y, _, B, ee, ie;
3120
- if (de.source !== ((je = p.current) == null ? void 0 : je.contentWindow) || typeof de.data != "string") return;
3119
+ var ve, fe, ge, q, je, $e, ye, be, He, Ie, Ye, Y, _, B, ee, ie;
3120
+ if (de.source !== ((ve = p.current) == null ? void 0 : ve.contentWindow) || typeof de.data != "string") return;
3121
3121
  let W = null;
3122
3122
  try {
3123
3123
  W = JSON.parse(de.data);
@@ -3126,14 +3126,14 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3126
3126
  }
3127
3127
  (ge = (fe = W == null ? void 0 : W.info) == null ? void 0 : fe.videoData) != null && ge.isLive && (te.current = !0);
3128
3128
  const De = (q = W == null ? void 0 : W.info) == null ? void 0 : q.duration;
3129
- typeof De == "number" && De > 0 && !te.current && (k.current == null ? k.current = De : (R.current = Math.abs(De - k.current) > 1.5, v())), (W == null ? void 0 : W.event) === "onReady" && ((!b.current || b.current.muted) && D("mute"), we(), (ze = b.current) == null || ze.onInfo({ ready: !0 })), typeof (($e = W == null ? void 0 : W.info) == null ? void 0 : $e.playerState) == "number" && (W.info.playerState !== U.current && (W.info.playerState === 1 || W.info.playerState === 2) && we(), U.current = W.info.playerState, P(W.info.playerState === 2 || W.info.playerState === 0), (ye = b.current) == null || ye.onInfo({ state: W.info.playerState }));
3130
- const V = (be = W == null ? void 0 : W.info) == null ? void 0 : be.progressState;
3131
- if (V && typeof V.seekableStart == "number" && typeof V.seekableEnd == "number" && V.seekableEnd > V.seekableStart) {
3129
+ typeof De == "number" && De > 0 && !te.current && (k.current == null ? k.current = De : (R.current = Math.abs(De - k.current) > 1.5, v())), (W == null ? void 0 : W.event) === "onReady" && ((!b.current || b.current.muted) && D("mute"), we(), (je = b.current) == null || je.onInfo({ ready: !0 })), typeof (($e = W == null ? void 0 : W.info) == null ? void 0 : $e.playerState) == "number" && (W.info.playerState !== U.current && (W.info.playerState === 1 || W.info.playerState === 2) && we(), U.current = W.info.playerState, P(W.info.playerState === 2 || W.info.playerState === 0), (ye = b.current) == null || ye.onInfo({ state: W.info.playerState }));
3130
+ const F = (be = W == null ? void 0 : W.info) == null ? void 0 : be.progressState;
3131
+ if (F && typeof F.seekableStart == "number" && typeof F.seekableEnd == "number" && F.seekableEnd > F.seekableStart) {
3132
3132
  const Te = Ce.current == null;
3133
- if (Ce.current = { start: V.seekableStart, end: V.seekableEnd }, Te && !Qe.current && (D("pauseVideo"), m(S.current) || D("seekTo", [S.current, !0])), !Ae.current && xe.current != null) {
3133
+ if (Ce.current = { start: F.seekableStart, end: F.seekableEnd }, Te && !Qe.current && (D("pauseVideo"), m(S.current) || D("seekTo", [S.current, !0])), !Ae.current && xe.current != null) {
3134
3134
  Ae.current = !0;
3135
- const _e = xe.current < V.seekableStart - 1;
3136
- (He = ke.current) == null || He.call(ke, _e), _e && ((Oe = ce.current) == null || Oe.call(ce));
3135
+ const _e = xe.current < F.seekableStart - 1;
3136
+ (He = ke.current) == null || He.call(ke, _e), _e && ((Ie = ce.current) == null || Ie.call(ce));
3137
3137
  }
3138
3138
  }
3139
3139
  typeof ((Ye = W == null ? void 0 : W.info) == null ? void 0 : Ye.currentTime) == "number" && ($.current = W.info.currentTime, (Y = b.current) == null || Y.onInfo({ t: W.info.currentTime }), !N.current && U.current === 1 && ((_ = ne.current) == null || _.call(ne, W.info.currentTime))), ((B = W == null ? void 0 : W.info) == null ? void 0 : B.muted) === !1 && !b.current && D("mute"), typeof ((ee = W == null ? void 0 : W.info) == null ? void 0 : ee.muted) == "boolean" && ((ie = b.current) == null || ie.onInfo({ muted: W.info.muted }));
@@ -3142,30 +3142,30 @@ function pl({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: i, onAd:
3142
3142
  }, []), E(() => {
3143
3143
  if (d) return;
3144
3144
  const Z = m(n);
3145
- Z !== se && (le(Z), Z ? D("pauseVideo") : H && (D("seekTo", [n, !0]), T && D("playVideo")));
3145
+ Z !== se && (le(Z), Z ? D("pauseVideo") : V && (D("seekTo", [n, !0]), T && D("playVideo")));
3146
3146
  }), E(() => {
3147
- if (!H || se || d) return;
3147
+ if (!V || se || d) return;
3148
3148
  if (!T && Ce.current == null && !G.current) {
3149
3149
  G.current = !0, D("seekTo", [S.current, !0]), D("playVideo");
3150
3150
  return;
3151
3151
  }
3152
3152
  const Z = Ne();
3153
3153
  T && (Z == null || Math.abs(Z - S.current) > 1.5) && A(), D(T ? "playVideo" : "pauseVideo");
3154
- }, [T, H, se]), E(() => {
3155
- if (!H || s === 0 || se || d) return;
3154
+ }, [T, V, se]), E(() => {
3155
+ if (!V || s === 0 || se || d) return;
3156
3156
  const Z = Ne();
3157
3157
  (Z == null || Math.abs(Z - S.current) > 0.5) && A(), T || D("pauseVideo");
3158
- }, [s, H]), E(() => {
3159
- if (!H) return;
3158
+ }, [s, V]), E(() => {
3159
+ if (!V) return;
3160
3160
  let Z = null, de = 0;
3161
3161
  const W = setInterval(() => {
3162
3162
  const De = $.current;
3163
3163
  de = U.current === 1 && De != null && Z != null && Math.abs(De - Z) < 0.05 ? de + 1 : 0, Z = De;
3164
- const V = de >= 3;
3165
- V !== X.current && (X.current = V, v());
3164
+ const F = de >= 3;
3165
+ F !== X.current && (X.current = F, v());
3166
3166
  }, 1e3);
3167
3167
  return () => clearInterval(W);
3168
- }, [H]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
3168
+ }, [V]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
3169
3169
  /* @__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
3170
  !h && /* @__PURE__ */ a("div", { "aria-hidden": "true", className: "txyt__tap", onClick: i, style: { cursor: i ? "pointer" : "default" } }),
3171
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 }) }) }),
@@ -3224,7 +3224,7 @@ function zl(t, e, n, r) {
3224
3224
  }, R = (G, ce) => {
3225
3225
  var ke;
3226
3226
  return (ke = s.current) == null ? void 0 : ke.call(s, G, ce);
3227
- }, X = l === 1 || l === 3, I = z(null), b = z(null), Q = Ie(() => ({
3227
+ }, X = l === 1 || l === 3, I = z(null), b = z(null), Q = ze(() => ({
3228
3228
  muted: !0,
3229
3229
  bind: (G) => {
3230
3230
  s.current = G, G || (i.current = !1);
@@ -3253,7 +3253,7 @@ function zl(t, e, n, r) {
3253
3253
  }, [C, r, p]), E(() => {
3254
3254
  r == null && k.current && (te(!1), R("playVideo"));
3255
3255
  }, [r]);
3256
- const L = t.length ? ((Qe = t[t.length - 1].words[t[t.length - 1].words.length - 1]) == null ? void 0 : Qe.end) ?? t[t.length - 1].start + 4 : 0, v = e || L || 1, S = Ie(() => {
3256
+ const L = t.length ? ((Qe = t[t.length - 1].words[t[t.length - 1].words.length - 1]) == null ? void 0 : Qe.end) ?? t[t.length - 1].start + 4 : 0, v = e || L || 1, S = ze(() => {
3257
3257
  if (!t.length) return 0;
3258
3258
  let G = 0;
3259
3259
  for (let ce = 0; ce < t.length; ce++) t[ce].start <= p + 0.05 && (G = ce);
@@ -3269,7 +3269,7 @@ function zl(t, e, n, r) {
3269
3269
  R("playVideo");
3270
3270
  }, P = () => {
3271
3271
  o.current = !1, te(!1), R("pauseVideo");
3272
- }, H = () => {
3272
+ }, V = () => {
3273
3273
  if (!i.current) {
3274
3274
  o.current = !0;
3275
3275
  return;
@@ -3313,7 +3313,7 @@ function zl(t, e, n, r) {
3313
3313
  dur: v,
3314
3314
  muted: u,
3315
3315
  seekN: ne,
3316
- toggle: H,
3316
+ toggle: V,
3317
3317
  seekRow: ae,
3318
3318
  toggleMute: () => {
3319
3319
  const G = !g.current;
@@ -3417,12 +3417,12 @@ function Il(t, e, n, r, s = 0, i = null) {
3417
3417
  };
3418
3418
  return m = requestAnimationFrame(A), () => cancelAnimationFrame(m);
3419
3419
  }, [l]);
3420
- const U = Ie(() => {
3420
+ const U = ze(() => {
3421
3421
  if (!n.length) return 0;
3422
3422
  let m = 0;
3423
3423
  for (let A = 0; A < n.length; A++) n[A].start <= u + 0.05 && (m = A);
3424
3424
  return m;
3425
- }, [n, u]), [Me, P] = O(0), H = (m) => {
3425
+ }, [n, u]), [Me, P] = O(0), V = (m) => {
3426
3426
  const A = L.current != null ? Math.min(m, Math.max(0, L.current - 0.5)) : m, Ne = o.current;
3427
3427
  d(A), Ne && (Ne.currentTime = A + C.current), P((Z) => Z + 1);
3428
3428
  }, ae = (m) => {
@@ -3446,13 +3446,13 @@ function Il(t, e, n, r, s = 0, i = null) {
3446
3446
  $(!1);
3447
3447
  return;
3448
3448
  }
3449
- m.currentTime < C.current && (m.currentTime = C.current), u >= I - 0.25 && H(0), m.play().catch(ae);
3449
+ m.currentTime < C.current && (m.currentTime = C.current), u >= I - 0.25 && V(0), m.play().catch(ae);
3450
3450
  }, re = (m) => {
3451
3451
  const A = n[Math.max(0, Math.min(n.length - 1, m))];
3452
- A && H(A.start);
3453
- }, we = (m) => H(Math.max(0, Math.min(1, m)) * I), pe = (m) => {
3452
+ A && V(A.start);
3453
+ }, we = (m) => V(Math.max(0, Math.min(1, m)) * I), pe = (m) => {
3454
3454
  const A = gn(m, n, I);
3455
- H(A.t);
3455
+ V(A.t);
3456
3456
  const Ne = o.current;
3457
3457
  if (Ne) {
3458
3458
  if (!A.playing) {
@@ -3461,7 +3461,7 @@ function Il(t, e, n, r, s = 0, i = null) {
3461
3461
  }
3462
3462
  $(!1), Ne.play().catch(ae);
3463
3463
  }
3464
- }, Ce = (m) => H(m.start), xe = (m) => {
3464
+ }, Ce = (m) => V(m.start), xe = (m) => {
3465
3465
  re(m);
3466
3466
  const A = o.current;
3467
3467
  A && A.paused && A.play().catch(ae);
@@ -3547,8 +3547,8 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3547
3547
  h.current = T;
3548
3548
  const [C, D] = O(null), [k, te] = O(null), [R, X] = O(null), [I, b] = O(null), Q = z(I);
3549
3549
  Q.current = I;
3550
- const [L, v] = O(null), [S, ne] = O(null), [$, U] = O(null), [Me, P] = O(!1), H = z(e);
3551
- H.current = e;
3550
+ const [L, v] = O(null), [S, ne] = O(null), [$, U] = O(null), [Me, P] = O(!1), V = z(e);
3551
+ V.current = e;
3552
3552
  const ae = z(o), oe = z([]);
3553
3553
  ae.current = o, u.current && (u.current.flow = o);
3554
3554
  const re = z(null), we = z(s);
@@ -3558,13 +3558,13 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3558
3558
  const Ce = tt((Y) => {
3559
3559
  Y.finite = !0, Y.coming = (_) => c.current.has(_), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (_) => te(_), Y.onStarting = (_) => X(_), Y.onSentence = (_) => {
3560
3560
  if (g(Y.playing), _ == null) return;
3561
- const B = H.current.findIndex((ee) => ee.sentenceId === _);
3561
+ const B = V.current.findIndex((ee) => ee.sentenceId === _);
3562
3562
  B >= 0 && p(B);
3563
3563
  }, Y.onError = (_) => {
3564
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." });
3565
3565
  }, Y.gapBefore = (_, B) => {
3566
3566
  if (!ae.current) return 0;
3567
- const ee = H.current, ie = ee.find((Le) => Le.sentenceId === _), Te = ee.find((Le) => Le.sentenceId === B);
3567
+ const ee = V.current, ie = ee.find((Le) => Le.sentenceId === _), Te = ee.find((Le) => Le.sentenceId === B);
3568
3568
  if (!Te) return 0;
3569
3569
  const _e = Q.current;
3570
3570
  if (_ == null) return _e && _e.sid === B ? Math.max(0, Te.start - _e.t) : 0;
@@ -3572,20 +3572,20 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3572
3572
  return Ee && Date.now() - Ee.at < 2e3 ? Math.max(0, Te.start - (Ee.t + (Date.now() - Ee.at) / 1e3 * Y.rate)) : !ie || Te.start <= ie.start ? 0 : Math.max(0, Te.start - Ot(ie, ie.start, ie.start + 4));
3573
3573
  }, Y.flow = ae.current, Y.silentSpan = (_) => {
3574
3574
  var qe;
3575
- const B = H.current, ee = B.findIndex((at) => at.sentenceId === _), ie = B[ee];
3575
+ const B = V.current, ee = B.findIndex((it) => it.sentenceId === _), ie = B[ee];
3576
3576
  if (!ie) return null;
3577
3577
  const Te = ((qe = B[ee + 1]) == null ? void 0 : qe.start) ?? Ot(ie, ie.start, ie.start + 4), _e = Math.max(0, Te - ie.start), Ee = re.current, Le = Ee && Date.now() - Ee.at < 2e3 ? Ee.t + (Date.now() - Ee.at) / 1e3 * (Y.rate || 1) : ie.start, Ve = Math.max(0, Math.min(_e, Le - ie.start));
3578
3578
  return { fromS: Ve, ms: (_e - Ve) * 1e3 / (Y.rate || 1) };
3579
3579
  }, Y.speakable = (_) => {
3580
3580
  const B = we.current;
3581
3581
  if (!B || !B.size) return !0;
3582
- const ee = H.current.find((ie) => ie.sentenceId === _);
3582
+ const ee = V.current.find((ie) => ie.sentenceId === _);
3583
3583
  return !ee || !B.has(ee.speaker);
3584
3584
  };
3585
3585
  }, []), xe = z(null), Qe = z(null), G = z(null), [ce, ke] = O(!1), Ae = z(() => {
3586
3586
  }), se = (Y) => {
3587
3587
  if (G.current = Y, ke(!!(Y != null && Y.playing)), !Y) return;
3588
- const _ = gn(Y, H.current, V).index;
3588
+ const _ = gn(Y, V.current, F).index;
3589
3589
  p(_), fe.current = _;
3590
3590
  }, le = () => {
3591
3591
  G.current && se(null);
@@ -3602,7 +3602,7 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3602
3602
  const _ = G.current;
3603
3603
  _ && (ae.current || t.some((ee) => ee.sentenceId >= (_.sentenceId ?? 0))) && (se(null), Ae.current(_));
3604
3604
  }, [r, t]);
3605
- const m = Ie(() => o ? e.map((Y) => Y.sentenceId).filter((Y) => Y != null) : [], [e, o]);
3605
+ const m = ze(() => o ? e.map((Y) => Y.sentenceId).filter((Y) => Y != null) : [], [e, o]);
3606
3606
  oe.current = m, E(() => {
3607
3607
  var Y;
3608
3608
  (Y = u.current) == null || Y.setSequence(m);
@@ -3629,14 +3629,14 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3629
3629
  const _ = setInterval(Y, 100);
3630
3630
  return () => clearInterval(_);
3631
3631
  }, [d, A]);
3632
- const Ne = Ie(() => new Set(t.map((Y) => Y.sentenceId)), [t]), Z = (Y) => {
3632
+ const Ne = ze(() => new Set(t.map((Y) => Y.sentenceId)), [t]), Z = (Y) => {
3633
3633
  var B;
3634
3634
  const _ = (B = e[Y]) == null ? void 0 : B.sentenceId;
3635
3635
  return _ != null && Ne.has(_);
3636
3636
  }, de = (Y, _) => {
3637
3637
  for (let B = Y; B >= 0 && B < e.length; B += _) if (Z(B)) return B;
3638
3638
  return null;
3639
- }, W = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), De = e.length ? e[e.length - 1].start + 4 : 0, V = n || De || 1, je = z(!1), fe = z(M);
3639
+ }, W = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), De = e.length ? e[e.length - 1].start + 4 : 0, F = n || De || 1, ve = z(!1), fe = z(M);
3640
3640
  fe.current = M;
3641
3641
  const ge = (Y) => {
3642
3642
  var _, B, ee;
@@ -3645,22 +3645,22 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3645
3645
  var B, ee, ie;
3646
3646
  const _ = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
3647
3647
  p(_), fe.current = _, j((Te) => Te + 1), (ee = u.current) == null || ee.seek(((B = e[_]) == null ? void 0 : B.sentenceId) ?? null), g(!!((ie = u.current) != null && ie.playing));
3648
- }, ze = (Y) => {
3648
+ }, je = (Y) => {
3649
3649
  var _;
3650
3650
  le(), b(null), (_ = u.current) == null || _.startWithin(-1, 0), q(Y);
3651
3651
  }, $e = (Y) => {
3652
3652
  var ie;
3653
- const _ = e[Y], B = (_ == null ? void 0 : _.start) ?? 0, ee = ((ie = e[Y + 1]) == null ? void 0 : ie.start) ?? Ot(_, B, V);
3653
+ const _ = e[Y], B = (_ == null ? void 0 : _.start) ?? 0, ee = ((ie = e[Y + 1]) == null ? void 0 : ie.start) ?? Ot(_, B, F);
3654
3654
  return { from: B, span: Math.max(0, ee - B) };
3655
3655
  }, 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
3656
  E(() => {
3657
- Qe.current = G.current ?? Nl(e, He, d, V);
3657
+ Qe.current = G.current ?? Nl(e, He, d, F);
3658
3658
  });
3659
- const Oe = {
3659
+ const Ie = {
3660
3660
  playing: d || ce,
3661
3661
  t: He,
3662
3662
  idx: W,
3663
- dur: V,
3663
+ dur: F,
3664
3664
  muted: T,
3665
3665
  wordSync: !1,
3666
3666
  timed: o,
@@ -3706,20 +3706,20 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3706
3706
  var Y, _, B;
3707
3707
  le(), (Y = u.current) == null || Y.pause(), g(!1), p(0), v(null), (B = u.current) == null || B.seek(((_ = e[0]) == null ? void 0 : _.sentenceId) ?? null);
3708
3708
  },
3709
- seekRow: ze,
3709
+ seekRow: je,
3710
3710
  resumeAt: (Y) => {
3711
3711
  se(Y), t.some((_) => _.sentenceId >= (Y.sentenceId ?? 0)) && (se(null), Ae.current(Y));
3712
3712
  },
3713
3713
  seekFrac: (Y) => {
3714
- var at, Tt, Mt;
3714
+ var it, Tt, gt;
3715
3715
  le();
3716
- const _ = Math.max(0, Math.min(1, Y)) * V;
3716
+ const _ = Math.max(0, Math.min(1, Y)) * F;
3717
3717
  let B = 0;
3718
3718
  for (let We = 0; We < e.length; We++) e[We].start <= _ && (B = We);
3719
3719
  const ee = e[B], ie = o && ee && _ < ee.start - 0.05;
3720
3720
  if (o && ee && (ie || e[B + 1] && _ >= Ot(ee, ee.start, ee.start + 4))) {
3721
3721
  const We = ie ? B : B + 1, Ue = e[We];
3722
- (at = u.current) == null || at.startWithin(-1, 0);
3722
+ (it = u.current) == null || it.startWithin(-1, 0);
3723
3723
  const nt = { t: _, sid: Ue.sentenceId ?? null };
3724
3724
  Q.current = nt, b(nt), q(We);
3725
3725
  return;
@@ -3733,7 +3733,7 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3733
3733
  const Ue = ee.words[We], nt = Ue.end > Ue.start ? Math.max(0, Math.min(1, (_ - Ue.start) / (Ue.end - Ue.start))) : 0;
3734
3734
  Le = Math.min(1, (Ve[We][0] + nt * (Ve[We][1] - Ve[We][0])) / qe);
3735
3735
  }
3736
- Te != null && ((Mt = u.current) == null || Mt.startWithin(Te, Le)), b(Le > 0.01 ? { t: _, sid: Te } : null), q(B);
3736
+ Te != null && ((gt = u.current) == null || gt.startWithin(Te, Le)), b(Le > 0.01 ? { t: _, sid: Te } : null), q(B);
3737
3737
  },
3738
3738
  seekWord: i ? (Y) => {
3739
3739
  var ie, Te, _e, Ee;
@@ -3750,18 +3750,18 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3750
3750
  },
3751
3751
  prev: () => {
3752
3752
  const Y = de(W - 1, -1);
3753
- Y != null && ze(Y);
3753
+ Y != null && je(Y);
3754
3754
  },
3755
3755
  next: () => {
3756
3756
  const Y = de(W + 1, 1);
3757
- Y != null && ze(Y);
3757
+ Y != null && je(Y);
3758
3758
  },
3759
3759
  hold: () => {
3760
3760
  var Y;
3761
- d && ((Y = u.current) == null || Y.pause(), je.current = !0);
3761
+ d && ((Y = u.current) == null || Y.pause(), ve.current = !0);
3762
3762
  },
3763
3763
  release: () => {
3764
- je.current && (je.current = !1, ge(fe.current));
3764
+ ve.current && (ve.current = !1, ge(fe.current));
3765
3765
  },
3766
3766
  clearError: () => D(null),
3767
3767
  setVolume: (Y) => {
@@ -3777,51 +3777,51 @@ function Ol(t, e, n, r, s, i, o = !1, l) {
3777
3777
  const B = ((Te = u.current) == null ? void 0 : Te.resting()) ?? null;
3778
3778
  ne((B == null ? void 0 : B.s) ?? null), P(!!(B != null && B.silent)), g(!!((_e = u.current) != null && _e.playing));
3779
3779
  }
3780
- return Oe.joinAt = o ? (Y) => {
3781
- le(), Ye(gn({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, V).index);
3780
+ return Ie.joinAt = o ? (Y) => {
3781
+ le(), Ye(gn({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, F).index);
3782
3782
  } : void 0, Ae.current = (Y) => {
3783
3783
  var B;
3784
- const _ = gn(Y, e, V);
3784
+ const _ = gn(Y, e, F);
3785
3785
  if (ae.current) {
3786
3786
  p(_.index), fe.current = _.index, _.playing && Ye(_.index);
3787
3787
  return;
3788
3788
  }
3789
- (B = Oe.seekFrac) == null || B.call(Oe, _.t / V), _.playing && ge(fe.current);
3790
- }, Oe;
3789
+ (B = Ie.seekFrac) == null || B.call(Ie, _.t / F), _.playing && ge(fe.current);
3790
+ }, Ie;
3791
3791
  }
3792
3792
  const Cl = () => {
3793
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
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 }) {
3795
3795
  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, H] = O(!1), [ae, oe] = O(!1), [re, we] = O(!1), pe = u ?? l, Ce = u === null, xe = u != null || ne != null, G = ((F) => !!F && !!(o != null && o.voice.includes(F)))(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);
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);
3797
3797
  E(() => {
3798
- le.current !== ke && (le.current = ke, se((F) => F + 1));
3798
+ le.current !== ke && (le.current = ke, se((H) => H + 1));
3799
3799
  }, [ke]);
3800
- const m = Go(G, xe || s || P, Zo(e) * 1e3 + Ae, { id: t ?? null, shareCode: i.shareCode ?? null }), A = Ie(() => ((m == null ? void 0 : m.voices) ?? []).filter((F) => Q || !F.cloned || F.speaker != null), [m, Q]), Ne = A.length > 1, Z = Es(o, pe), de = di(), W = Ie(() => La(o, "translation"), [o]), [De, V] = O(null), [je] = O(() => /* @__PURE__ */ new Set()), [fe, ge] = O({}), q = Ie(() => Bo(n, e, de.vcUnknownSpk), [n, e, de]), ze = Ne && q.filter((F) => F.key >= 0).length > 1, $e = De != null && q.some((F) => F.key === De) ? De : ((ft = q[0]) == null ? void 0 : ft.key) ?? null, ye = Ie(() => {
3801
- const F = As(q, A, ke);
3802
- for (const [ve, Be] of Object.entries(fe[G ?? ""] ?? {})) F.set(Number(ve), Be);
3803
- return F;
3804
- }, [q, A, fe, G, ke]), be = ze && Object.keys(fe[G ?? ""] ?? {}).length > 0, He = Ie(() => y && !be ? As(q, A, !1) : null, [y, be, q, A]), Oe = Ie(() => be ? bs(ye) || null : He && bs(He) || null, [be, ye, He]), Ye = be ? ye : He, Y = A.some((F) => F.cloned && F.consent !== "pending"), _ = !!pe && !!(o != null && o.voice.includes(pe)), B = _ && !M, ee = Ie(
3805
- () => n.filter((F) => !F.suppressed && !F.unclear).map((F) => F.sentenceId).filter((F) => F != null),
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);
3802
+ for (const [Oe, Be] of Object.entries(fe[G ?? ""] ?? {})) H.set(Number(Oe), Be);
3803
+ 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(
3805
+ () => n.filter((H) => !H.suppressed && !H.unclear).map((H) => H.sentenceId).filter((H) => H != null),
3806
3806
  [n]
3807
- ), ie = qo({ recordingId: t, lang: pe, ended: s, cred: i, pickedVoice: Oe ?? ne, sentenceIds: s && B ? ee : void 0 }), Te = A.find((F) => F.id === ne) ?? A.find((F) => {
3808
- var ve;
3809
- return F.id === ((ve = ie.track) == null ? void 0 : ve.voice);
3810
- }) ?? A.find((F) => F.default) ?? A[0] ?? null, _e = (Te == null ? void 0 : Te.id) ?? null;
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) => {
3808
+ var Oe;
3809
+ return H.id === ((Oe = ie.track) == null ? void 0 : Oe.voice);
3810
+ }) ?? A.find((H) => H.default) ?? A[0] ?? null, _e = (Te == null ? void 0 : Te.id) ?? null;
3811
3811
  E(() => {
3812
3812
  if (!ie.rendering) return;
3813
- const F = setInterval(ie.reload, 4e3);
3814
- return () => clearInterval(F);
3813
+ const H = setInterval(ie.reload, 4e3);
3814
+ return () => clearInterval(H);
3815
3815
  }, [ie.rendering, ie.reload]);
3816
- const Ee = `${t ?? ""}|${pe ?? ""}|${Oe ?? ne ?? ((Kt = ie.track) == null ? void 0 : Kt.voiceKey) ?? "default"}`, Le = Ol(ie.clips, n, r, Ee, je, (Jt = ie.track) == null ? void 0 : Jt.wordTimes, p, ie.coming);
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);
3817
3817
  E(() => {
3818
- var ve;
3819
- const F = (ve = n[Le.idx]) == null ? void 0 : ve.sentenceId;
3820
- F != null && ie.setNear(F);
3818
+ var Oe;
3819
+ const H = (Oe = n[Le.idx]) == null ? void 0 : Oe.sentenceId;
3820
+ H != null && ie.setNear(H);
3821
3821
  }, [Le.idx]), E(() => {
3822
3822
  !re || !Le.has || (we(!1), Le.playing || Le.toggle());
3823
3823
  }, [re, Le.has]);
3824
- const Ve = ie.rendering, qe = Ve ? null : ie.failed ?? null, at = !1, Tt = xe && B, Mt = xe && !Ce && B && !(ie.listed && ie.listed.lang === pe && ie.listed.recordingId === t), We = {
3824
+ const Ve = ie.rendering, qe = Ve ? null : ie.failed ?? null, it = !1, Tt = xe && B, gt = xe && !Ce && B && !(ie.listed && ie.listed.lang === pe && ie.listed.recordingId === t), We = {
3825
3825
  ...Le,
3826
3826
  has: Le.has || Tt && s,
3827
3827
  toggle: () => {
@@ -3832,108 +3832,101 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3832
3832
  Le.toggle();
3833
3833
  }
3834
3834
  }, Ue = () => Me(!0), nt = () => {
3835
- Me(!1), H(ae), oe(!1);
3836
- }, Fe = (F) => {
3837
- if (d(F), S(F), !((g || j) && !ae)) {
3838
- if (F != null) {
3835
+ Me(!1), V(ae), oe(!1);
3836
+ }, Fe = (H) => {
3837
+ if (d(H), S(H), !((g || j) && !ae)) {
3838
+ if (H != null) {
3839
3839
  nt();
3840
3840
  return;
3841
3841
  }
3842
- ce.reset(), Me(!1), H(!1), oe(!1);
3842
+ ce.reset(), Me(!1), V(!1), oe(!1);
3843
3843
  }
3844
3844
  }, Lt = () => {
3845
- ce.reset(), H(!0);
3845
+ ce.reset(), V(!0);
3846
3846
  }, ut = () => {
3847
- ce.reset(), H(!1);
3847
+ ce.reset(), V(!1);
3848
3848
  }, vt = U && !ae, J = P || U && ae, Ut = () => {
3849
3849
  if (vt) {
3850
3850
  Me(!1);
3851
3851
  return;
3852
3852
  }
3853
- ce.reset(), H(!1), oe(!1), Me(!0);
3853
+ ce.reset(), V(!1), oe(!1), Me(!0);
3854
3854
  }, x = () => {
3855
3855
  if (ce.reset(), J) {
3856
- H(!1), Me(!1), oe(!1);
3856
+ V(!1), Me(!1), oe(!1);
3857
3857
  return;
3858
3858
  }
3859
- Me(!1), oe(!1), H(!0);
3860
- }, Tn = (F) => {
3861
- if (ce.reset(), H(ze), (pe !== G || Ce) && d(G), ie.forget(), we(!0), ze && $e != null && G) {
3862
- const ve = new Map(ye);
3863
- ve.set($e, F), ge((Be) => ({ ...Be, [G]: Object.fromEntries(ve) })), $(null);
3859
+ Me(!1), oe(!1), V(!0);
3860
+ }, Tn = (H) => {
3861
+ if (ce.reset(), V(je), (pe !== G || Ce) && d(G), ie.forget(), we(!0), je && $e != null && G) {
3862
+ const Oe = new Map(ye);
3863
+ Oe.set($e, H), ge((Be) => ({ ...Be, [G]: Object.fromEntries(Oe) })), $(null);
3864
3864
  return;
3865
3865
  }
3866
- $(F);
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 }), st = Ie(() => A.filter((F) => F.cloned && !F.auto), [A]), ot = (F) => (F.voiceId ? st.find((ve) => ve.id === `clone:${F.voiceId}`) : void 0) ?? st.find((ve) => ve.name === F.name) ?? null, gt = Ie(() => q.filter((F) => F.key >= 0), [q]), bt = Ie(() => {
3868
- const F = A.filter((Be) => !Be.cloned);
3869
- if (!ze) return [...F, ...st];
3870
- const ve = [];
3871
- for (const Be of gt) {
3872
- if (ot(Be)) continue;
3866
+ $(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(() => {
3868
+ const H = A.filter((Be) => !Be.cloned);
3869
+ if (!je) return [...H, ...s && Mt.length === 1 ? at.filter((Be) => Be.id === `clone:${Mt[0].voiceId}`) : []];
3870
+ const Oe = [];
3871
+ for (const Be of Mt) {
3872
+ if (lt(Be)) continue;
3873
3873
  const Nt = A.find((zt) => zt.cloned && zt.auto && zt.speaker === Be.key);
3874
- !Nt || Nt.ready === !1 || Nt.consent === "pending" && !L || ve.push({ id: Nt.id, name: Be.name, cloned: !0, default: !1, live: !0, auto: !0, gender: Be.sex ?? Nt.gender ?? null, speaker: Be.key, consent: Nt.consent ?? null });
3874
+ !Nt || Nt.ready === !1 || Nt.consent === "pending" && !L || Oe.push({ id: Nt.id, name: Be.name, cloned: !0, default: !1, live: !0, auto: !0, gender: Be.sex ?? Nt.gender ?? null, speaker: Be.key, consent: Nt.consent ?? null });
3875
3875
  }
3876
- return [...F, ...st, ...ve];
3877
- }, [A, st, ze, gt, L]), it = ze ? gt.find((F) => F.key === $e) ?? null : null, Gt = (F) => {
3878
- var ve;
3879
- return F ? ((ve = A.find((Be) => Be.id === F)) == null ? void 0 : ve.gender) ?? null : null;
3880
- }, Rt = it ? it.sex ?? Gt(ye.get(it.key)) : null, wt = Ie(() => {
3881
- if (!it) return bt;
3882
- const F = new Set(gt.filter((ve) => ve.key !== it.key).map((ve) => {
3883
- var Be;
3884
- return (Be = ot(ve)) == null ? void 0 : Be.id;
3885
- }).filter(Boolean));
3886
- return bt.filter((ve) => ve.cloned ? ve.live ? ve.speaker === it.key : !F.has(ve.id) : !0);
3887
- }, [bt, it, Rt, gt]), et = (F) => A.find((ve) => ve.cloned && ve.auto && ve.speaker === F) ?? null, ht = { people: gt, gvList: A, autoOf: et, savedFor: ot }, St = (I == null ? void 0 : I(ht)) ?? 0, Zt = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? J : void 0, title: Ge || qe ? dt : void 0, style: { cursor: "pointer", background: Ft || Ge || g && J ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && J ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? x : Lt, children: [
3876
+ return [...H, ...at, ...Oe];
3877
+ }, [A, at, je, Mt, L, s]), st = je ? Mt.find((H) => H.key === $e) ?? null : null, Gt = (H) => {
3878
+ var Oe;
3879
+ return H ? ((Oe = A.find((Be) => Be.id === H)) == null ? void 0 : Oe.gender) ?? null : null;
3880
+ }, Rt = st ? st.sex ?? Gt(ye.get(st.key)) : null, wt = ze(() => st ? bt.filter((H) => H.cloned ? H.live ? H.speaker === st.key : H.id === `clone:${st.voiceId}` : !0) : bt, [bt, st, Rt, Mt]), et = (H) => A.find((Oe) => Oe.cloned && Oe.auto && Oe.speaker === H) ?? null, ht = { people: Mt, gvList: A, autoOf: et, savedFor: lt }, St = (I == null ? void 0 : I(ht)) ?? 0, Zt = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? J : void 0, title: Ge || qe ? dt : void 0, style: { cursor: "pointer", background: Ft || Ge || g && J ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && J ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? x : Lt, children: [
3888
3881
  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 } }),
3889
3882
  !!St && /* @__PURE__ */ a("span", { className: "txvoice__n", title: `${St} speaker${St === 1 ? "" : "s"} can get a cloned voice`, children: St })
3890
- ] }), lt = /* @__PURE__ */ a(Nn, { open: P, onClose: ut, title: de.vcSheet, titleNode: b, doneLabel: de.done, children: /* @__PURE__ */ a(
3883
+ ] }), ot = /* @__PURE__ */ a(Nn, { open: P, onClose: ut, title: de.vcSheet, titleNode: b, doneLabel: de.done, children: /* @__PURE__ */ a(
3891
3884
  Vo,
3892
3885
  {
3893
3886
  t: de,
3894
- cast: ze && /* @__PURE__ */ a(
3887
+ cast: je && /* @__PURE__ */ a(
3895
3888
  Ho,
3896
3889
  {
3897
3890
  t: de,
3898
3891
  roster: q,
3899
3892
  selected: $e,
3900
- onSelect: (F) => {
3901
- ce.reset(), V(F), D == null || D(F);
3893
+ onSelect: (H) => {
3894
+ ce.reset(), F(H), D == null || D(H);
3902
3895
  },
3903
- noClone: (F) => !!(te != null && te(F, ht)),
3904
- short: (F) => !!(R != null && R(F, ht)),
3905
- building: (F) => !ot(F) && (A.some((ve) => ve.cloned && ve.speaker === F.key && ve.ready === !1) || !!(X != null && X(F, ht))),
3906
- sexOf: (F) => F.sex ?? Gt(ye.get(F.key))
3896
+ noClone: (H) => !!(te != null && te(H, ht)),
3897
+ short: (H) => !!(R != null && R(H, ht)),
3898
+ building: (H) => !lt(H) && (A.some((Oe) => Oe.cloned && Oe.speaker === H.key && Oe.ready === !1) || !!(X != null && X(H, ht))),
3899
+ sexOf: (H) => H.sex ?? Gt(ye.get(H.key))
3907
3900
  }
3908
3901
  ),
3909
3902
  voices: wt,
3910
- onAdd: (F) => {
3911
- ce.reset(), h == null || h(F);
3903
+ onAdd: (H) => {
3904
+ ce.reset(), h == null || h(H);
3912
3905
  },
3913
- noClone: it && !wt.some((F) => F.cloned) ? (k == null ? void 0 : k(it, et(it.key), ht)) ?? null : null,
3914
- usedBy: ze && $e != null ? (F) => {
3915
- const ve = q.filter((Be) => Be.key !== $e && ye.get(Be.key) === F.id);
3916
- return ve.length ? ve.map((Be) => Be.name).join(", ") : null;
3906
+ noClone: st && !wt.some((H) => H.cloned) ? (k == null ? void 0 : k(st, et(st.key), ht)) ?? null : null,
3907
+ usedBy: je && $e != null ? (H) => {
3908
+ const Oe = q.filter((Be) => Be.key !== $e && ye.get(Be.key) === H.id);
3909
+ return Oe.length ? Oe.map((Be) => Be.name).join(", ") : null;
3917
3910
  } : void 0,
3918
3911
  foldKey: $e,
3919
3912
  foldFor: Rt,
3920
- currentId: ze && $e != null ? ye.get($e) ?? null : _e,
3913
+ currentId: je && $e != null ? ye.get($e) ?? null : _e,
3921
3914
  armedId: ce.armId,
3922
3915
  sampleId: ce.sampleId,
3923
3916
  dlId: ce.dlId,
3924
- onPick: (F) => {
3925
- if ((C == null ? void 0 : C(F)) === !1) {
3917
+ onPick: (H) => {
3918
+ if ((C == null ? void 0 : C(H)) === !1) {
3926
3919
  ce.reset();
3927
3920
  return;
3928
3921
  }
3929
- ce.arm(F);
3922
+ ce.arm(H);
3930
3923
  },
3931
3924
  onUse: Tn
3932
3925
  }
3933
3926
  ) }), qt = g ? null : /* @__PURE__ */ f(Pe, { children: [
3934
3927
  Dt,
3935
- lt
3936
- ] }), At = g && (U || P) ? /* @__PURE__ */ a("div", { className: "vs-side", children: U ? Dt : lt }) : null, Ln = Tt && qe ? `This voice could not be prepared: ${qe}` : null, wn = at;
3928
+ ot
3929
+ ] }), At = g && (U || P) ? /* @__PURE__ */ a("div", { className: "vs-side", children: U ? Dt : ot }) : null, Ln = Tt && qe ? `This voice could not be prepared: ${qe}` : null, wn = it;
3937
3930
  return {
3938
3931
  barChip: { flag: rt.flag, code: rt.code, label: rt.label, onClick: g || j ? Ut : Ue, active: !!((g || j) && vt), can: c },
3939
3932
  sheetsOpen: U || P,
@@ -3947,33 +3940,33 @@ function bl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: i, lan
3947
3940
  toggleVoices: x,
3948
3941
  cloningOn: ke,
3949
3942
  playTitle: Ln,
3950
- noVoice: at,
3943
+ noVoice: it,
3951
3944
  noVoiceNote: wn,
3952
- relang: Mt,
3945
+ relang: gt,
3953
3946
  sampling: ce.sampleId != null,
3954
3947
  error: ce.error,
3955
3948
  clearError: () => ce.clearError(),
3956
3949
  openVoices: Lt,
3957
3950
  openPicker: Ue,
3958
3951
  original: Ce,
3959
- reloadVoices: () => se((F) => F + 1),
3952
+ reloadVoices: () => se((H) => H + 1),
3960
3953
  voicesVer: Ae,
3961
- people: gt,
3954
+ people: Mt,
3962
3955
  gvList: A,
3963
3956
  autoOf: et,
3964
- savedFor: ot,
3957
+ savedFor: lt,
3965
3958
  closeVoices: ut,
3966
- setSheet: H,
3967
- selectedSpeaker: it,
3959
+ setSheet: V,
3960
+ selectedSpeaker: st,
3968
3961
  armVoice: ce.arm,
3969
3962
  resetPreview: ce.reset,
3970
3963
  armedId: ce.armId,
3971
- resetCast: () => ge((F) => ({ ...F, [G ?? ""]: {} })),
3964
+ resetCast: () => ge((H) => ({ ...H, [G ?? ""]: {} })),
3972
3965
  readLang: typeof u == "string" && u !== l ? u : null,
3973
- readVoiceKey: Oe ?? ne ?? ((Xt = ie.track) == null ? void 0 : Xt.voiceKey) ?? "",
3966
+ readVoiceKey: Ie ?? ne ?? ((Xt = ie.track) == null ? void 0 : Xt.voiceKey) ?? "",
3974
3967
  readVoiceName: (Te == null ? void 0 : Te.name) ?? null,
3975
3968
  canSpeak: _,
3976
- requestTrack: () => ie.requestRender(Oe ?? ne, Oe ? Ye : null),
3969
+ requestTrack: () => ie.requestRender(Ie ?? ne, Ie ? Ye : null),
3977
3970
  hasClone: Y,
3978
3971
  clips: ie.clips,
3979
3972
  setNear: ie.setNear,
@@ -3988,7 +3981,7 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
3988
3981
  il(!0, T);
3989
3982
  const $ = z(null);
3990
3983
  So(T, $);
3991
- const [U, Me] = O(null), P = (C ?? "").trim().toLowerCase(), [H, ae] = O(0), oe = z(0), re = z(null), we = z(L), pe = (se) => {
3984
+ const [U, Me] = O(null), P = (C ?? "").trim().toLowerCase(), [V, ae] = O(0), oe = z(0), re = z(null), we = z(L), pe = (se) => {
3992
3985
  var le;
3993
3986
  return ((le = T.current) == null ? void 0 : le.querySelector(`[data-tx-row="${se}"]`)) ?? null;
3994
3987
  }, Ce = z("");
@@ -3998,8 +3991,8 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
3998
3991
  const le = () => {
3999
3992
  const Z = se.getBoundingClientRect(), de = [];
4000
3993
  for (const De of Array.from(se.querySelectorAll("[data-sentence]"))) {
4001
- const V = De.getBoundingClientRect();
4002
- V.bottom > Z.top && V.top < Z.bottom && de.push(Number(De.dataset.sentence));
3994
+ const F = De.getBoundingClientRect();
3995
+ F.bottom > Z.top && F.top < Z.bottom && de.push(Number(De.dataset.sentence));
4003
3996
  }
4004
3997
  const W = de.join(",");
4005
3998
  W !== Ce.current && (Ce.current = W, R(de));
@@ -4026,14 +4019,14 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4026
4019
  oe.current = performance.now() + 420;
4027
4020
  const le = T.current, m = pe(se);
4028
4021
  if (!le || !le.clientHeight || !m) return;
4029
- const A = m.getBoundingClientRect(), Ne = le.getBoundingClientRect(), Z = le.scrollHeight - le.clientHeight, de = le.scrollTop, W = Kn(le), De = Math.max(80, le.clientHeight - W.top - W.bottom), V = A.height > De ? 8 : (De - A.height) / 2, je = Math.max(0, Math.min(Z, de + (A.top - Ne.top) - W.top - V));
4030
- if (re.current && cancelAnimationFrame(re.current), Math.abs(je - de) < 2) {
4031
- le.scrollTop = je, re.current = null;
4022
+ const A = m.getBoundingClientRect(), Ne = le.getBoundingClientRect(), Z = le.scrollHeight - le.clientHeight, de = le.scrollTop, W = Kn(le), De = Math.max(80, le.clientHeight - W.top - W.bottom), F = A.height > De ? 8 : (De - A.height) / 2, ve = Math.max(0, Math.min(Z, de + (A.top - Ne.top) - W.top - F));
4023
+ if (re.current && cancelAnimationFrame(re.current), Math.abs(ve - de) < 2) {
4024
+ le.scrollTop = ve, re.current = null;
4032
4025
  return;
4033
4026
  }
4034
4027
  const fe = performance.now(), ge = 360, q = () => {
4035
- const ze = Math.min(1, (performance.now() - fe) / ge);
4036
- le.scrollTop = de + (je - de) * (1 - Math.pow(1 - ze, 3)), re.current = ze < 1 ? requestAnimationFrame(q) : null;
4028
+ const je = Math.min(1, (performance.now() - fe) / ge);
4029
+ le.scrollTop = de + (ve - de) * (1 - Math.pow(1 - je, 3)), re.current = je < 1 ? requestAnimationFrame(q) : null;
4037
4030
  };
4038
4031
  re.current = requestAnimationFrame(q);
4039
4032
  };
@@ -4066,26 +4059,26 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4066
4059
  ] }) });
4067
4060
  return /* @__PURE__ */ f("div", { ref: T, "data-tx-feed": "1", className: `txfeed${j ? " txfeed--desk" : ""}${D && !y ? " is-find" : ""}`, children: [
4068
4061
  /* @__PURE__ */ a(Ao, { thumbRef: $ }),
4069
- I && H === -1 && Ae("up"),
4062
+ I && V === -1 && Ae("up"),
4070
4063
  e.map((se, le) => {
4071
4064
  var ye;
4072
4065
  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 ? () => {
4073
4066
  I && !m && n.seekRow(le), l(se);
4074
- } : I && m ? void 0 : () => n.playRow(le), W = N ? null : _o(se, s, r), De = !!W && (W.script > 0 || W.manual), V = j && !!i && U === se.id && !!W && !De, je = hr(t, se.speaker), fe = fr(t, se.speaker), ge = fe.lane, q = k && se.translations[k] && se.language !== k ? se.translations[k] : null, ze = mi(e, le, k), $e = A && !S && ne ? ei(ze.map((be) => ({ t: be.text, sp: " " })), ne) : null;
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;
4075
4068
  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: [
4076
4069
  /* @__PURE__ */ f("div", { className: "txline__meta", children: [
4077
4070
  /* @__PURE__ */ a("span", { className: "txline__at", children: mt(se.start) }),
4078
4071
  h && se.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
4079
4072
  /* @__PURE__ */ a("div", { className: `lanechip bg-lane-${ge}`, style: fe.soft ? { background: fe.soft, color: fe.fg } : void 0, children: ai(t, se.speaker) }),
4080
- /* @__PURE__ */ a("span", { className: `txline__who lane-${ge}`, style: fe.fg ? { color: fe.fg } : void 0, children: je }),
4073
+ /* @__PURE__ */ a("span", { className: `txline__who lane-${ge}`, style: fe.fg ? { color: fe.fg } : void 0, children: ve }),
4081
4074
  fe.hasVoice && /* @__PURE__ */ a(hi, { color: fe.fg ?? `var(--lane-${ge})` })
4082
4075
  ] }),
4083
4076
  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)" }) }),
4084
4077
  W && g && /* @__PURE__ */ a(Uo, { f: W, desk: j, onOpen: i ? () => i(se, !0) : void 0 }),
4085
- V && /* @__PURE__ */ a(Ro, { alone: !0, onOpen: () => i == null ? void 0 : i(se, !1) })
4078
+ F && /* @__PURE__ */ a(Ro, { alone: !0, onOpen: () => i == null ? void 0 : i(se, !1) })
4086
4079
  ] }),
4087
- /* @__PURE__ */ a("div", { className: "txline__text", children: ze.map((be, He) => {
4088
- const Oe = `${be.seq}:${be.idx}`, Ye = no(be.prob), Y = A && X, _ = Y && (S ? Q >= be.start && (Q < be.end || He === ze.length - 1 || Q < ze[He + 1].start) : He === $e), B = Y && !_ && (S ? be.start > Q : $e != null && He > $e), ee = !q && !N && (!!(r != null && r.has(Oe)) || !!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)";
4080
+ /* @__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)";
4089
4082
  return /* @__PURE__ */ f("span", { children: [
4090
4083
  /* @__PURE__ */ a(
4091
4084
  "span",
@@ -4109,7 +4102,7 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4109
4102
  }
4110
4103
  ),
4111
4104
  /* @__PURE__ */ a("span", { style: { whiteSpace: "pre-wrap" }, children: " " })
4112
- ] }, Oe + He);
4105
+ ] }, Ie + He);
4113
4106
  }) })
4114
4107
  ] }, se.id);
4115
4108
  }),
@@ -4118,7 +4111,7 @@ function Sl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: i,
4118
4111
  /* @__PURE__ */ a("span", {}),
4119
4112
  /* @__PURE__ */ a("span", {})
4120
4113
  ] }) }) : /* @__PURE__ */ a("div", { className: "txtail", style: { color: p }, children: M }),
4121
- I && H === 1 && Ae("down")
4114
+ I && V === 1 && Ae("down")
4122
4115
  ] });
4123
4116
  }
4124
4117
  function Al({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: i, inline: o, flash: l }) {
@@ -4301,25 +4294,25 @@ function Rl(t) {
4301
4294
  }, I = () => {
4302
4295
  let L = 0;
4303
4296
  const v = (P) => {
4304
- const H = P[1], ae = H > 0 && P[2] === H && P[3] === H * 3 && P[4] === H && P[5] === H;
4305
- return (ae && P[0] >= H * 4 && P[6] >= H ? 1 : 0) + (ae && P[6] >= H * 4 && P[0] >= H ? 1 : 0);
4306
- }, S = (P, H) => {
4307
- P[0] === 0 && (H += r), P.pop(), P.unshift(H);
4308
- }, ne = (P, H, ae) => (H && (S(P, ae), ae = 0), S(P, ae + r), v(P)), $ = (P) => {
4309
- let H = !1, ae = 0;
4297
+ const V = P[1], ae = V > 0 && P[2] === V && P[3] === V * 3 && P[4] === V && P[5] === V;
4298
+ return (ae && P[0] >= V * 4 && P[6] >= V ? 1 : 0) + (ae && P[6] >= V * 4 && P[0] >= V ? 1 : 0);
4299
+ }, S = (P, V) => {
4300
+ P[0] === 0 && (V += r), P.pop(), P.unshift(V);
4301
+ }, ne = (P, V, ae) => (V && (S(P, ae), ae = 0), S(P, ae + r), v(P)), $ = (P) => {
4302
+ let V = !1, ae = 0;
4310
4303
  const oe = [0, 0, 0, 0, 0, 0, 0];
4311
4304
  for (let re = 0; re < r; re++)
4312
- P(re) === H ? (ae++, ae === 5 ? L += 3 : ae > 5 && L++) : (S(oe, ae), H || (L += v(oe) * 40), H = P(re), ae = 1);
4313
- L += ne(oe, H, ae) * 40;
4305
+ P(re) === V ? (ae++, ae === 5 ? L += 3 : ae > 5 && L++) : (S(oe, ae), V || (L += v(oe) * 40), V = P(re), ae = 1);
4306
+ L += ne(oe, V, ae) * 40;
4314
4307
  };
4315
- for (let P = 0; P < r; P++) $((H) => T[P][H]);
4316
- for (let P = 0; P < r; P++) $((H) => T[H][P]);
4317
- for (let P = 0; P < r - 1; P++) for (let H = 0; H < r - 1; H++) {
4318
- const ae = T[P][H];
4319
- ae === T[P][H + 1] && ae === T[P + 1][H] && ae === T[P + 1][H + 1] && (L += 3);
4308
+ for (let P = 0; P < r; P++) $((V) => T[P][V]);
4309
+ for (let P = 0; P < r; P++) $((V) => T[V][P]);
4310
+ for (let P = 0; P < r - 1; P++) for (let V = 0; V < r - 1; V++) {
4311
+ const ae = T[P][V];
4312
+ ae === T[P][V + 1] && ae === T[P + 1][V] && ae === T[P + 1][V + 1] && (L += 3);
4320
4313
  }
4321
4314
  let U = 0;
4322
- for (const P of T) for (const H of P) H && U++;
4315
+ for (const P of T) for (const V of P) V && U++;
4323
4316
  const Me = r * r;
4324
4317
  return L += (Math.ceil(Math.abs(U * 20 - Me * 10) / Me) - 1) * 10, L;
4325
4318
  };
@@ -4521,9 +4514,9 @@ const Vl = { color: "rgba(255,255,255,.4)" };
4521
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 }) {
4522
4515
  const [I, b] = O(() => !!Xn());
4523
4516
  E(() => {
4524
- const V = () => b(!!Xn());
4525
- return document.addEventListener("fullscreenchange", V), document.addEventListener("webkitfullscreenchange", V), () => {
4526
- document.removeEventListener("fullscreenchange", V), document.removeEventListener("webkitfullscreenchange", V);
4517
+ const F = () => b(!!Xn());
4518
+ return document.addEventListener("fullscreenchange", F), document.addEventListener("webkitfullscreenchange", F), () => {
4519
+ document.removeEventListener("fullscreenchange", F), document.removeEventListener("webkitfullscreenchange", F);
4527
4520
  };
4528
4521
  }, []);
4529
4522
  const Q = z(X);
@@ -4533,86 +4526,86 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4533
4526
  const [v, S] = O(!1), [ne, $] = O(0), U = z(!1);
4534
4527
  E(() => () => hn(!1), []), E(() => {
4535
4528
  if (!e) return;
4536
- const V = [document.documentElement, document.body], je = V.map((q) => q.style.background);
4537
- V.forEach((q) => {
4529
+ const F = [document.documentElement, document.body], ve = F.map((q) => q.style.background);
4530
+ F.forEach((q) => {
4538
4531
  q.style.background = "#050507";
4539
4532
  });
4540
4533
  const fe = document.querySelector('meta[name="theme-color"]'), ge = fe == null ? void 0 : fe.content;
4541
4534
  return fe && (fe.content = "#050507"), () => {
4542
- V.forEach((q, ze) => {
4543
- q.style.background = je[ze];
4535
+ F.forEach((q, je) => {
4536
+ q.style.background = ve[je];
4544
4537
  }), fe && ge && (fe.content = ge);
4545
4538
  };
4546
4539
  }, []);
4547
- const Me = Ie(() => e && $l(), [e]), [P, H] = O(Me);
4540
+ const Me = ze(() => e && $l(), [e]), [P, V] = O(Me);
4548
4541
  E(() => {
4549
4542
  if (!e) return;
4550
- const V = [document.documentElement, document.body], je = V.map((q) => [q.style.overflow, q.style.overscrollBehavior]);
4543
+ const F = [document.documentElement, document.body], ve = F.map((q) => [q.style.overflow, q.style.overscrollBehavior]);
4551
4544
  if (!Me)
4552
- return V.forEach((q) => {
4545
+ return F.forEach((q) => {
4553
4546
  q.style.overflow = "hidden", q.style.overscrollBehavior = "none";
4554
- }), () => V.forEach((q, ze) => {
4555
- q.style.overflow = je[ze][0], q.style.overscrollBehavior = je[ze][1];
4547
+ }), () => F.forEach((q, je) => {
4548
+ q.style.overflow = ve[je][0], q.style.overscrollBehavior = ve[je][1];
4556
4549
  });
4557
4550
  const fe = document.createElement("div");
4558
4551
  fe.setAttribute("aria-hidden", "true"), fe.style.cssText = "position:absolute;top:0;left:0;width:1px;height:calc(100lvh + 160px);pointer-events:none", document.body.appendChild(fe), document.documentElement.style.overscrollBehavior = "none";
4559
4552
  const ge = () => {
4560
- window.scrollY > 24 && H(!1);
4553
+ window.scrollY > 24 && V(!1);
4561
4554
  };
4562
4555
  return window.addEventListener("scroll", ge, { passive: !0 }), () => {
4563
- window.removeEventListener("scroll", ge), fe.remove(), document.documentElement.style.overscrollBehavior = je[0][1], window.scrollTo(0, 0);
4556
+ window.removeEventListener("scroll", ge), fe.remove(), document.documentElement.style.overscrollBehavior = ve[0][1], window.scrollTo(0, 0);
4564
4557
  };
4565
4558
  }, [Me, e]);
4566
4559
  const ae = z(h);
4567
4560
  ae.current = h, E(() => {
4568
- const V = (ge) => ge instanceof HTMLElement && (ge.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ge.tagName)), je = (ge) => {
4561
+ const F = (ge) => ge instanceof HTMLElement && (ge.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ge.tagName)), ve = (ge) => {
4569
4562
  var q;
4570
- ge.key === "Escape" && !ae.current && Q.current && (ge.stopPropagation(), Q.current()), ge.key === " " && !ae.current && !V(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 && !V(ge.target) && Ps() && (ge.preventDefault(), ge.repeat || hn(!Xn()));
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()));
4571
4564
  }, fe = (ge) => {
4572
- ge.key === " " && !ae.current && !V(ge.target) && ge.preventDefault();
4565
+ ge.key === " " && !ae.current && !F(ge.target) && ge.preventDefault();
4573
4566
  };
4574
- return window.addEventListener("keydown", je, !0), window.addEventListener("keyup", fe, !0), () => {
4575
- window.removeEventListener("keydown", je, !0), window.removeEventListener("keyup", fe, !0);
4567
+ return window.addEventListener("keydown", ve, !0), window.addEventListener("keyup", fe, !0), () => {
4568
+ window.removeEventListener("keydown", ve, !0), window.removeEventListener("keyup", fe, !0);
4576
4569
  };
4577
4570
  }, []);
4578
4571
  const oe = Bl("(orientation: landscape) and (max-height: 540px)"), re = s && !oe;
4579
4572
  E(() => {
4580
4573
  if (S(!1), !p.playing || h) return;
4581
- const V = setTimeout(() => S(!0), 3e3);
4582
- return () => clearTimeout(V);
4574
+ const F = setTimeout(() => S(!0), 3e3);
4575
+ return () => clearTimeout(F);
4583
4576
  }, [p.playing, h, ne]);
4584
4577
  const we = z(v);
4585
4578
  we.current = v;
4586
- const pe = z(0), Ce = (V) => {
4587
- if (V.pointerType !== "mouse") return;
4588
- const je = Date.now();
4589
- !we.current && je - pe.current < 1e3 || (pe.current = je, $((fe) => fe + 1));
4590
- }, xe = !re && oe, Qe = z(null), G = o ? o.words.map((V) => V.dim ? 0 : 1).join("") + o.words.length + ":" + (o.cursor ?? "") : "";
4579
+ const pe = z(0), Ce = (F) => {
4580
+ if (F.pointerType !== "mouse") return;
4581
+ const ve = Date.now();
4582
+ !we.current && ve - pe.current < 1e3 || (pe.current = ve, $((fe) => fe + 1));
4583
+ }, xe = !re && oe, Qe = z(null), G = o ? o.words.map((F) => F.dim ? 0 : 1).join("") + o.words.length + ":" + (o.cursor ?? "") : "";
4591
4584
  mn(() => {
4592
- const V = Qe.current;
4593
- if (!V) return;
4594
- const je = !!(o != null && o.words.some((Oe) => Oe.dim)) || (o == null ? void 0 : o.cursor) != null, fe = V.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((Oe) => Oe.dim) ? "[data-at]" : "[data-said]"), ge = parseFloat(getComputedStyle(V).lineHeight) || 24, q = Math.round(V.scrollHeight / ge) - Math.round(V.clientHeight / ge), ze = Math.max(0, q) * ge;
4595
- if (ze <= 0) {
4596
- V.scrollTop && V.scrollTo({ top: 0 });
4585
+ const F = Qe.current;
4586
+ if (!F) return;
4587
+ const ve = !!(o != null && o.words.some((Ie) => Ie.dim)) || (o == null ? void 0 : o.cursor) != null, fe = F.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((Ie) => Ie.dim) ? "[data-at]" : "[data-said]"), ge = parseFloat(getComputedStyle(F).lineHeight) || 24, q = Math.round(F.scrollHeight / ge) - Math.round(F.clientHeight / ge), je = Math.max(0, q) * ge;
4588
+ if (je <= 0) {
4589
+ F.scrollTop && F.scrollTo({ top: 0 });
4597
4590
  return;
4598
4591
  }
4599
- const $e = (Oe) => Math.round((Oe.getBoundingClientRect().top - V.getBoundingClientRect().top + V.scrollTop) / ge), ye = Math.max(1, Math.round(V.clientHeight / ge)), be = je ? fe.length ? Math.floor($e(fe[fe.length - 1]) / ye) * ye * ge : 0 : ze, He = Math.max(0, Math.min(ze, be));
4600
- Math.abs(He - V.scrollTop) > 1 && (V.scrollTop = He);
4592
+ const $e = (Ie) => Math.round((Ie.getBoundingClientRect().top - F.getBoundingClientRect().top + F.scrollTop) / ge), ye = Math.max(1, Math.round(F.clientHeight / ge)), be = ve ? fe.length ? Math.floor($e(fe[fe.length - 1]) / ye) * ye * ge : 0 : je, He = Math.max(0, Math.min(je, be));
4593
+ Math.abs(He - F.scrollTop) > 1 && (F.scrollTop = He);
4601
4594
  }, [G, xe]);
4602
4595
  const [ce, ke] = O(!0), [Ae, se] = O(!1), le = z(void 0);
4603
4596
  E(() => () => window.clearTimeout(le.current), []);
4604
- const m = k != null && k.share ? k.share.url(ce && k.share.at >= 1 ? Math.floor(k.share.at) : null) : "", A = Ie(() => re && m && !p.playing ? Pl(m) : "", [re, m, p.playing]), Ne = () => {
4605
- var V;
4606
- (V = navigator.clipboard) == null || V.writeText(m).then(() => {
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 = () => {
4598
+ var F;
4599
+ (F = navigator.clipboard) == null || F.writeText(m).then(() => {
4607
4600
  se(!0), window.clearTimeout(le.current), le.current = window.setTimeout(() => se(!1), 1800);
4608
4601
  }, () => {
4609
4602
  });
4610
- }, Z = re && (k == null ? void 0 : k.share) && /* @__PURE__ */ f("div", { className: "gfull__sharecard", onPointerDown: (V) => V.stopPropagation(), onClick: (V) => V.stopPropagation(), children: [
4603
+ }, Z = re && (k == null ? void 0 : k.share) && /* @__PURE__ */ f("div", { className: "gfull__sharecard", onPointerDown: (F) => F.stopPropagation(), onClick: (F) => F.stopPropagation(), children: [
4611
4604
  A && /* @__PURE__ */ a("div", { className: "gfull__shareqr", role: "img", "aria-label": "QR code for this link", style: { backgroundImage: `url("${A}")` } }),
4612
4605
  /* @__PURE__ */ f("div", { className: "gfull__sharebody", children: [
4613
4606
  /* @__PURE__ */ a("div", { className: "gfull__shareeyebrow", children: "SHARE THIS MOMENT" }),
4614
4607
  /* @__PURE__ */ f("label", { className: "gfull__shareat", children: [
4615
- /* @__PURE__ */ a("input", { type: "checkbox", checked: ce, onChange: (V) => ke(V.target.checked), disabled: k.share.at < 1 }),
4608
+ /* @__PURE__ */ a("input", { type: "checkbox", checked: ce, onChange: (F) => ke(F.target.checked), disabled: k.share.at < 1 }),
4616
4609
  "Start at ",
4617
4610
  mt(Math.floor(k.share.at))
4618
4611
  ] }),
@@ -4628,7 +4621,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4628
4621
  ] })
4629
4622
  ] })
4630
4623
  ] })
4631
- ] }), de = (V, je, fe, ge, q, ze = 0) => /* @__PURE__ */ a("button", { type: "button", className: "gfull__btn", title: V, "aria-label": V, onClick: ge, children: /* @__PURE__ */ a(ue, { d: je, size: (re ? 20 : 18) + ze, sw: fe, style: q }) }), W = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4624
+ ] }), 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: [
4632
4625
  N && /* @__PURE__ */ a(Li, { v: N, size: re ? 20 : 18 }),
4633
4626
  C && de("Share", K.share, 1.6, C),
4634
4627
  Ps() && !t && de(I ? "Exit full screen" : "Full screen", I ? Ql : Ti, 1.7, () => hn(!I)),
@@ -4646,12 +4639,12 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4646
4639
  role: "dialog",
4647
4640
  "aria-label": r,
4648
4641
  onPointerMove: Ce,
4649
- onPointerDownCapture: (V) => {
4650
- var je, fe;
4651
- v && (U.current = !0), $((ge) => ge + 1), (fe = (je = V.target).closest) != null && fe.call(je, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || R();
4642
+ onPointerDownCapture: (F) => {
4643
+ var ve, fe;
4644
+ v && (U.current = !0), $((ge) => ge + 1), (fe = (ve = F.target).closest) != null && fe.call(ve, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || R();
4652
4645
  },
4653
- onClickCapture: (V) => {
4654
- U.current && (U.current = !1, V.stopPropagation(), V.preventDefault());
4646
+ onClickCapture: (F) => {
4647
+ U.current && (U.current = !1, F.stopPropagation(), F.preventDefault());
4655
4648
  },
4656
4649
  children: [
4657
4650
  Me && P && /* @__PURE__ */ f("div", { className: "gfull__swipe", "aria-live": "polite", children: [
@@ -4682,7 +4675,7 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4682
4675
  ] }),
4683
4676
  " "
4684
4677
  ] }),
4685
- o.words.map((V) => V.t + V.sp).join("")
4678
+ o.words.map((F) => F.t + F.sp).join("")
4686
4679
  ] }) }),
4687
4680
  /* @__PURE__ */ f("span", { children: [
4688
4681
  o.who && /* @__PURE__ */ f(Pe, { children: [
@@ -4692,10 +4685,10 @@ function Fl({ noFull: t = !1, page: e = !0, picture: n, title: r, desk: s, pos:
4692
4685
  ] }),
4693
4686
  " "
4694
4687
  ] }),
4695
- o.words.map((V, je) => /* @__PURE__ */ f("span", { "data-said": V.dim ? void 0 : "", "data-at": o.cursor != null && je <= o.cursor ? "" : void 0, style: V.dim ? Vl : void 0, children: [
4696
- V.t,
4697
- V.sp
4698
- ] }, je))
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: [
4689
+ F.t,
4690
+ F.sp
4691
+ ] }, ve))
4699
4692
  ] })
4700
4693
  ] }) }),
4701
4694
  /* @__PURE__ */ a("div", { className: `gfull__prog${re ? "" : " gfull__prog--two"}`, children: re ? /* @__PURE__ */ f(Pe, { children: [
@@ -5007,7 +5000,7 @@ function kc(t) {
5007
5000
  E(() => {
5008
5001
  r != null && r.id && n({ id: r.id, token: t.token });
5009
5002
  }, [r == null ? void 0 : r.id]);
5010
- 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 = Ie(() => ho(i, d), [i, d]);
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]);
5011
5004
  E(() => {
5012
5005
  var T;
5013
5006
  o && ((T = t.onSource) == null || T.call(t, o));
@@ -5020,7 +5013,7 @@ function kc(t) {
5020
5013
  }
5021
5014
  function gc(t) {
5022
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;
5023
- const { api: e, shared: n, gone: r, desk: s, dark: i } = t, o = t.id ?? "", l = Ie(() => 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);
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);
5024
5017
  E(() => {
5025
5018
  t.loadError && M(t.loadError);
5026
5019
  }, [t.loadError]);
@@ -5031,7 +5024,7 @@ function gc(t) {
5031
5024
  E(() => {
5032
5025
  I || ne("main");
5033
5026
  }, [I]);
5034
- const [$, U] = O(d), Me = (n == null ? void 0 : n.recording) ?? null, P = (Me == null ? void 0 : Me.id) ?? null, [H, ae] = O(l.lang), oe = typeof H == "string" ? H : null, [re, we] = O(l.labels), [pe, Ce] = O(l.words), [xe, Qe] = O(l.cc), [G, ce] = O(l.translateAudio), [ke, Ae] = O(l.clonedVoices), [se, le] = O(l.removeBackground), m = t.settings;
5027
+ const [$, U] = O(d), Me = (n == null ? void 0 : n.recording) ?? null, P = (Me == null ? void 0 : Me.id) ?? null, [V, ae] = O(l.lang), oe = typeof V == "string" ? V : null, [re, we] = O(l.labels), [pe, Ce] = O(l.words), [xe, Qe] = O(l.cc), [G, ce] = O(l.translateAudio), [ke, Ae] = O(l.clonedVoices), [se, le] = O(l.removeBackground), m = t.settings;
5035
5028
  E(() => {
5036
5029
  (m == null ? void 0 : m.lang) !== void 0 && ae(m.lang);
5037
5030
  }, [m == null ? void 0 : m.lang]), E(() => {
@@ -5055,16 +5048,16 @@ function gc(t) {
5055
5048
  }, [oe, re, pe, xe, G, ke, se]), E(() => {
5056
5049
  n && !n.allowTranslate && oe && ae(null);
5057
5050
  }, [n, oe]);
5058
- const { model: Z, error: de, clearError: W, setLanguage: De, mergeTranslations: V, translating: je, translateFailed: fe, shownLang: ge } = wo(P, {
5051
+ const { model: Z, error: de, clearError: W, setLanguage: De, mergeTranslations: F, translating: ve, translateFailed: fe, shownLang: ge } = wo(P, {
5059
5052
  lang: null,
5060
5053
  onFrame: (w) => {
5061
5054
  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 });
5062
5055
  }
5063
- }), q = Ie(() => Ka(Z).filter((w) => !w.suppressed), [Z]), ze = ko((n == null ? void 0 : n.job) ?? null), $e = ["done", "failed", "stopped"].includes(qn((ze == null ? void 0 : ze.state) ?? ((qr = n == null ? void 0 : n.job) == null ? void 0 : qr.state))), ye = $e ? ze : k ?? ze, be = !!k && !["done", "failed", "stopped"].includes(qn(k.state)), He = z(0);
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);
5064
5057
  E(() => {
5065
5058
  !$e || !be || Date.now() - He.current < 1e4 || (He.current = Date.now(), t.reread());
5066
5059
  }, [$e, be, k == null ? void 0 : k.state, k == null ? void 0 : k.processedS, o]);
5067
- const Oe = qn((ye == null ? void 0 : ye.state) ?? ((Kr = n == null ? void 0 : n.job) == null ? void 0 : Kr.state)), Ye = !!P && (Oe === "transcribing" || Oe === "queued"), Y = d && !r && (!n || (Ye || Oe === "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) && (Oe === "transcribing" || Oe === "queued" || Oe === "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, at = q[q.length - 1], Tt = at ? ((is = at.words[at.words.length - 1]) == null ? void 0 : is.end) ?? at.start : 0, Mt = 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, Mt), 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, Mt), 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: H, setPickedLang: ae, side: s && !$ ? Dl : void 0, hearOriginal: Ne, timed: !!Ue, stockVoices: d && !ke, stickyPicker: d, pickerBusy: vt.current }), Ut = z(null);
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);
5068
5061
  E(() => {
5069
5062
  !P || Ut.current === oe || (Ut.current = oe, De(oe));
5070
5063
  }, [oe, P]);
@@ -5076,10 +5069,10 @@ function gc(t) {
5076
5069
  }
5077
5070
  (J.on ? Lt : J.player).pause();
5078
5071
  }, [J.on, Fe]);
5079
- const Tn = Ie(() => q.filter((w) => w.sentenceId != null).map((w, me, Re) => {
5072
+ const Tn = ze(() => q.filter((w) => w.sentenceId != null).map((w, me, Re) => {
5080
5073
  var Ze;
5081
5074
  return { sid: w.sentenceId, start: w.start, end: ((Ze = Re[me + 1]) == null ? void 0 : Ze.start) ?? Ot(w, w.start, w.start + 4) };
5082
- }), [q]), rt = Ha({ on: Fe && J.on, lines: Tn, clips: J.clips, t: x.t, playing: x.playing, muted: x.muted }), xt = !!oe && (je || J.relang || J.on && rt.missing != null);
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);
5083
5076
  vt.current = xt ? oe : null, E(() => {
5084
5077
  Fe && J.on && rt.sid != null && J.setNear(rt.sid);
5085
5078
  }, [rt.sid, Fe, J.on]), jl([Lt, J.player], J.sampling);
@@ -5087,11 +5080,11 @@ function gc(t) {
5087
5080
  E(() => {
5088
5081
  Ye && !x.playing && jt.current && (jt.current.scrollTop = jt.current.scrollHeight);
5089
5082
  }, [Ye, q.length]);
5090
- 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), st = J.readLang, ot = st ? ((Ms = ut == null ? void 0 : ut.languages.find((w) => w.code === st)) == null ? void 0 : Ms.name) ?? st.toUpperCase() : null, gt = async () => {
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 () => {
5091
5084
  if (P)
5092
5085
  try {
5093
- if (st && J.canSpeak) {
5094
- D(`Preparing ${Ge} in ${ot}${J.readVoiceName ? `, read by ${J.readVoiceName}` : ""} — the download starts when it is ready.`), await Oo(e, { recordingId: P, lang: st, voiceKey: J.readVoiceKey, cred: e.cred, request: J.requestTrack }), D(`Downloading ${Ge} in ${ot}.`);
5086
+ 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}.`);
5095
5088
  return;
5096
5089
  }
5097
5090
  if (Ee) {
@@ -5104,11 +5097,11 @@ function gc(t) {
5104
5097
  }
5105
5098
  }, bt = (w) => {
5106
5099
  if (!P) return;
5107
- const me = ar.find((Ze) => Ze.key === w).name, Re = ot ? ` in ${ot}` : "";
5108
- return Io(e, P, w, { lang: st }).then(() => D(Ye ? `${me} exported${Re} for the first ${q.length} segments — the rest is still transcribing.` : `${me} exported${Re}.`)).catch((Ze) => {
5100
+ 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) => {
5109
5102
  throw M(yt(Ze)), Ze;
5110
5103
  });
5111
- }, it = 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);
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);
5112
5105
  et.current = x;
5113
5106
  const ht = `${oe ?? ""}|${J.on ? "voice" : "source"}`, St = z({ key: ht, idx: 0, t: 0, playing: !1, until: 0 });
5114
5107
  E(() => {
@@ -5122,17 +5115,17 @@ function gc(t) {
5122
5115
  w.until = 0;
5123
5116
  return;
5124
5117
  }
5125
- !x.has || J.relang || (w.until = 0, Math.abs(x.t - w.t) > 0.5 && (x.seekFrac && x.dur > 0 ? x.seekFrac(w.t / x.dur) : x.seekRow(w.idx)), w.playing && !x.playing && (lt.current = !0, x.toggle()));
5118
+ !x.has || J.relang || (w.until = 0, Math.abs(x.t - w.t) > 0.5 && (x.seekFrac && x.dur > 0 ? x.seekFrac(w.t / x.dur) : x.seekRow(w.idx)), w.playing && !x.playing && (ot.current = !0, x.toggle()));
5126
5119
  }
5127
5120
  });
5128
- const Zt = z(!1), lt = z(!1);
5121
+ const Zt = z(!1), ot = z(!1);
5129
5122
  d && (qs.video = !0);
5130
5123
  const [qt, At] = O(!1), [Ln, wn] = O(!1);
5131
5124
  E(() => {
5132
5125
  if (!d || Zt.current || !wt || !$ || Y || t.autoplay === !1) return;
5133
5126
  Zt.current = !0;
5134
5127
  const w = (Ze) => {
5135
- et.current.playing || lt.current || (et.current.toggle(), Ze > 0 && setTimeout(() => w(Ze - 1), 1500));
5128
+ et.current.playing || ot.current || (et.current.toggle(), Ze > 0 && setTimeout(() => w(Ze - 1), 1500));
5136
5129
  }, me = () => {
5137
5130
  et.current.muted || et.current.toggleMute(), At(!0), w(3);
5138
5131
  }, Re = et.current;
@@ -5141,7 +5134,7 @@ function gc(t) {
5141
5134
  return;
5142
5135
  }
5143
5136
  Re.autoplay().then((Ze) => {
5144
- Ze === !1 ? At(!0) : Ze == null && !lt.current && me();
5137
+ Ze === !1 ? At(!0) : Ze == null && !ot.current && me();
5145
5138
  });
5146
5139
  }, [d, wt, $, Y]);
5147
5140
  const ft = z(!1), Kt = () => {
@@ -5159,26 +5152,26 @@ function gc(t) {
5159
5152
  ft.current = !1;
5160
5153
  return;
5161
5154
  }
5162
- lt.current = !0, et.current.toggle();
5163
- }, F = (w) => /* @__PURE__ */ a(Tl, { player: x, size: w }), ve = !!P && !Ye, [Be, Nt] = O(!1);
5155
+ ot.current = !0, et.current.toggle();
5156
+ }, H = (w) => /* @__PURE__ */ a(Tl, { player: x, size: w }), Oe = !!P && !Ye, [Be, Nt] = O(!1);
5164
5157
  E(() => {
5165
- if (!je) {
5158
+ if (!ve) {
5166
5159
  Nt(!1);
5167
5160
  return;
5168
5161
  }
5169
5162
  const w = setTimeout(() => Nt(!0), 180);
5170
5163
  return () => clearTimeout(w);
5171
- }, [je]);
5172
- const zt = Be ? ge : oe, ki = Po(P, oe, q, V), 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) => {
5164
+ }, [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) => {
5173
5166
  Lt.pause(), J.player.pause(), X(w), w === "read" && $ && ($t(!1), U(!1));
5174
- }, Se = J.barChip, Et = di(Se.label), yr = /* @__PURE__ */ a(Ts, { value: R, onChange: zi, bordered: !1, options: Zl(Et, !!Ue) }), Yt = [...ve ? [{ key: "summary", label: "Summary" }] : [], ...vi ? [{ key: "export", label: "Export" }] : []], Tr = (w) => /* @__PURE__ */ f(Pe, { children: [
5175
- w === "summary" && ve && /* @__PURE__ */ a(rl, { s: kn }),
5176
- w === "export" && /* @__PURE__ */ a(el, { audio: dt ? { name: Ge, meta: st && J.canSpeak || Ee ? `MP3${B ? ` · ${mt(B)}` : ""}` : "ORIGINAL AUDIO", onClick: gt } : null, formats: Dt, onExport: bt })
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 })
5177
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 = {
5178
5171
  live: !1,
5179
5172
  atEdge: !1,
5180
5173
  edgeFrac: null,
5181
- readyFrac: Mt != null && x.dur > 0 ? Math.min(1, Mt / x.dur) : null,
5174
+ readyFrac: gt != null && x.dur > 0 ? Math.min(1, gt / x.dur) : null,
5182
5175
  pct: x.dur > 0 ? Math.min(100, Math.round(x.t / x.dur * 1e3) / 10) : 0,
5183
5176
  atLabel: mt(x.t),
5184
5177
  labelAt: (w) => mt(w * x.dur),
@@ -5187,7 +5180,7 @@ function gc(t) {
5187
5180
  var me;
5188
5181
  J.relang || (me = x.seekFrac) == null || me.call(x, w);
5189
5182
  }
5190
- }, [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: je && !!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;
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;
5191
5184
  E(() => {
5192
5185
  var w;
5193
5186
  nt.setVideoSound(!(Fe && (J.on || Cn))), (w = We.silence) == null || w.call(We, !Fe && Cn);
@@ -5197,15 +5190,15 @@ function gc(t) {
5197
5190
  De(oe);
5198
5191
  return;
5199
5192
  }
5200
- lt.current = !0, x.toggle();
5193
+ ot.current = !0, x.toggle();
5201
5194
  }, Ai = () => {
5202
5195
  const w = x.idx;
5203
- x.pause(), ae(null), lt.current = !0, Lt.playRow(w);
5196
+ x.pause(), ae(null), ot.current = !0, Lt.playRow(w);
5204
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: () => {
5205
- lt.current = !0, x.toggle();
5198
+ ot.current = !0, x.toggle();
5206
5199
  }, busy: J.relang && !Ue || tn };
5207
5200
  Wa(wt ? { playing: x.playing, toggle: () => {
5208
- lt.current = !0, x.toggle();
5201
+ ot.current = !0, x.toggle();
5209
5202
  }, next: x.next, prev: x.prev } : null, _e);
5210
5203
  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: () => {
5211
5204
  b(!1), Se.onClick();
@@ -5351,7 +5344,7 @@ function gc(t) {
5351
5344
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5352
5345
  /* @__PURE__ */ f("div", { className: "srow__t", children: [
5353
5346
  "Export",
5354
- ot ? ` in ${ot}` : ""
5347
+ lt ? ` in ${lt}` : ""
5355
5348
  ] }),
5356
5349
  /* @__PURE__ */ a("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
5357
5350
  ] }),
@@ -5432,7 +5425,7 @@ function gc(t) {
5432
5425
  /* @__PURE__ */ a("span", { className: "s", children: Rt })
5433
5426
  ] }),
5434
5427
  !s && /* @__PURE__ */ a("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ a("div", { style: { width: `${_}%` } }) })
5435
- ] }), 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: it, 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: () => {
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: () => {
5436
5429
  M(null), W(), x.clearError(), J.clearError();
5437
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: [
5438
5431
  /* @__PURE__ */ f("div", { className: "ctrans__row", children: [
@@ -5442,22 +5435,22 @@ function gc(t) {
5442
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 }) }),
5443
5436
  /* @__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 }) })
5444
5437
  ] }),
5445
- /* @__PURE__ */ a("span", { className: "ctrans__mute", children: F(36) })
5438
+ /* @__PURE__ */ a("span", { className: "ctrans__mute", children: H(36) })
5446
5439
  ] }),
5447
5440
  /* @__PURE__ */ a("div", { className: "ctrans__scrub", children: Ii(w) })
5448
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: [
5449
5442
  Ue && /* @__PURE__ */ a("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Ue}/hqdefault.jpg)` } }),
5450
5443
  /* @__PURE__ */ a("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ f(Pe, { children: [
5451
5444
  Ge && /* @__PURE__ */ a("div", { className: "gfull__holdt", children: Ge }),
5452
- /* @__PURE__ */ a("div", { className: "gfull__holdpct", children: Oe === "transcribing" ? `${Fr}%` : /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin" }) }),
5453
- /* @__PURE__ */ a("div", { className: "gfull__holdbar", children: /* @__PURE__ */ a("div", { style: { width: `${Oe === "transcribing" ? Fr : 0}%` } }) }),
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}%` } }) }),
5454
5447
  /* @__PURE__ */ f("div", { className: "gfull__holds", children: [
5455
- Oe === "transcribing" ? "Transcribing" : Oe === "cropping" ? "Preparing the video" : "Waiting to start",
5456
- Oe === "transcribing" && (ye != null && ye.segmentsDone) ? ` · ${Rt.toLowerCase()}` : ""
5448
+ Ie === "transcribing" ? "Transcribing" : Ie === "cropping" ? "Preparing the video" : "Waiting to start",
5449
+ Ie === "transcribing" && (ye != null && ye.segmentsDone) ? ` · ${Rt.toLowerCase()}` : ""
5457
5450
  ] }),
5458
5451
  /* @__PURE__ */ a("div", { className: "gfull__holdn", children: "The video starts as soon as the first lines are transcribed." })
5459
5452
  ] }) : /* @__PURE__ */ a("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) })
5460
- ] }), Wr = d && n && (Ye || Oe === "cropping") ? Math.max(0, Math.min(100, Math.round(_))) : null, un = z(t.onProgress);
5453
+ ] }), Wr = d && n && (Ye || Ie === "cropping") ? Math.max(0, Math.min(100, Math.round(_))) : null, un = z(t.onProgress);
5461
5454
  un.current = t.onProgress, E(() => {
5462
5455
  var w;
5463
5456
  (w = un.current) == null || w.call(un, Wr);
@@ -5467,7 +5460,7 @@ function gc(t) {
5467
5460
  Bn || $n(!1);
5468
5461
  }, [Bn]);
5469
5462
  const Vi = t.endCard !== !1 && Bn && !Hi && /* @__PURE__ */ a(ac, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => $n(!0), onReplay: () => {
5470
- $n(!0), lt.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5463
+ $n(!0), ot.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5471
5464
  } });
5472
5465
  if (d) return /* @__PURE__ */ f(Pe, { children: [
5473
5466
  r ? /* @__PURE__ */ a("div", { className: "gfull", "data-theme": "dark", children: Pn }) : Bi || kt || /* @__PURE__ */ a("div", { className: "gfull", "data-theme": "dark" }),