@vocalstack/player 0.1.0-alpha.10 → 0.1.0-alpha.12

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
@@ -1,12 +1,12 @@
1
- var da = Object.defineProperty;
2
- var Ma = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var ge = (t, e, n) => Ma(t, typeof e != "symbol" ? e + "" : e, n);
1
+ var Ma = Object.defineProperty;
2
+ var ga = (t, e, n) => e in t ? Ma(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var he = (t, e, n) => ga(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as i, jsxs as f, Fragment as Pe } from "react/jsx-runtime";
5
- import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as Xr, useMemo as Ie, useContext as ha, useCallback as qe, Fragment as ga, forwardRef as fa, useImperativeHandle as Na } from "react";
6
- import { createPortal as pa } from "react-dom";
7
- import { VocalStackError as ei, VocalStack as ti } from "@vocalstack/js-sdk";
8
- const ni = "https://vocalstack.com", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
- function La({ size: t = 16, sw: e = 1.5, children: n, style: s, ...r }) {
5
+ import { useState as O, useRef as z, useEffect as Y, useLayoutEffect as Qt, createContext as ei, useMemo as Ie, useContext as ha, useCallback as qe, Fragment as fa, forwardRef as Na, useImperativeHandle as pa } from "react";
6
+ import { createPortal as ma } from "react-dom";
7
+ import { VocalStackError as ti, VocalStack as ni } from "@vocalstack/js-sdk";
8
+ const si = "https://vocalstack.com", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", La = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
+ function ka({ size: t = 16, sw: e = 1.5, children: n, style: s, ...r }) {
10
10
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...s }, ...r, children: n });
11
11
  }
12
12
  const q = {
@@ -53,12 +53,12 @@ const q = {
53
53
  video: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z"
54
54
  };
55
55
  function de({ d: t, ...e }) {
56
- return /* @__PURE__ */ i(La, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
56
+ return /* @__PURE__ */ i(ka, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
57
57
  }
58
- function ka({ size: t = 15 }) {
58
+ function va({ size: t = 15 }) {
59
59
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ i("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2.5" }) });
60
60
  }
61
- function si({ size: t = 13 }) {
61
+ function ri({ size: t = 13 }) {
62
62
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", style: { marginLeft: 2 }, "aria-hidden": "true", children: /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" }) });
63
63
  }
64
64
  function ct({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,127,.35)", sw: s }) {
@@ -80,23 +80,23 @@ function ct({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
80
80
  }
81
81
  );
82
82
  }
83
- function va({ size: t = 12 }) {
83
+ function ja({ size: t = 12 }) {
84
84
  return /* @__PURE__ */ f("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
85
85
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
86
86
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
87
87
  ] });
88
88
  }
89
89
  function vn({ dark: t, height: e = 20, link: n = !0 }) {
90
- const s = /* @__PURE__ */ i("img", { src: t ? ma : ya, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
- return n ? /* @__PURE__ */ i("a", { href: ni, style: { display: "block" }, children: s }) : s;
90
+ const s = /* @__PURE__ */ i("img", { src: t ? ya : Ta, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
+ return n ? /* @__PURE__ */ i("a", { href: si, style: { display: "block" }, children: s }) : s;
92
92
  }
93
- function ri({ dark: t, size: e = 30 }) {
94
- return /* @__PURE__ */ i("img", { src: t ? Ta : wa, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
93
+ function ii({ dark: t, size: e = 30 }) {
94
+ return /* @__PURE__ */ i("img", { src: t ? wa : La, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
95
95
  }
96
96
  function Sr({ children: t, panel: e, inset: n, className: s = "", style: r }) {
97
97
  return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${s}`, style: r, children: t });
98
98
  }
99
- function ft({ checked: t, onChange: e, label: n, disabled: s }) {
99
+ function Nt({ checked: t, onChange: e, label: n, disabled: s }) {
100
100
  return /* @__PURE__ */ i("button", { type: "button", role: "switch", "aria-checked": t, "aria-label": n, className: "vs-toggle", disabled: s, onClick: () => e(!t), children: /* @__PURE__ */ i("span", { className: "vs-toggle__knob" }) });
101
101
  }
102
102
  function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill: a }) {
@@ -104,16 +104,16 @@ function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
104
104
  return Qt(() => {
105
105
  const u = o.current;
106
106
  if (!u) return;
107
- const g = u.querySelectorAll(".vs-switch__opt")[d];
108
- g && c({ left: g.offsetLeft, width: g.offsetWidth });
107
+ const h = u.querySelectorAll(".vs-switch__opt")[d];
108
+ h && c({ left: h.offsetLeft, width: h.offsetWidth });
109
109
  }, [d, n.length]), Y(() => {
110
110
  const u = o.current;
111
111
  if (!u || typeof ResizeObserver > "u") return;
112
- const g = new ResizeObserver(() => {
112
+ const h = new ResizeObserver(() => {
113
113
  const M = u.querySelectorAll(".vs-switch__opt")[d];
114
114
  M && c({ left: M.offsetLeft, width: M.offsetWidth });
115
115
  });
116
- return g.observe(u), () => g.disconnect();
116
+ return h.observe(u), () => h.disconnect();
117
117
  }, [d]), /* @__PURE__ */ f("div", { ref: o, role: "tablist", className: `vs-switch${s === "sm" ? " vs-switch--sm" : ""}${r ? "" : " vs-switch--borderless"}${a ? " vs-switch--fill" : ""}`, children: [
118
118
  l && /* @__PURE__ */ i("span", { className: "vs-switch__thumb", style: { left: l.left, width: l.width }, "aria-hidden": "true" }),
119
119
  n.map((u) => /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": u.value === t, className: "vs-switch__opt", onClick: () => e(u.value), children: [
@@ -122,7 +122,7 @@ function as({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
122
122
  ] }, u.value))
123
123
  ] });
124
124
  }
125
- function ja({ children: t, onClick: e, label: n, size: s, variant: r, bordered: a = !0, active: o, title: l }) {
125
+ function za({ children: t, onClick: e, label: n, size: s, variant: r, bordered: a = !0, active: o, title: l }) {
126
126
  return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${s === "sm" ? " vs-icon-btn--sm" : ""}${r === "primary" ? " vs-icon-btn--primary" : ""}${o ? " vs-icon-btn--primary" : ""}${a ? "" : " vs-icon-btn--borderless"}`, onClick: e, "aria-label": n, title: l ?? n, children: t });
127
127
  }
128
128
  function wn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c }) {
@@ -133,7 +133,7 @@ function wn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bord
133
133
  /* @__PURE__ */ i(de, { d: q.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
134
134
  ] });
135
135
  }
136
- function za({ value: t, label: e = "Copy", onCopied: n }) {
136
+ function Ia({ value: t, label: e = "Copy", onCopied: n }) {
137
137
  const [s, r] = O(!1), a = async () => {
138
138
  try {
139
139
  await navigator.clipboard.writeText(t), r(!0), n == null || n(), setTimeout(() => r(!1), 1400);
@@ -158,7 +158,7 @@ function za({ value: t, label: e = "Copy", onCopied: n }) {
158
158
  }
159
159
  );
160
160
  }
161
- function Ia(t, e) {
161
+ function Oa(t, e) {
162
162
  Qt(() => {
163
163
  const n = t.current, s = window.visualViewport;
164
164
  if (!e || !n || !s) return;
@@ -189,21 +189,21 @@ function os({ children: t, ms: e = 220 }) {
189
189
  clearTimeout(c), a(Math.min(M, d())), M > d() && (c = setTimeout(() => a(M), e));
190
190
  };
191
191
  if (u(), typeof ResizeObserver > "u") return () => clearTimeout(c);
192
- const g = new ResizeObserver(u);
193
- return g.observe(o), () => {
194
- g.disconnect(), clearTimeout(c);
192
+ const h = new ResizeObserver(u);
193
+ return h.observe(o), () => {
194
+ h.disconnect(), clearTimeout(c);
195
195
  };
196
196
  }, [e]), /* @__PURE__ */ i("div", { ref: n, style: { height: r ?? void 0, overflow: "clip", transition: r == null ? void 0 : `height ${e}ms cubic-bezier(.32,.72,0,1)` }, children: /* @__PURE__ */ i("div", { ref: s, children: t }) });
197
197
  }
198
198
  function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: d, sticky: u = !1 }) {
199
- const g = z(null);
200
- return Ia(g, t), Y(() => {
199
+ const h = z(null);
200
+ return Oa(h, t), Y(() => {
201
201
  if (!t) return;
202
202
  const M = (N) => {
203
203
  N.key === "Escape" && e();
204
204
  };
205
205
  return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
206
- }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: g, className: `vs-sheet-scrim${l ? " drawer" : ""}${u ? " vs-sheet-scrim--sticky" : ""}`, onClick: u ? void 0 : e, children: /* @__PURE__ */ f("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
206
+ }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: h, className: `vs-sheet-scrim${l ? " drawer" : ""}${u ? " vs-sheet-scrim--sticky" : ""}`, onClick: u ? void 0 : e, children: /* @__PURE__ */ f("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
207
207
  /* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
208
208
  /* @__PURE__ */ f("div", { className: "vs-sheet__head", children: [
209
209
  s ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
@@ -214,7 +214,7 @@ function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a
214
214
  /* @__PURE__ */ i("div", { className: "vs-sheet__body", children: o })
215
215
  ] }) }) : null;
216
216
  }
217
- Xr(0);
217
+ ei(0);
218
218
  function ls({ children: t, style: e, className: n }) {
219
219
  return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
220
220
  }
@@ -222,7 +222,7 @@ let mn = null;
222
222
  function Bc(t) {
223
223
  mn = t;
224
224
  }
225
- function ii(t) {
225
+ function ai(t) {
226
226
  mn == null || mn(t);
227
227
  }
228
228
  function jn() {
@@ -232,11 +232,11 @@ function jn() {
232
232
  return "ogg";
233
233
  }
234
234
  }
235
- function Oa(t = {}) {
235
+ function Ca(t = {}) {
236
236
  const e = new URLSearchParams();
237
237
  return t.media ? e.set("media", t.media) : t.accessToken && e.set("access_token", t.accessToken), t.listenerToken && e.set("listenerToken", t.listenerToken), t.shareCode && e.set("shareCode", t.shareCode), e.toString();
238
238
  }
239
- async function Ca(t) {
239
+ async function ba(t) {
240
240
  try {
241
241
  const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
242
242
  if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
@@ -251,7 +251,7 @@ async function Ca(t) {
251
251
  return null;
252
252
  }
253
253
  }
254
- function ba(t, e, n = {}) {
254
+ function xa(t, e, n = {}) {
255
255
  const s = new URLSearchParams({ kind: "delivery", format: jn() });
256
256
  return n.accessToken && s.set("access_token", n.accessToken), n.listenerToken && s.set("listenerToken", n.listenerToken), n.shareCode && s.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
257
257
  }
@@ -263,42 +263,42 @@ function qn(t, e, n, s = {}) {
263
263
  const r = new URLSearchParams({ kind: n });
264
264
  return n === "delivery" && r.set("format", "mp3"), s.accessToken && r.set("access_token", s.accessToken), s.listenerToken && r.set("listenerToken", s.listenerToken), s.shareCode && r.set("shareCode", s.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
265
265
  }
266
- function xa(t, e, n, s, r = {}) {
267
- return Da(t, e, n, s, "mp3", r);
266
+ function Da(t, e, n, s, r = {}) {
267
+ return Sa(t, e, n, s, "mp3", r);
268
268
  }
269
- function Da(t, e, n, s, r, a) {
269
+ function Sa(t, e, n, s, r, a) {
270
270
  const o = new URLSearchParams({ kind: "voice", lang: n, format: r });
271
271
  return s && o.set("voice", s), a.accessToken && o.set("access_token", a.accessToken), a.listenerToken && o.set("listenerToken", a.listenerToken), a.shareCode && o.set("shareCode", a.shareCode), `${t}/v1/recordings/${e}/audio?${o}`;
272
272
  }
273
- function Sa(t, e = !0) {
273
+ function Aa(t, e = !0) {
274
274
  const n = (t == null ? void 0 : t.code) ?? 0, s = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
275
- return e && ai(t), `The audio could not be played: ${s}.`;
275
+ return e && oi(t), `The audio could not be played: ${s}.`;
276
276
  }
277
- function ai(t) {
277
+ function oi(t) {
278
278
  const e = (t == null ? void 0 : t.code) ?? 0;
279
- e !== 1 && ii(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
279
+ e !== 1 && ai(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
280
280
  }
281
- const Aa = 3e3;
282
- function Ea(t, e, n) {
281
+ const Ea = 3e3;
282
+ function Ya(t, e, n) {
283
283
  if (t !== 503) return null;
284
284
  const s = e == null || e.trim() === "" ? NaN : Number(e);
285
285
  if (Number.isFinite(s)) return Math.min(15e3, Math.max(1e3, s * 1e3));
286
286
  const r = n;
287
- return r && (r.retryable === !0 || r.code === "engine_unavailable") ? Aa : null;
287
+ return r && (r.retryable === !0 || r.code === "engine_unavailable") ? Ea : null;
288
288
  }
289
- class Ya {
289
+ class _a {
290
290
  constructor(e = {}) {
291
- ge(this, "entries", /* @__PURE__ */ new Map());
292
- ge(this, "wanted", []);
293
- ge(this, "used", []);
294
- ge(this, "fetcher");
295
- ge(this, "concurrency");
296
- ge(this, "keep");
297
- ge(this, "retryMs");
298
- ge(this, "now");
299
- ge(this, "toUrl");
300
- ge(this, "revoke");
301
- ge(this, "onReady", () => {
291
+ he(this, "entries", /* @__PURE__ */ new Map());
292
+ he(this, "wanted", []);
293
+ he(this, "used", []);
294
+ he(this, "fetcher");
295
+ he(this, "concurrency");
296
+ he(this, "keep");
297
+ he(this, "retryMs");
298
+ he(this, "now");
299
+ he(this, "toUrl");
300
+ he(this, "revoke");
301
+ he(this, "onReady", () => {
302
302
  });
303
303
  this.fetcher = e.fetcher ?? (typeof fetch == "function" ? (n, s) => fetch(n, { signal: s }) : null), this.concurrency = Math.max(1, e.concurrency ?? 2), this.keep = Math.max(2, e.keep ?? 24), this.retryMs = e.retryMs ?? 4e3, this.now = e.now ?? (() => Date.now()), this.toUrl = e.toUrl ?? ((n) => URL.createObjectURL(n)), this.revoke = e.revoke ?? ((n) => {
304
304
  try {
@@ -379,63 +379,63 @@ class Ya {
379
379
  }).catch(() => s(n.signal.aborted ? null : { state: "failed", at: this.now() }));
380
380
  }
381
381
  }
382
- const oi = { video: !1 };
383
- function li(t) {
384
- if (!oi.video) return new Audio(t);
382
+ const li = { video: !1 };
383
+ function ci(t) {
384
+ if (!li.video) return new Audio(t);
385
385
  const e = document.createElement("video");
386
386
  return e.playsInline = !0, t && (e.src = t), e;
387
387
  }
388
- class ci extends Error {
388
+ class ui extends Error {
389
389
  constructor() {
390
390
  super("The voice did not start in time."), this.name = "VoiceNotStarted";
391
391
  }
392
392
  }
393
393
  const nt = class nt {
394
394
  constructor() {
395
- ge(this, "el", null);
396
- ge(this, "clips", /* @__PURE__ */ new Map());
397
- ge(this, "order", []);
398
- ge(this, "current", null);
399
- ge(this, "currentPart", 0);
400
- ge(this, "partBase", 0);
401
- ge(this, "within", null);
402
- ge(this, "playing", !1);
403
- ge(this, "muted", !1);
404
- ge(this, "rate", 1);
405
- ge(this, "volume", 1);
406
- ge(this, "finite", !1);
407
- ge(this, "onSentence", () => {
395
+ he(this, "el", null);
396
+ he(this, "clips", /* @__PURE__ */ new Map());
397
+ he(this, "order", []);
398
+ he(this, "current", null);
399
+ he(this, "currentPart", 0);
400
+ he(this, "partBase", 0);
401
+ he(this, "within", null);
402
+ he(this, "playing", !1);
403
+ he(this, "muted", !1);
404
+ he(this, "rate", 1);
405
+ he(this, "volume", 1);
406
+ he(this, "finite", !1);
407
+ he(this, "onSentence", () => {
408
408
  });
409
- ge(this, "onWaiting", () => {
409
+ he(this, "onWaiting", () => {
410
410
  });
411
- ge(this, "onStarting", () => {
411
+ he(this, "onStarting", () => {
412
412
  });
413
- ge(this, "speakable", () => !0);
414
- ge(this, "coming", () => !1);
415
- ge(this, "gapBefore", () => 0);
416
- ge(this, "flow", !1);
417
- ge(this, "silentSpan", () => null);
418
- ge(this, "lastDone", null);
419
- ge(this, "rested", !1);
420
- ge(this, "rest", null);
421
- ge(this, "sequence", []);
422
- ge(this, "seqAt", /* @__PURE__ */ new Map());
423
- ge(this, "spoken", /* @__PURE__ */ new Set());
424
- ge(this, "lastRead", null);
425
- ge(this, "started", !1);
426
- ge(this, "awaiting", null);
427
- ge(this, "waitTimer", null);
428
- ge(this, "onError", () => {
413
+ he(this, "speakable", () => !0);
414
+ he(this, "coming", () => !1);
415
+ he(this, "gapBefore", () => 0);
416
+ he(this, "flow", !1);
417
+ he(this, "silentSpan", () => null);
418
+ he(this, "lastDone", null);
419
+ he(this, "rested", !1);
420
+ he(this, "rest", null);
421
+ he(this, "sequence", []);
422
+ he(this, "seqAt", /* @__PURE__ */ new Map());
423
+ he(this, "spoken", /* @__PURE__ */ new Set());
424
+ he(this, "lastRead", null);
425
+ he(this, "started", !1);
426
+ he(this, "awaiting", null);
427
+ he(this, "waitTimer", null);
428
+ he(this, "onError", () => {
429
429
  });
430
- ge(this, "floor", 0);
431
- ge(this, "loading", null);
432
- ge(this, "readAhead", 0);
433
- ge(this, "readAheadS", 0);
434
- ge(this, "prefetch", new Ya());
435
- ge(this, "warmed", /* @__PURE__ */ new Set());
436
- ge(this, "startingSince", /* @__PURE__ */ new Map());
437
- ge(this, "retries", /* @__PURE__ */ new Map());
438
- ge(this, "retryTimer", null);
430
+ he(this, "floor", 0);
431
+ he(this, "loading", null);
432
+ he(this, "readAhead", 0);
433
+ he(this, "readAheadS", 0);
434
+ he(this, "prefetch", new _a());
435
+ he(this, "warmed", /* @__PURE__ */ new Set());
436
+ he(this, "startingSince", /* @__PURE__ */ new Map());
437
+ he(this, "retries", /* @__PURE__ */ new Map());
438
+ he(this, "retryTimer", null);
439
439
  }
440
440
  setSequence(e) {
441
441
  e.length === this.sequence.length && e.every((n, s) => this.sequence[s] === n) || (this.sequence = e, this.seqAt = new Map(e.map((n, s) => [n, s])), this.order.sort((n, s) => this.rank(n) - this.rank(s)));
@@ -695,16 +695,16 @@ const nt = class nt {
695
695
  let o = 0;
696
696
  if (a)
697
697
  if (this.within = null, s.total > 1) {
698
- const c = Array.from({ length: s.total }, (u, g) => {
698
+ const c = Array.from({ length: s.total }, (u, h) => {
699
699
  var M;
700
- return ((M = s.got.get(g)) == null ? void 0 : M.durationS) ?? 0;
701
- }), d = c.reduce((u, g) => u + g, 0);
700
+ return ((M = s.got.get(h)) == null ? void 0 : M.durationS) ?? 0;
701
+ }), d = c.reduce((u, h) => u + h, 0);
702
702
  if (d > 0 && c.every((u) => u > 0)) {
703
703
  const u = a.frac * d;
704
- let g = 0, M = 0;
705
- for (; g < c.length - 1 && M + c[g] <= u; ) M += c[g++];
706
- if (o = -(u - M), g !== n) {
707
- this.partBase = M, this.startPartAt(e, g, u - M);
704
+ let h = 0, M = 0;
705
+ for (; h < c.length - 1 && M + c[h] <= u; ) M += c[h++];
706
+ if (o = -(u - M), h !== n) {
707
+ this.partBase = M, this.startPartAt(e, h, u - M);
708
708
  return;
709
709
  }
710
710
  }
@@ -737,9 +737,9 @@ const nt = class nt {
737
737
  if (this.rank(c) <= l || !this.speakable(c)) continue;
738
738
  const d = this.clips.get(c);
739
739
  if (d)
740
- for (const u of [...d.got.keys()].sort((g, M) => g - M)) {
741
- const g = d.got.get(u);
742
- s.push(g), r += g.durationS || 0;
740
+ for (const u of [...d.got.keys()].sort((h, M) => h - M)) {
741
+ const h = d.got.get(u);
742
+ s.push(h), r += h.durationS || 0;
743
743
  }
744
744
  }
745
745
  return s;
@@ -767,7 +767,7 @@ const nt = class nt {
767
767
  const l = await fetch(n, { method: "GET" });
768
768
  r = l.ok, s = l.status === 202 || l.status === 503 || l.status === 429;
769
769
  const c = l.status === 503 ? await l.json().catch(() => null) : null;
770
- a = Ea(l.status, l.headers.get("Retry-After"), c);
770
+ a = Ya(l.status, l.headers.get("Retry-After"), c);
771
771
  } catch {
772
772
  s = !0;
773
773
  }
@@ -788,7 +788,7 @@ const nt = class nt {
788
788
  }, a);
789
789
  return;
790
790
  }
791
- this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ci()), this.onSentence(e);
791
+ this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ui()), this.onSentence(e);
792
792
  return;
793
793
  }
794
794
  const o = (this.retries.get(e) ?? 0) + 1;
@@ -816,7 +816,7 @@ const nt = class nt {
816
816
  }
817
817
  element() {
818
818
  if (this.el) return this.el;
819
- const e = li();
819
+ const e = ci();
820
820
  e.preload = "auto";
821
821
  const n = e;
822
822
  return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
@@ -868,44 +868,44 @@ const nt = class nt {
868
868
  this.onWaiting(null), this.onStarting(null), this.playing = !1, this.current = null, this.currentPart = 0, this.partBase = 0, this.loading = null, this.floor = 0, this.lastRead = null, this.started = !1, this.stopWaiting(), this.spoken.clear(), this.retryTimer && (clearTimeout(this.retryTimer), this.retryTimer = null), this.retries.clear(), this.prefetch.clear(), e && (e.pause(), e.removeAttribute("src"), e.load()), this.el = null;
869
869
  }
870
870
  };
871
- ge(nt, "WAIT_MS", 15e3), ge(nt, "START_WAIT_MS", 4e3), ge(nt, "COMING_MS", 12e4), ge(nt, "SKEW_LINES", 3), ge(nt, "RETRIES", 4), ge(nt, "RETRY_MS", 1200), ge(nt, "STARTING_MS", 3e5);
871
+ he(nt, "WAIT_MS", 15e3), he(nt, "START_WAIT_MS", 4e3), he(nt, "COMING_MS", 12e4), he(nt, "SKEW_LINES", 3), he(nt, "RETRIES", 4), he(nt, "RETRY_MS", 1200), he(nt, "STARTING_MS", 3e5);
872
872
  let cs = nt;
873
- function ui(t, e) {
873
+ function di(t, e) {
874
874
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
875
875
  }
876
- function _a(t, e, n, s = {}, r) {
876
+ function Ua(t, e, n, s = {}, r) {
877
877
  if (!t) return [];
878
878
  const a = r != null && r.length ? r : t.clips;
879
879
  if (!(a != null && a.length)) return [];
880
- const o = Oa(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
880
+ const o = Ca(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
881
881
  return a.flatMap((d) => {
882
882
  var M, N;
883
- const u = (M = t.clipRev) == null ? void 0 : M[String(d)], g = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(d)]) ?? 1);
884
- return Array.from({ length: g }, (m, w) => {
883
+ const u = (M = t.clipRev) == null ? void 0 : M[String(d)], h = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(d)]) ?? 1);
884
+ return Array.from({ length: h }, (m, w) => {
885
885
  var v;
886
886
  return {
887
887
  sentenceId: d,
888
888
  lang: t.lang,
889
889
  src: `${n}/v1/recordings/${e}/voice/${d}?lang=${encodeURIComponent(t.lang)}${c}&format=${jn()}${w > 0 ? `&part=${w}` : ""}${u ? `&v=${encodeURIComponent(u)}` : ""}${l}`,
890
- durationS: g === 1 ? ((v = t.clipDur) == null ? void 0 : v[String(d)]) ?? 0 : 0,
890
+ durationS: h === 1 ? ((v = t.clipDur) == null ? void 0 : v[String(d)]) ?? 0 : 0,
891
891
  voice: t.voice ?? null,
892
892
  cloned: !1,
893
893
  part: w,
894
- parts: g
894
+ parts: h
895
895
  };
896
896
  });
897
897
  });
898
898
  }
899
- function di(t, e) {
899
+ function Mi(t, e) {
900
900
  const n = e.words;
901
901
  if (n && n.length === t.length && t.length > 0) {
902
902
  let s = 0;
903
903
  for (let r = 0; r < n.length && e.t >= n[r][0]; r++) s = r;
904
904
  return s;
905
905
  }
906
- return e.dur > 0 ? Ua(t, e.t, e.dur) : null;
906
+ return e.dur > 0 ? Ra(t, e.t, e.dur) : null;
907
907
  }
908
- function Ua(t, e, n) {
908
+ function Ra(t, e, n) {
909
909
  if (t.length <= 1 || !(n > 0)) return 0;
910
910
  const s = t.map((l) => l.t.length + 1.6), r = s.reduce((l, c) => l + c, 0);
911
911
  let a = 0;
@@ -923,7 +923,7 @@ function Ms(t, e) {
923
923
  return e;
924
924
  }
925
925
  }
926
- function Mi(t, e) {
926
+ function gi(t, e) {
927
927
  try {
928
928
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
929
929
  } catch {
@@ -938,12 +938,12 @@ function ks(t, e) {
938
938
  ds.delete(r), window.removeEventListener("storage", r);
939
939
  };
940
940
  }, [t]), [n, (r) => {
941
- s(r), Mi(t, r);
941
+ s(r), gi(t, r);
942
942
  }];
943
943
  }
944
944
  function Er(t) {
945
945
  const e = Ms(us, []);
946
- Mi(us, Array.isArray(e) ? e.filter((n) => n !== t) : []);
946
+ gi(us, Array.isArray(e) ? e.filter((n) => n !== t) : []);
947
947
  }
948
948
  function hi() {
949
949
  const [t, e] = ks(us, []), n = Array.isArray(t) ? t : [];
@@ -951,35 +951,35 @@ function hi() {
951
951
  s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
952
952
  }];
953
953
  }
954
- function gi(t, e) {
954
+ function fi(t, e) {
955
955
  if (!t) return [];
956
956
  const n = new Set(t[e]);
957
957
  return t.languages.filter((s) => n.has(s.code)).map((s) => ({ code: s.code, label: s.name, native: s.native, flag: s.flag ?? "🌐", voice: !!s.voice }));
958
958
  }
959
- function Ra(t) {
959
+ function Pa(t) {
960
960
  const [e, n] = ks(`vs.pins.${t}`, null);
961
961
  return [Array.isArray(e) ? e : [], n];
962
962
  }
963
- const Pa = 352;
964
- function Qa(t) {
963
+ const Qa = 352;
964
+ function $a(t) {
965
965
  const [e, n] = ks(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
966
- return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Pa, n];
966
+ return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Qa, n];
967
967
  }
968
- function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: g }) {
968
+ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: h }) {
969
969
  const [M, N] = O(""), [m, w] = O(!1), [v, p] = O(null);
970
970
  Y(() => {
971
971
  t && (N(""), w(!1), p(null));
972
972
  }, [t]);
973
- const h = Ie(() => {
973
+ const g = Ie(() => {
974
974
  const S = M.trim().toLowerCase();
975
975
  return [...S ? r.filter((I) => I.label.toLowerCase().includes(S) || I.native.toLowerCase().includes(S) || I.code.toLowerCase().includes(S)) : r].sort((I, E) => {
976
976
  const oe = l.indexOf(I.code), P = l.indexOf(E.code);
977
977
  return oe !== -1 || P !== -1 ? (oe === -1 ? 999 : oe) - (P === -1 ? 999 : P) : I.label.localeCompare(E.label);
978
978
  });
979
979
  }, [r, M, l]), C = Ie(
980
- () => M ? [] : c.map((S) => h.find(($) => $.code === S)).filter((S) => !!S).sort((S, $) => S.label.localeCompare($.label)),
981
- [c, h, M]
982
- ), b = Ie(() => C.length ? h.filter((S) => !C.some(($) => $.code === S.code)) : h, [h, C]), k = m || M ? b : b.slice(0, 12), J = b.length - k.length, A = (S, $ = !1) => {
980
+ () => M ? [] : c.map((S) => g.find(($) => $.code === S)).filter((S) => !!S).sort((S, $) => S.label.localeCompare($.label)),
981
+ [c, g, M]
982
+ ), x = Ie(() => C.length ? g.filter((S) => !C.some(($) => $.code === S.code)) : g, [g, C]), k = m || M ? x : x.slice(0, 12), J = x.length - k.length, A = (S, $ = !1) => {
983
983
  const L = !!d && !S.voice;
984
984
  return /* @__PURE__ */ f(
985
985
  "button",
@@ -1006,7 +1006,7 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1006
1006
  (I.key === "Enter" || I.key === " ") && (I.preventDefault(), I.stopPropagation(), Er(S.code));
1007
1007
  }, children: /* @__PURE__ */ i(de, { d: q.close, size: 16 }) }) }),
1008
1008
  /* @__PURE__ */ i("span", { className: `vs-picker__slot${L ? " vs-picker__slot--wide" : ""}`, title: S.voice ? "Voice available" : L ? "No voice speaks this language yet" : void 0, children: L ? v === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(de, { d: q.headphones, size: 16 }) }),
1009
- /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (g === S.code ? /* @__PURE__ */ i(ct, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(de, { d: q.check, size: 16, sw: 2.2 })) })
1009
+ /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (h === S.code ? /* @__PURE__ */ i(ct, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(de, { d: q.check, size: 16, sw: 2.2 })) })
1010
1010
  ]
1011
1011
  },
1012
1012
  S.code
@@ -1038,7 +1038,7 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1038
1038
  J,
1039
1039
  " MORE LANGUAGES"
1040
1040
  ] }),
1041
- h.length === 0 && /* @__PURE__ */ f("div", { className: "vs-picker__more", children: [
1041
+ g.length === 0 && /* @__PURE__ */ f("div", { className: "vs-picker__more", children: [
1042
1042
  "No match for “",
1043
1043
  M,
1044
1044
  "”"
@@ -1046,41 +1046,41 @@ function vs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
1046
1046
  ] });
1047
1047
  return { search: K, list: j };
1048
1048
  }
1049
- function $a({ open: t, onClose: e, title: n, note: s, sticky: r, ...a }) {
1049
+ function Ba({ open: t, onClose: e, title: n, note: s, sticky: r, ...a }) {
1050
1050
  const { search: o, list: l } = vs({ ...a, open: t, onClose: e });
1051
1051
  return /* @__PURE__ */ i($t, { open: t, onClose: e, title: n, note: s, drawer: !1, sticky: r, kind: "picker", header: o, children: l });
1052
1052
  }
1053
- const Ba = 0.3;
1053
+ const Ha = 0.3;
1054
1054
  function Yr(t, e) {
1055
- t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ba && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1055
+ t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ha && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1056
1056
  }) : t.paused || t.pause();
1057
1057
  }
1058
- const Ln = "Remove background sound", Ha = "Takes out everything that isn't speech: music, ambience and noise.";
1059
- function Va(t) {
1058
+ const Ln = "Remove background sound", Va = "Takes out everything that isn't speech: music, ambience and noise.";
1059
+ function Wa(t) {
1060
1060
  const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), s = Math.floor(e % 3600 / 60), r = String(e % 60).padStart(2, "0");
1061
1061
  return n ? `${n}:${String(s).padStart(2, "0")}:${r}` : `${s}:${r}`;
1062
1062
  }
1063
- function Wa(t, e, n = "transcription", s = 0) {
1064
- return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${Va(s)}` : "Separating the speech from the background…" : Ha;
1063
+ function Fa(t, e, n = "transcription", s = 0) {
1064
+ return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? s > 0 ? `Separating the speech from the background… ready up to ${Wa(s)}` : "Separating the speech from the background…" : Va;
1065
1065
  }
1066
- function Fa(t, e) {
1066
+ function Ga(t, e) {
1067
1067
  return { bed: e && !t, speech: !e && t };
1068
1068
  }
1069
- function Ga(t) {
1069
+ function Za(t) {
1070
1070
  const e = t.get("bg");
1071
1071
  return e === "off" || e === "remove";
1072
1072
  }
1073
- function Za(t, e) {
1073
+ function qa(t, e) {
1074
1074
  e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
1075
1075
  }
1076
- function qa(t, e) {
1076
+ function Ka(t, e) {
1077
1077
  var s, r;
1078
1078
  if (t !== 503) return null;
1079
1079
  const n = (r = (s = e == null ? void 0 : e.data) == null ? void 0 : s.details) == null ? void 0 : r.retryAfterS;
1080
1080
  return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
1081
1081
  }
1082
- const Ka = 0.05;
1083
- function Ja(t) {
1082
+ const Ja = 0.05;
1083
+ function Xa(t) {
1084
1084
  var s, r;
1085
1085
  const e = (r = (s = t == null ? void 0 : t.data) == null ? void 0 : s.details) == null ? void 0 : r.parts, n = [];
1086
1086
  if (Array.isArray(e))
@@ -1092,8 +1092,8 @@ function Ja(t) {
1092
1092
  }
1093
1093
  return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
1094
1094
  }
1095
- function Xa(t, e) {
1096
- if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ka) return -1;
1095
+ function eo(t, e) {
1096
+ if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ja) return -1;
1097
1097
  let n = 0, s = t.length - 1;
1098
1098
  for (; n < s; ) {
1099
1099
  const r = n + s + 1 >> 1;
@@ -1101,23 +1101,23 @@ function Xa(t, e) {
1101
1101
  }
1102
1102
  return n;
1103
1103
  }
1104
- function eo(t, e, n, s) {
1104
+ function to(t, e, n, s) {
1105
1105
  const r = t[e].startS, a = n[s] === r ? s : n[1 - s] === r ? 1 - s : s, o = [];
1106
1106
  n[a] !== r && o.push([a, e]);
1107
1107
  const l = 1 - a;
1108
1108
  return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
1109
1109
  }
1110
- async function to(t) {
1110
+ async function no(t) {
1111
1111
  const e = await fetch(t, { redirect: "manual", credentials: "omit" });
1112
1112
  if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
1113
1113
  const n = await e.json().catch(() => null);
1114
- return { ready: !1, retryS: qa(e.status, n), ...Ja(n) };
1114
+ return { ready: !1, retryS: Ka(e.status, n), ...Xa(n) };
1115
1115
  }
1116
1116
  function Kn(t) {
1117
1117
  t && (t.pause(), t.removeAttribute("src"), t.load());
1118
1118
  }
1119
- function fi(t, e) {
1120
- const [n, s] = O("off"), [r, a] = O([]), [o, l] = O(!1), c = z(null), d = z([null, null]), u = z([NaN, NaN]), g = z(0);
1119
+ function Ni(t, e) {
1120
+ const [n, s] = O("off"), [r, a] = O([]), [o, l] = O(!1), c = z(null), d = z([null, null]), u = z([NaN, NaN]), h = z(0);
1121
1121
  return Y(() => {
1122
1122
  if (a([]), l(!1), !t) {
1123
1123
  s("off");
@@ -1126,7 +1126,7 @@ function fi(t, e) {
1126
1126
  let M = !1, N;
1127
1127
  s("making");
1128
1128
  const m = () => {
1129
- to(t).then((w) => {
1129
+ no(t).then((w) => {
1130
1130
  if (!M) {
1131
1131
  if (w.ready) {
1132
1132
  const v = new Audio();
@@ -1141,7 +1141,7 @@ function fi(t, e) {
1141
1141
  s("unavailable"), a([]);
1142
1142
  return;
1143
1143
  }
1144
- a((v) => v.length === w.parts.length && v.every((p, h) => p.startS === w.parts[h].startS) ? v : w.parts), N = setTimeout(m, w.retryS * 1e3);
1144
+ a((v) => v.length === w.parts.length && v.every((p, g) => p.startS === w.parts[g].startS) ? v : w.parts), N = setTimeout(m, w.retryS * 1e3);
1145
1145
  }
1146
1146
  }).catch(() => {
1147
1147
  M || (N = setTimeout(m, 5e3));
@@ -1158,31 +1158,31 @@ function fi(t, e) {
1158
1158
  M(), Yr(c.current, e), l(!0);
1159
1159
  return;
1160
1160
  }
1161
- const N = n === "making" ? Xa(r, e.t) : -1;
1161
+ const N = n === "making" ? eo(r, e.t) : -1;
1162
1162
  if (N < 0) {
1163
1163
  M(), l(!1);
1164
1164
  return;
1165
1165
  }
1166
- const m = eo(r, N, u.current, g.current);
1167
- for (const [p, h] of m.load) {
1166
+ const m = to(r, N, u.current, h.current);
1167
+ for (const [p, g] of m.load) {
1168
1168
  let C = d.current[p];
1169
- C || (C = new Audio(), C.preload = "auto", d.current[p] = C), C.pause(), C.src = r[h].url, u.current[p] = r[h].startS;
1169
+ C || (C = new Audio(), C.preload = "auto", d.current[p] = C), C.pause(), C.src = r[g].url, u.current[p] = r[g].startS;
1170
1170
  }
1171
- g.current = m.play;
1171
+ h.current = m.play;
1172
1172
  const w = d.current[m.play], v = d.current[1 - m.play];
1173
1173
  v && !v.paused && v.pause(), Yr(w, { ...e, t: e.t - r[N].startS }), l(!e.playing || w.readyState >= 3);
1174
1174
  }, [n, r, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : r.length ? r[r.length - 1].endS : 0 };
1175
1175
  }
1176
- function no(t, e) {
1177
- return fi(t, e).state;
1176
+ function so(t, e) {
1177
+ return Ni(t, e).state;
1178
1178
  }
1179
- const so = 0.5, ro = 3;
1179
+ const ro = 0.5, io = 3;
1180
1180
  function js(t, e) {
1181
1181
  let n = -1;
1182
1182
  for (let s = 0; s < t.length && t[s].start <= e + 0.02; s++) n = s;
1183
1183
  return n;
1184
1184
  }
1185
- function io(t, e, n) {
1185
+ function ao(t, e, n) {
1186
1186
  const s = js(t, n);
1187
1187
  if (s < 0) return { kind: "none" };
1188
1188
  const r = t[s];
@@ -1192,7 +1192,7 @@ function io(t, e, n) {
1192
1192
  const o = Math.max(1, ...a.map((c) => c.parts));
1193
1193
  let l = Math.max(0, n - r.start);
1194
1194
  for (let c = 0; c < o; c++) {
1195
- const d = a.find((g) => g.part === c);
1195
+ const d = a.find((h) => h.part === c);
1196
1196
  if (!d) return { kind: "missing", sid: r.sid };
1197
1197
  const u = d.durationS && d.durationS > 0 ? d.durationS : 1 / 0;
1198
1198
  if (l < u) return { kind: "play", sid: r.sid, src: d.src, offset: l };
@@ -1200,14 +1200,14 @@ function io(t, e, n) {
1200
1200
  }
1201
1201
  return { kind: "done", sid: r.sid };
1202
1202
  }
1203
- function ao(t, e, n) {
1203
+ function oo(t, e, n) {
1204
1204
  if (n == null) return !1;
1205
1205
  const s = js(t, e);
1206
1206
  if (s < 0) return !1;
1207
1207
  const r = t[s];
1208
1208
  return e >= r.end ? r.sid === n : s > 0 && t[s - 1].sid === n && e - r.start < 1.5;
1209
1209
  }
1210
- function oo(t, e, n, s = ro) {
1210
+ function lo(t, e, n, s = io) {
1211
1211
  const r = Math.max(0, js(t, n)), a = [];
1212
1212
  for (let o = r; o < t.length && o <= r + s; o++) {
1213
1213
  const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
@@ -1215,7 +1215,7 @@ function oo(t, e, n, s = ro) {
1215
1215
  }
1216
1216
  return a;
1217
1217
  }
1218
- function lo(t) {
1218
+ function co(t) {
1219
1219
  const e = Ie(() => {
1220
1220
  const c = /* @__PURE__ */ new Map();
1221
1221
  for (const d of t.clips) c.set(d.sentenceId, [...c.get(d.sentenceId) ?? [], d]);
@@ -1236,24 +1236,24 @@ function lo(t) {
1236
1236
  l(), a((m) => m.missing == null && m.sid == null ? m : { missing: null, sid: null });
1237
1237
  return;
1238
1238
  }
1239
- const c = io(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1239
+ const c = ao(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
1240
1240
  a((m) => m.missing === d && m.sid === u ? m : { missing: d, sid: u });
1241
- const g = new Set(oo(t.lines, e, t.t));
1242
- for (const m of g) o(m);
1241
+ const h = new Set(lo(t.lines, e, t.t));
1242
+ for (const m of h) o(m);
1243
1243
  const M = s.current;
1244
- M && g.add(M.src);
1245
- for (const [m, w] of n.current) !g.has(m) && (!M || M.el !== w) && (w.pause(), n.current.delete(m));
1244
+ M && h.add(M.src);
1245
+ for (const [m, w] of n.current) !h.has(m) && (!M || M.el !== w) && (w.pause(), n.current.delete(m));
1246
1246
  if (!t.playing) {
1247
1247
  M == null || M.el.pause();
1248
1248
  return;
1249
1249
  }
1250
1250
  if (c.kind !== "play") {
1251
- if (M && !M.el.paused && !M.el.ended && ao(t.lines, t.t, M.sid)) return;
1251
+ if (M && !M.el.paused && !M.el.ended && oo(t.lines, t.t, M.sid)) return;
1252
1252
  M && M.el.pause(), s.current = null;
1253
1253
  return;
1254
1254
  }
1255
1255
  if (M && M.src === c.src) {
1256
- if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > so)
1256
+ if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > ro)
1257
1257
  try {
1258
1258
  M.el.currentTime = c.offset;
1259
1259
  } catch {
@@ -1274,7 +1274,7 @@ function lo(t) {
1274
1274
  }, [t.on, t.t, t.playing, t.muted, t.lines, e]), r;
1275
1275
  }
1276
1276
  const _r = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1277
- function co(t, e) {
1277
+ function uo(t, e) {
1278
1278
  var n, s;
1279
1279
  if (t === "play") {
1280
1280
  e.playing || e.toggle();
@@ -1290,12 +1290,12 @@ function co(t, e) {
1290
1290
  }
1291
1291
  (s = e.prev) == null || s.call(e);
1292
1292
  }
1293
- function uo(t, e) {
1293
+ function Mo(t, e) {
1294
1294
  for (const n of _r)
1295
1295
  try {
1296
1296
  t.setActionHandler(n, () => {
1297
1297
  const s = e();
1298
- s && co(n, s);
1298
+ s && uo(n, s);
1299
1299
  });
1300
1300
  } catch {
1301
1301
  }
@@ -1307,14 +1307,14 @@ function uo(t, e) {
1307
1307
  }
1308
1308
  };
1309
1309
  }
1310
- function Mo(t, e) {
1310
+ function go(t, e) {
1311
1311
  const n = z(t);
1312
1312
  n.current = t;
1313
1313
  const s = !!t;
1314
1314
  Y(() => {
1315
1315
  const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
1316
1316
  if (!(!a || !s))
1317
- return uo(a, () => n.current);
1317
+ return Mo(a, () => n.current);
1318
1318
  }, [s]);
1319
1319
  const r = !!(t != null && t.playing);
1320
1320
  Y(() => {
@@ -1423,7 +1423,7 @@ function Ur(t, e) {
1423
1423
  const n = e ?? {};
1424
1424
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1425
1425
  }
1426
- function go(t, e) {
1426
+ function fo(t, e) {
1427
1427
  const n = e.tail;
1428
1428
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1429
1429
  let s = !1;
@@ -1440,7 +1440,7 @@ function go(t, e) {
1440
1440
  }
1441
1441
  return s;
1442
1442
  }
1443
- function fo(t, e) {
1443
+ function No(t, e) {
1444
1444
  var n;
1445
1445
  switch (delete t.numbers, e.type) {
1446
1446
  case "transcript.committed": {
@@ -1481,7 +1481,7 @@ function fo(t, e) {
1481
1481
  }
1482
1482
  case "transcript.amended": {
1483
1483
  const s = t.segments.get(e.seq);
1484
- if (s && s.corrected && go(s.words, e)) {
1484
+ if (s && s.corrected && fo(s.words, e)) {
1485
1485
  s.text = e.text, s.words = Kt(e.seq, e.tail.words);
1486
1486
  break;
1487
1487
  }
@@ -1495,7 +1495,7 @@ function fo(t, e) {
1495
1495
  if ((n = e.scriptWords) != null && n.length) {
1496
1496
  const a = (c) => c.toLowerCase().replace(/[^\p{L}\p{N}]/gu, ""), o = (e.fixes ?? []).filter((c) => String(c.kind ?? "").endsWith("script") && String(c.orig ?? "").trim()), l = (c) => {
1497
1497
  var d, u;
1498
- return c.recognized ?? ((u = (d = o.find((g) => String(g.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : d.orig) == null ? void 0 : u.trim());
1498
+ return c.recognized ?? ((u = (d = o.find((h) => String(h.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : d.orig) == null ? void 0 : u.trim());
1499
1499
  };
1500
1500
  s.words = s.words.map((c, d) => {
1501
1501
  if (!e.scriptWords.includes(d)) return c;
@@ -1581,7 +1581,7 @@ function fo(t, e) {
1581
1581
  }
1582
1582
  return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
1583
1583
  }
1584
- function No(t) {
1584
+ function po(t) {
1585
1585
  const e = [], n = [...t.sentences.values()].sort((s, r) => s.start - r.start || (s.sentenceId ?? 0) - (r.sentenceId ?? 0));
1586
1586
  for (const s of n) {
1587
1587
  const r = s.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = r.length === s.seqs.length || !s.text ? r.flatMap((l) => l.words) : [], o = r[r.length - 1];
@@ -1594,16 +1594,16 @@ function No(t) {
1594
1594
  catchup: r.some((l) => l.catchup),
1595
1595
  suppressed: s.suppressed || r.length > 0 && r.every((l) => l.suppressed),
1596
1596
  unclear: s.unclear || r.length > 0 && r.every((l) => l.unclear),
1597
- confidence: po(r),
1597
+ confidence: mo(r),
1598
1598
  latencyS: o == null ? void 0 : o.latencyS,
1599
1599
  settled: s.settled || r.length > 0 && r.every((l) => l.settled),
1600
- translations: Object.keys(s.translations).length ? s.translations : mo(r),
1600
+ translations: Object.keys(s.translations).length ? s.translations : yo(r),
1601
1601
  speaker: s.speaker >= 0 ? s.speaker : (o == null ? void 0 : o.speaker) ?? -1
1602
1602
  });
1603
1603
  }
1604
1604
  return e.sort((s, r) => s.start - r.start), e;
1605
1605
  }
1606
- function po(t) {
1606
+ function mo(t) {
1607
1607
  let e = 0, n = 0;
1608
1608
  for (const s of t) {
1609
1609
  if (s.confidence == null) continue;
@@ -1612,20 +1612,20 @@ function po(t) {
1612
1612
  }
1613
1613
  return n ? e / n : void 0;
1614
1614
  }
1615
- function mo(t) {
1615
+ function yo(t) {
1616
1616
  const e = {};
1617
1617
  for (const n of t) for (const [s, r] of Object.entries(n.translations)) e[s] = e[s] ? `${e[s]} ${r}` : r;
1618
1618
  return e;
1619
1619
  }
1620
- const yo = 0.85, To = 0.75;
1621
- function wo(t) {
1622
- return t == null ? "" : t < To ? "low" : t < yo ? "mid" : "";
1620
+ const To = 0.85, wo = 0.75;
1621
+ function Lo(t) {
1622
+ return t == null ? "" : t < wo ? "low" : t < To ? "mid" : "";
1623
1623
  }
1624
1624
  const pn = ["a", "b", "c", "d", "e", "f", "g", "h"];
1625
- function Lo(t) {
1625
+ function ko(t) {
1626
1626
  return pn[(t % pn.length + pn.length) % pn.length];
1627
1627
  }
1628
- function ko(t) {
1628
+ function vo(t) {
1629
1629
  if (t.numbers) return t.numbers;
1630
1630
  const e = /* @__PURE__ */ new Map(), n = (a, o) => {
1631
1631
  if (a < 0) return;
@@ -1641,26 +1641,26 @@ function ko(t) {
1641
1641
  }
1642
1642
  function kn(t, e) {
1643
1643
  if (e < 0) return 0;
1644
- const n = ko(t);
1644
+ const n = vo(t);
1645
1645
  return n.get(e) ?? n.size + 1 + e;
1646
1646
  }
1647
- const vo = /^\s*speaker\s+\d+\s*$/i;
1647
+ const jo = /^\s*speaker\s+\d+\s*$/i;
1648
1648
  function Rr(t) {
1649
- return t && t.trim() && !vo.test(t) ? t : void 0;
1649
+ return t && t.trim() && !jo.test(t) ? t : void 0;
1650
1650
  }
1651
- function Ni(t, e) {
1651
+ function pi(t, e) {
1652
1652
  var n;
1653
1653
  return Rr(t.speakers[e]) ?? Rr((n = t.speakerIds[e]) == null ? void 0 : n.name);
1654
1654
  }
1655
1655
  function zs(t, e) {
1656
- return e < 0 ? "" : Ni(t, e) ?? `Speaker ${kn(t, e)}`;
1656
+ return e < 0 ? "" : pi(t, e) ?? `Speaker ${kn(t, e)}`;
1657
1657
  }
1658
- function pi(t, e) {
1658
+ function mi(t, e) {
1659
1659
  if (e < 0) return "?";
1660
- const n = Ni(t, e);
1660
+ const n = pi(t, e);
1661
1661
  return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((r) => r[0]).join("") || `S${kn(t, e)}`).toUpperCase() : `S${kn(t, e)}`;
1662
1662
  }
1663
- function jo(t) {
1663
+ function zo(t) {
1664
1664
  if (t) {
1665
1665
  if (t.startsWith("#"))
1666
1666
  return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
@@ -1669,10 +1669,10 @@ function jo(t) {
1669
1669
  }
1670
1670
  }
1671
1671
  function Is(t, e) {
1672
- const n = t.speakerIds[e], s = jo(n == null ? void 0 : n.color);
1673
- return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane: Lo(kn(t, e) - 1), hasVoice: !!n };
1672
+ const n = t.speakerIds[e], s = zo(n == null ? void 0 : n.color);
1673
+ return { fg: s == null ? void 0 : s.fg, soft: s == null ? void 0 : s.soft, lane: ko(kn(t, e) - 1), hasVoice: !!n };
1674
1674
  }
1675
- function zo(t, e, n, s = !1) {
1675
+ function Io(t, e, n, s = !1) {
1676
1676
  const r = n ? n.speakerLabels ?? "auto" : null, a = (s ? r : null) ?? t.labels ?? r ?? "on";
1677
1677
  if (a !== "auto") return a === "on";
1678
1678
  const o = /* @__PURE__ */ new Set();
@@ -1680,7 +1680,7 @@ function zo(t, e, n, s = !1) {
1680
1680
  return !0;
1681
1681
  return !1;
1682
1682
  }
1683
- const Io = /* @__PURE__ */ new Set([
1683
+ const Oo = /* @__PURE__ */ new Set([
1684
1684
  "invalid_audio",
1685
1685
  "invalid_options",
1686
1686
  "invalid_token",
@@ -1705,14 +1705,14 @@ const Io = /* @__PURE__ */ new Set([
1705
1705
  "invalid_request",
1706
1706
  "aborted",
1707
1707
  "unauthorized"
1708
- ]), mi = {
1708
+ ]), yi = {
1709
1709
  internal: "Something went wrong on our side. Please try again.",
1710
1710
  unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
1711
1711
  engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
1712
1712
  engine_lost: "The transcription engine stopped. Please try again.",
1713
1713
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
1714
1714
  timeout: "That took too long. Please try again."
1715
- }, hs = mi.internal, Xn = "Can't reach VocalStack. Check your connection.", Pr = {
1715
+ }, gs = yi.internal, Xn = "Can't reach VocalStack. Check your connection.", Pr = {
1716
1716
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
1717
1717
  NotSupportedError: "This browser cannot play this.",
1718
1718
  AbortError: "It was cancelled."
@@ -1720,34 +1720,34 @@ const Io = /* @__PURE__ */ new Set([
1720
1720
  function wt(t) {
1721
1721
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, s = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, r = e == null ? void 0 : e.details;
1722
1722
  if (n || s && s >= 400)
1723
- return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: Xn, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Xn, code: n, status: s, details: r } : { message: n && mi[n] || hs, code: n, status: s, details: r };
1723
+ return n && Oo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: Xn, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : Xn, code: n, status: s, details: r } : { message: n && yi[n] || gs, code: n, status: s, details: r };
1724
1724
  const a = (e == null ? void 0 : e.name) ?? "";
1725
- return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ii(t instanceof Error ? t : new Error(String(t))), { message: Xn }) : Pr[a] ? { message: Pr[a] } : t instanceof Error && a === "Error" && !(t instanceof ei) ? { message: t.message } : { message: hs };
1725
+ return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: Xn }) : Pr[a] ? { message: Pr[a] } : t instanceof Error && a === "Error" && !(t instanceof ti) ? { message: t.message } : { message: gs };
1726
1726
  }
1727
- const yi = "https://api.vocalstack.com", Os = Xr(null);
1727
+ const Ti = "https://api.vocalstack.com", Os = ei(null);
1728
1728
  function Yt() {
1729
1729
  const t = ha(Os);
1730
1730
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
1731
1731
  return t;
1732
1732
  }
1733
- function Oo(t) {
1734
- return t.value ? /* @__PURE__ */ i(Os.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Co, { ...t });
1733
+ function Co(t) {
1734
+ return t.value ? /* @__PURE__ */ i(Os.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(bo, { ...t });
1735
1735
  }
1736
- function Co({ children: t, ...e }) {
1737
- const n = Ti(e);
1736
+ function bo({ children: t, ...e }) {
1737
+ const n = wi(e);
1738
1738
  return /* @__PURE__ */ i(Os.Provider, { value: n, children: t });
1739
1739
  }
1740
- const bo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1741
- function xo(t) {
1742
- return bo.test(t);
1740
+ const xo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1741
+ function Do(t) {
1742
+ return xo.test(t);
1743
1743
  }
1744
- function Ti(t) {
1745
- const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id || xo(t.id)), r = (t.baseUrl ?? yi).replace(/\/$/, ""), a = z(t.token);
1744
+ function wi(t) {
1745
+ const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, s = !e && !n && !!t.token && (!t.id || Do(t.id)), r = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = z(t.token);
1746
1746
  a.current = t.token;
1747
1747
  const o = !!t.token, l = Ie(() => async () => {
1748
1748
  const u = a.current;
1749
1749
  return (typeof u == "function" ? await u() : u) || void 0;
1750
- }, []), c = t.client ?? null, d = Ie(() => c ?? new ti({ baseUrl: r, token: o && !e ? l : void 0 }), [c, r, o, l, e]);
1750
+ }, []), c = t.client ?? null, d = Ie(() => c ?? new ni({ baseUrl: r, token: o && !e ? l : void 0 }), [c, r, o, l, e]);
1751
1751
  return Ie(() => {
1752
1752
  if (e) return { client: d, origin: r, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
1753
1753
  if (n) return { client: d, origin: r, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
@@ -1755,10 +1755,10 @@ function Ti(t) {
1755
1755
  return { client: d, origin: r, owner: s, shareCode: u, listen: null, bearer: l, cred: { shareCode: u }, readAs: u ? { shareCode: u } : {} };
1756
1756
  }, [d, r, s, t.id, l, e, n]);
1757
1757
  }
1758
- function Do(t, e) {
1758
+ function So(t, e) {
1759
1759
  return e ? { ...t, cred: { media: e } } : t;
1760
1760
  }
1761
- async function So(t, e) {
1761
+ async function Ao(t, e) {
1762
1762
  if (t.listen) {
1763
1763
  const s = await t.client.recordings.get(t.listen.recordingId, t.readAs), r = s;
1764
1764
  return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: r.name ?? r.title ?? "", recording: s, job: r.job ?? null, allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
@@ -1783,22 +1783,22 @@ async function So(t, e) {
1783
1783
  sharedBy: n.sharedBy ?? null
1784
1784
  };
1785
1785
  }
1786
- function Ao(t, e) {
1786
+ function Eo(t, e) {
1787
1787
  const [n, s] = O(null), [r, a] = O(!1), [o, l] = O(null), [c, d] = O(0);
1788
1788
  return Y(() => {
1789
1789
  let u = !0;
1790
- return So(t, e).then((g) => {
1791
- u && (s(g), a(!1), l(null));
1792
- }).catch((g) => {
1790
+ return Ao(t, e).then((h) => {
1791
+ u && (s(h), a(!1), l(null));
1792
+ }).catch((h) => {
1793
1793
  if (!u) return;
1794
- const M = wt(g);
1794
+ const M = wt(h);
1795
1795
  M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
1796
1796
  }), () => {
1797
1797
  u = !1;
1798
1798
  };
1799
1799
  }, [t, e, c]), { source: n, gone: r, error: o, reload: () => d((u) => u + 1) };
1800
1800
  }
1801
- function Eo(t, e) {
1801
+ function Yo(t, e) {
1802
1802
  const [n, s] = O(null);
1803
1803
  return Y(() => {
1804
1804
  if (!t.owner || !e) {
@@ -1832,7 +1832,7 @@ async function Qr(t, e, n = {}) {
1832
1832
  return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: r, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
1833
1833
  }
1834
1834
  const es = /* @__PURE__ */ new Map();
1835
- function wi() {
1835
+ function Li() {
1836
1836
  const t = Yt(), [e, n] = O(es.get(t.origin) ?? null);
1837
1837
  return Y(() => {
1838
1838
  es.has(t.origin) || t.client.languages.list().then((s) => {
@@ -1841,7 +1841,7 @@ function wi() {
1841
1841
  });
1842
1842
  }, [t]), e;
1843
1843
  }
1844
- function Li(t, e) {
1844
+ function ki(t, e) {
1845
1845
  const [n, s] = O(null), [r, a] = O(null), [o, l] = O(0);
1846
1846
  return Y(() => {
1847
1847
  let c = !0;
@@ -1850,11 +1850,11 @@ function Li(t, e) {
1850
1850
  };
1851
1851
  }, [...e, o]), { data: n, error: r, reload: () => l((c) => c + 1) };
1852
1852
  }
1853
- const Yo = (t) => new Promise((e) => setTimeout(e, t)), _o = 2500, Uo = 72;
1854
- function Ro(t, e) {
1853
+ const _o = (t) => new Promise((e) => setTimeout(e, t)), Uo = 2500, Ro = 72;
1854
+ function Po(t, e) {
1855
1855
  const n = Yt(), s = z(n);
1856
1856
  s.current = n;
1857
- const [r, a] = O(Pt), o = z(Pt()), l = z(null), c = z(e.lang ?? null), [d, u] = O(!1), [g, M] = O(null), [N, m] = O(!1), w = qe(() => {
1857
+ const [r, a] = O(Pt), o = z(Pt()), l = z(null), c = z(e.lang ?? null), [d, u] = O(!1), [h, M] = O(null), [N, m] = O(!1), w = qe(() => {
1858
1858
  const $ = o.current;
1859
1859
  a({ ...$ });
1860
1860
  }, []), v = z(e);
@@ -1865,12 +1865,12 @@ function Ro(t, e) {
1865
1865
  const I = n.client;
1866
1866
  let E = o.current.state;
1867
1867
  const oe = () => {
1868
- var x, ue;
1868
+ var b, ue;
1869
1869
  const P = o.current.state;
1870
- P !== E && (E = P, (ue = (x = v.current).onState) == null || ue.call(x, P));
1870
+ P !== E && (E = P, (ue = (b = v.current).onState) == null || ue.call(b, P));
1871
1871
  };
1872
1872
  return (async () => {
1873
- var P, x, ue, B;
1873
+ var P, b, ue, B;
1874
1874
  for (; $; ) {
1875
1875
  let F = null;
1876
1876
  try {
@@ -1885,9 +1885,9 @@ function Ro(t, e) {
1885
1885
  if (le.type === "snapshot")
1886
1886
  o.current = Jn(le.snapshot, le.reason === "gap" ? o.current : Pt()), w(), oe();
1887
1887
  else if (le.type === "frame") {
1888
- fo(o.current, le.frame);
1888
+ No(o.current, le.frame);
1889
1889
  const ve = le.frame;
1890
- ve.type === "recording.state" && (E = o.current.state, (x = (P = v.current).onState) == null || x.call(P, ve.state, ve.reason)), (B = (ue = v.current).onFrame) == null || B.call(ue, ve), w();
1890
+ ve.type === "recording.state" && (E = o.current.state, (b = (P = v.current).onState) == null || b.call(P, ve.state, ve.reason)), (B = (ue = v.current).onFrame) == null || B.call(ue, ve), w();
1891
1891
  } else le.type === "closed" && u(!1);
1892
1892
  }
1893
1893
  } catch (re) {
@@ -1920,39 +1920,39 @@ function Ro(t, e) {
1920
1920
  }
1921
1921
  const ie = o.current.state;
1922
1922
  if (!$ || ie === "ended" || ie === "finalized" || ie === "processing") return;
1923
- L += 1, await Yo(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1923
+ L += 1, await _o(Math.min(15e3, 1e3 * 2 ** Math.min(L, 4)));
1924
1924
  }
1925
1925
  })(), () => {
1926
1926
  var P;
1927
1927
  $ = !1, (P = l.current) == null || P.close(), l.current = null, u(!1);
1928
1928
  };
1929
1929
  }, [t, n, e.voice]);
1930
- const [p, h] = O(!1), [C, b] = O(null), k = z(0), [J, A] = O(null), K = qe(($) => {
1930
+ const [p, g] = O(!1), [C, x] = O(null), k = z(0), [J, A] = O(null), K = qe(($) => {
1931
1931
  var oe;
1932
1932
  if (c.current = $, (oe = l.current) == null || oe.setLanguage($), !t) return;
1933
1933
  const L = s.current.client, I = ++k.current;
1934
- h(!0), b(null);
1935
- const E = (P) => L.recordings.transcript(t, { lang: $ ?? void 0, ...s.current.readAs, asListener: !s.current.owner }).then((x) => {
1936
- I === k.current && (o.current = Jn(x, o.current), A($), w(), x.translationPending && P > 0 && window.setTimeout(() => {
1934
+ g(!0), x(null);
1935
+ const E = (P) => L.recordings.transcript(t, { lang: $ ?? void 0, ...s.current.readAs, asListener: !s.current.owner }).then((b) => {
1936
+ I === k.current && (o.current = Jn(b, o.current), A($), w(), b.translationPending && P > 0 && window.setTimeout(() => {
1937
1937
  I === k.current && E(P - 1).catch(() => {
1938
1938
  });
1939
- }, _o));
1939
+ }, Uo));
1940
1940
  });
1941
- E(Uo).catch(() => {
1942
- I === k.current && $ && b($);
1941
+ E(Ro).catch(() => {
1942
+ I === k.current && $ && x($);
1943
1943
  }).finally(() => {
1944
- I === k.current && h(!1);
1944
+ I === k.current && g(!1);
1945
1945
  });
1946
1946
  }, [w, t]), j = qe(($, L) => {
1947
1947
  const I = o.current;
1948
1948
  let E = !1;
1949
1949
  for (const [oe, P] of Object.entries(L)) {
1950
- const x = I.sentences.get(Number(oe));
1951
- x && (x.translations = { ...x.translations, [$]: P }, E = !0);
1950
+ const b = I.sentences.get(Number(oe));
1951
+ b && (b.translations = { ...b.translations, [$]: P }, E = !0);
1952
1952
  }
1953
1953
  E && w();
1954
1954
  }, [w]), S = qe(() => M(null), []);
1955
- return { model: r, connected: d, error: g, notFound: N, clearError: S, setLanguage: K, mergeTranslations: j, translating: p, translateFailed: C, shownLang: J };
1955
+ return { model: r, connected: d, error: h, notFound: N, clearError: S, setLanguage: K, mergeTranslations: j, translating: p, translateFailed: C, shownLang: J };
1956
1956
  }
1957
1957
  const $r = {
1958
1958
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
@@ -1962,13 +1962,13 @@ const $r = {
1962
1962
  Romanian: { vcFor: "Vocea pentru", vcMute: "Oprește", vcUnmute: "Pornește", vcMuted: "OPRIT", vcShared: "Folosită și de", vcUsedBy: "Folosită de", vcUnknownSpk: "Necunoscut", vcUse: "Folosește această voce", vcGetting: "Se descarcă…", vcSample: "Așa sună această voce.", vcPreview: "MOSTRĂ", vcMale: "Bărbat", vcFemale: "Femeie", vcSynth: "SINTETICĂ", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCI", vcBadge: "CLONATĂ", vcNone: "DOAR TEXT", vcNoVoice: "Nicio voce pentru ", vcSheet: "VOCE", vcNeutral: "VOCE SINTETICĂ", vcWarm: "VOCE SINTETICĂ", searchPlaceholder: "Caută în transmisiune", noise: "Sunet neclar", newLines: "noi", live: "ÎN DIRECT", ended: "ÎNCHEIAT", waiting: "ÎN AȘTEPTARE", corrected: "CORECTAT", hostLine: "Prezentat de Marcus Reed · 4 vorbitori", langLabel: "LIMBĂ", langCount: "100+ de limbi", read: "Citește", listen: "Ascultă", watch: "Vizionează", waitTitle: "Transmisiunea nu a început încă", waitBody: "Transcrierea va apărea aici imediat ce gazda începe să vorbească.", english: "ENGLEZĂ", playing: "Se redă traducerea în română", ready: "Atinge pentru a porni audio", readyNote: "Reglează întâi volumul", voiceMeta: "VOCE NEUTRĂ", voice: "Voce", sheetTitle: "LIMBA APLICAȚIEI", done: "Gata", search: "Caută printre 100+ de limbi", sheetNote: "Urmărește transmisiunea în limba ta.", moreLangs: "în plus", confTitle: "Unele cuvinte nu s-au auzit clar", confBody: "Transcrierea marchează cuvintele incerte cu o subliniere întreruptă. Cuvintele își păstrează culoarea, doar sublinierea îți arată unde să te uiți.", confMid: "Ușoară nesiguranță — probabil corect", confHigh: "Încredere scăzută — poate fi greșit", settings: "TRANSMISIUNE", setOrig: "Arată limba originală", setTheme: "Aspect", light: "Luminos", dark: "Întunecat", setConf: "Arată cuvintele incerte", setConfHint1: "Colorează cuvintele incerte — ", setConfMid: "galben", setConfSep: " sau ", setConfLow: "roșu", setConfHint2: "", behindLive: "LATENȚA TRADUCERII", behindNote: "Cu cât urmează traducerea vorbitorul în acest moment.", shareLabel: "LINK DE URMĂRIRE", copy: "Copiază", copied: "Copiat" },
1963
1963
  Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
1964
1964
  };
1965
- function ki(t) {
1965
+ function vi(t) {
1966
1966
  return t && $r[t] || $r.English;
1967
1967
  }
1968
- async function vi(t) {
1968
+ async function ji(t) {
1969
1969
  var r, a, o, l, c;
1970
1970
  const e = await t.json().catch(() => null), n = ((r = e == null ? void 0 : e.error) == null ? void 0 : r.code) ?? (e == null ? void 0 : e.code), s = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
1971
- return new ei(typeof n == "string" ? n : "internal", typeof s == "string" ? s : hs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1971
+ return new ti(typeof n == "string" ? n : "internal", typeof s == "string" ? s : gs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1972
1972
  }
1973
1973
  function ts(t) {
1974
1974
  switch (t) {
@@ -1986,14 +1986,14 @@ function ts(t) {
1986
1986
  return "queued";
1987
1987
  }
1988
1988
  }
1989
- function Po(t) {
1989
+ function Qo(t) {
1990
1990
  return t ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : null;
1991
1991
  }
1992
- const Qo = (t, e) => {
1992
+ const $o = (t, e) => {
1993
1993
  const n = (t == null ? void 0 : t.segmentsDone) ?? e, s = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
1994
1994
  return `${n} / ${s} SEGMENTS`;
1995
1995
  };
1996
- function $o(t, e) {
1996
+ function Bo(t, e) {
1997
1997
  var r;
1998
1998
  const n = ((r = t == null ? void 0 : t.source) == null ? void 0 : r.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, s = t == null ? void 0 : t.crop;
1999
1999
  if (s && (s.startS != null || s.endS != null)) {
@@ -2002,7 +2002,7 @@ function $o(t, e) {
2002
2002
  }
2003
2003
  return n;
2004
2004
  }
2005
- const gs = [
2005
+ const hs = [
2006
2006
  { key: "pdf", name: "PDF", ext: "PDF", note: "Formatted transcript in paragraphs, with timestamps and speaker labels.", icon: "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z" },
2007
2007
  { key: "xlsx", name: "Excel", ext: "XLSX", note: "One row per segment: start, end, speaker, text, confidence.", icon: "M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 12.75v-1.5c0-.621.504-1.125 1.125-1.125m18.375 2.625V5.625m0 12.75c0 .621-.504 1.125-1.125 1.125m1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125m0 3.75h-7.5A1.125 1.125 0 0 1 12 18.375m9.75-12.75c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125m19.5 0v1.5c0 .621-.504 1.125-1.125 1.125M2.25 5.625v1.5c0 .621.504 1.125 1.125 1.125m0 0h17.25m-17.25 0h7.5c.621 0 1.125.504 1.125 1.125M3.375 8.25c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125m17.25-3.75h-7.5c-.621 0-1.125.504-1.125 1.125m8.625-1.125c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m0 0h-7.5m-9 0h7.5m0 0c.621 0 1.125.504 1.125 1.125M12 10.875v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 10.875c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125M13.125 12h7.5m-7.5 0c-.621 0-1.125.504-1.125 1.125M20.625 12c.621 0 1.125.504 1.125 1.125v1.5c0 .621-.504 1.125-1.125 1.125m-17.25 0h7.5M12 14.625v-1.5m0 1.5c0 .621-.504 1.125-1.125 1.125M12 14.625c0 .621.504 1.125 1.125 1.125m-2.25 0c.621 0 1.125.504 1.125 1.125m0 1.5v-1.5m0 0c0-.621.504-1.125 1.125-1.125m0 0h7.5" },
2008
2008
  { key: "srt", name: "Subtitles", ext: "SRT / VTT", note: "Timed caption cues, ready for a video editor or a player.", icon: "M2.25 15.75V8.25A2.25 2.25 0 0 1 4.5 6h15a2.25 2.25 0 0 1 2.25 2.25v7.5A2.25 2.25 0 0 1 19.5 18h-15a2.25 2.25 0 0 1-2.25-2.25Zm4.5-4.5h4.5m-4.5 3h1.5m3 0h6m-3-3h3" },
@@ -2012,20 +2012,20 @@ function Cs(t) {
2012
2012
  const e = document.createElement("a");
2013
2013
  e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
2014
2014
  }
2015
- async function Bo(t) {
2015
+ async function Ho(t) {
2016
2016
  const e = await fetch(t, { redirect: "manual" });
2017
- if (e.type !== "opaqueredirect" && !e.ok) throw await vi(e);
2017
+ if (e.type !== "opaqueredirect" && !e.ok) throw await ji(e);
2018
2018
  Cs(t);
2019
2019
  }
2020
- async function Ho(t, e, n, s = {}) {
2020
+ async function Vo(t, e, n, s = {}) {
2021
2021
  var M, N;
2022
2022
  const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
2023
- if (!r.ok) throw await vi(r);
2024
- const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), g = document.createElement("a");
2025
- g.href = u, g.download = d, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2023
+ if (!r.ok) throw await ji(r);
2024
+ const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), h = document.createElement("a");
2025
+ h.href = u, h.download = d, h.style.display = "none", document.body.appendChild(h), h.click(), h.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
2026
2026
  }
2027
- async function Vo(t, e) {
2028
- const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((g) => g.lang === s), l = (u) => ui(u, r);
2027
+ async function Wo(t, e) {
2028
+ const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((h) => h.lang === s), l = (u) => di(u, r);
2029
2029
  let c = l(await o());
2030
2030
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2031
2031
  const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2034,25 +2034,25 @@ async function Vo(t, e) {
2034
2034
  if (Date.now() > d) throw new Error("The spoken track is taking too long; try again in a moment.");
2035
2035
  await new Promise((u) => setTimeout(u, 4e3)), c = l(await o());
2036
2036
  }
2037
- Cs(xa(t.origin, n, s, c.voiceKey, a));
2037
+ Cs(Da(t.origin, n, s, c.voiceKey, a));
2038
2038
  }
2039
2039
  const fs = (t) => {
2040
2040
  var e;
2041
2041
  return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
2042
- }, Wo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Br = 0.3, Fo = 1.5;
2043
- function ji(t, e, n) {
2042
+ }, Fo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Br = 0.3, Go = 1.5;
2043
+ function zi(t, e, n) {
2044
2044
  var r;
2045
2045
  const s = (r = t.words[t.words.length - 1]) == null ? void 0 : r.end;
2046
2046
  return s != null && s > t.start ? s : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
2047
2047
  }
2048
- function Go(t, e, n) {
2048
+ function Zo(t, e, n) {
2049
2049
  var c, d;
2050
2050
  const s = t[e];
2051
2051
  if (!s) return !1;
2052
- const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Br, a = t[e + 1], o = ji(s, a, s.start + 4) + Fo, l = a ? Math.min(o, (((d = a.words[0]) == null ? void 0 : d.start) ?? a.start) - Br) : o;
2052
+ const r = (((c = s.words[0]) == null ? void 0 : c.start) ?? s.start) - Br, a = t[e + 1], o = zi(s, a, s.start + 4) + Go, l = a ? Math.min(o, (((d = a.words[0]) == null ? void 0 : d.start) ?? a.start) - Br) : o;
2053
2053
  return n >= r && n < Math.max(l, r + 0.5);
2054
2054
  }
2055
- function Zo(t, e, n) {
2055
+ function qo(t, e, n) {
2056
2056
  const s = Math.max(0, n - e), r = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = r.reduce((l, c) => l + c, 0) || 1;
2057
2057
  let o = e;
2058
2058
  return t.map((l, c) => {
@@ -2067,7 +2067,7 @@ function ns(t) {
2067
2067
  bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
2068
2068
  };
2069
2069
  }
2070
- function qo(t, e, n = 0) {
2070
+ function Ko(t, e, n = 0) {
2071
2071
  const s = z(() => {
2072
2072
  });
2073
2073
  Y(() => {
@@ -2087,7 +2087,7 @@ function qo(t, e, n = 0) {
2087
2087
  const A = o(), K = A ? A.offsetHeight : 0, j = r.clientHeight - K - 36, S = r.scrollHeight - r.clientHeight, $ = j > 0 ? Math.max(30, Math.round(j * (r.clientHeight - K) / r.scrollHeight)) : 0;
2088
2088
  return { vis: j, max: S, size: $ };
2089
2089
  };
2090
- let c = -1, d = null, u = !1, g = 0, M = 0;
2090
+ let c = -1, d = null, u = !1, h = 0, M = 0;
2091
2091
  const N = () => {
2092
2092
  const A = o();
2093
2093
  if (!A) return;
@@ -2112,28 +2112,28 @@ function qo(t, e, n = 0) {
2112
2112
  return;
2113
2113
  }
2114
2114
  a.style.pointerEvents = "auto", a.style.height = j.size + "px", a.style.transform = "translateY(" + Math.round(r.scrollTop / j.max * (j.vis - j.size)) + "px)", A && m();
2115
- }, h = parseFloat(getComputedStyle(r).paddingRight) || 0;
2116
- a.style.right = (h >= 12 ? -(h - 6) : 2) + "px";
2117
- const C = () => p(!0), b = (A) => {
2115
+ }, g = parseFloat(getComputedStyle(r).paddingRight) || 0;
2116
+ a.style.right = (g >= 12 ? -(g - 6) : 2) + "px";
2117
+ const C = () => p(!0), x = (A) => {
2118
2118
  const K = l();
2119
- K.vis - K.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, g = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", m());
2119
+ K.vis - K.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, h = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", m());
2120
2120
  }, k = (A) => {
2121
2121
  if (!u) return;
2122
2122
  const K = l();
2123
- r.scrollTop = M + (A.clientY - g) / (K.vis - K.size) * K.max, m();
2123
+ r.scrollTop = M + (A.clientY - h) / (K.vis - K.size) * K.max, m();
2124
2124
  }, J = () => {
2125
2125
  u && (u = !1, a.style.cursor = "grab", m());
2126
2126
  };
2127
- return r.addEventListener("scroll", C, { passive: !0 }), a.addEventListener("pointerdown", b), a.addEventListener("pointermove", k), a.addEventListener("pointerup", J), a.addEventListener("pointercancel", J), typeof ResizeObserver < "u" && (w = new ResizeObserver(() => p()), w.observe(r)), s.current = () => p(), p(), () => {
2127
+ return r.addEventListener("scroll", C, { passive: !0 }), a.addEventListener("pointerdown", x), a.addEventListener("pointermove", k), a.addEventListener("pointerup", J), a.addEventListener("pointercancel", J), typeof ResizeObserver < "u" && (w = new ResizeObserver(() => p()), w.observe(r)), s.current = () => p(), p(), () => {
2128
2128
  s.current = () => {
2129
- }, r.removeEventListener("scroll", C), a.removeEventListener("pointerdown", b), a.removeEventListener("pointermove", k), a.removeEventListener("pointerup", J), a.removeEventListener("pointercancel", J), w == null || w.disconnect(), clearTimeout(d);
2129
+ }, r.removeEventListener("scroll", C), a.removeEventListener("pointerdown", x), a.removeEventListener("pointermove", k), a.removeEventListener("pointerup", J), a.removeEventListener("pointercancel", J), w == null || w.disconnect(), clearTimeout(d);
2130
2130
  };
2131
2131
  }, []);
2132
2132
  }
2133
- function Ko({ thumbRef: t }) {
2133
+ function Jo({ thumbRef: t }) {
2134
2134
  return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
2135
2135
  }
2136
- function Jo({ error: t, onClose: e }) {
2136
+ function Xo({ error: t, onClose: e }) {
2137
2137
  const n = z(e);
2138
2138
  if (n.current = e, Y(() => {
2139
2139
  if (!t) return;
@@ -2153,7 +2153,7 @@ function Jo({ error: t, onClose: e }) {
2153
2153
  /* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(de, { d: q.close, size: 14 }) })
2154
2154
  ] });
2155
2155
  }
2156
- function zi({ color: t }) {
2156
+ function Ii({ color: t }) {
2157
2157
  return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(de, { d: q.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2158
2158
  }
2159
2159
  function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
@@ -2173,10 +2173,10 @@ function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
2173
2173
  ] })
2174
2174
  ] });
2175
2175
  }
2176
- function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2177
- const g = z(null), M = z(!1), [N, m] = O(null), w = Math.max(1, e), v = N ?? d, p = v != null ? Math.min(100, Math.max(0, v * 100)) : t / Math.max(1, w - 1) * 100, h = d != null && u > 0 && N == null ? `width ${u}ms linear, left ${u}ms linear` : "none", C = (k) => {
2176
+ function el({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
2177
+ const h = z(null), M = z(!1), [N, m] = O(null), w = Math.max(1, e), v = N ?? d, p = v != null ? Math.min(100, Math.max(0, v * 100)) : t / Math.max(1, w - 1) * 100, g = d != null && u > 0 && N == null ? `width ${u}ms linear, left ${u}ms linear` : "none", C = (k) => {
2178
2178
  var j;
2179
- const J = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
2179
+ const J = (j = h.current) == null ? void 0 : j.getBoundingClientRect();
2180
2180
  if (!J) return;
2181
2181
  const A = Math.min(1, Math.max(0, (k.clientX - J.left) / Math.max(1, J.width)));
2182
2182
  if (o) {
@@ -2185,28 +2185,28 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2185
2185
  }
2186
2186
  const K = Math.round(A * (w - 1));
2187
2187
  K !== t && a(K);
2188
- }, b = () => {
2188
+ }, x = () => {
2189
2189
  M.current && (M.current = !1, m(null), c == null || c());
2190
2190
  };
2191
2191
  return /* @__PURE__ */ f("div", { className: "rscrub", children: [
2192
2192
  /* @__PURE__ */ f(
2193
2193
  "div",
2194
2194
  {
2195
- ref: g,
2195
+ ref: h,
2196
2196
  className: "rscrub__track",
2197
2197
  onPointerDown: (k) => {
2198
2198
  var J;
2199
- M.current = !0, (J = g.current) == null || J.setPointerCapture(k.pointerId), l == null || l(), C(k), k.preventDefault();
2199
+ M.current = !0, (J = h.current) == null || J.setPointerCapture(k.pointerId), l == null || l(), C(k), k.preventDefault();
2200
2200
  },
2201
2201
  onPointerMove: (k) => {
2202
2202
  M.current && C(k);
2203
2203
  },
2204
- onPointerUp: b,
2205
- onPointerCancel: b,
2204
+ onPointerUp: x,
2205
+ onPointerCancel: x,
2206
2206
  children: [
2207
2207
  /* @__PURE__ */ i("div", { className: "rscrub__rail" }),
2208
- /* @__PURE__ */ i("div", { className: "rscrub__fill", style: { width: `${p}%`, transition: h } }),
2209
- /* @__PURE__ */ i("div", { className: "rscrub__knob", style: { left: `${p}%`, transition: h } })
2208
+ /* @__PURE__ */ i("div", { className: "rscrub__fill", style: { width: `${p}%`, transition: g } }),
2209
+ /* @__PURE__ */ i("div", { className: "rscrub__knob", style: { left: `${p}%`, transition: g } })
2210
2210
  ]
2211
2211
  }
2212
2212
  ),
@@ -2217,7 +2217,7 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
2217
2217
  ] })
2218
2218
  ] });
2219
2219
  }
2220
- function el(t, e, n) {
2220
+ function tl(t, e, n) {
2221
2221
  const s = new Set(t.seqs ?? t.words.map((l) => l.seq)), r = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && s.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = r.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
2222
2222
  return {
2223
2223
  script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
@@ -2225,7 +2225,7 @@ function el(t, e, n) {
2225
2225
  manualCount: a ? 0 : r.filter((l) => l.kind === "word").length
2226
2226
  };
2227
2227
  }
2228
- function tl({ f: t, desk: e, onOpen: n }) {
2228
+ function nl({ f: t, desk: e, onOpen: n }) {
2229
2229
  const s = (r, a, o) => /* @__PURE__ */ f("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2230
2230
  l.stopPropagation(), n == null || n();
2231
2231
  }, children: [
@@ -2238,7 +2238,7 @@ function tl({ f: t, desk: e, onOpen: n }) {
2238
2238
  t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2239
2239
  ] });
2240
2240
  }
2241
- function nl({ onOpen: t, alone: e }) {
2241
+ function sl({ onOpen: t, alone: e }) {
2242
2242
  const [n, s] = O(!1);
2243
2243
  return /* @__PURE__ */ f("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => s(!0), onMouseLeave: () => s(!1), onClick: (r) => {
2244
2244
  r.stopPropagation(), t();
@@ -2247,8 +2247,8 @@ function nl({ onOpen: t, alone: e }) {
2247
2247
  n && "FIX"
2248
2248
  ] });
2249
2249
  }
2250
- function sl(t, e, n, s) {
2251
- const r = Yt(), [a, o] = O([]), [l, c] = O(0), d = z(/* @__PURE__ */ new Set()), u = z(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2250
+ function rl(t, e, n, s) {
2251
+ const r = Yt(), [a, o] = O([]), [l, c] = O(0), d = z(/* @__PURE__ */ new Set()), u = z(!1), h = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2252
2252
  Y(() => {
2253
2253
  d.current = /* @__PURE__ */ new Set();
2254
2254
  }, [t, e]);
@@ -2256,7 +2256,7 @@ function sl(t, e, n, s) {
2256
2256
  return Y(() => {
2257
2257
  if (!t || !e || !a.length || u.current) return;
2258
2258
  const N = a.filter((m) => {
2259
- const w = g.get(m);
2259
+ const w = h.get(m);
2260
2260
  return !w || !w.text.trim() || !w.settled || w.translations[e] || w.language && w.language.slice(0, 2).toLowerCase() === e.slice(0, 2).toLowerCase() ? !1 : !d.current.has(`${e}:${m}`);
2261
2261
  }).slice(0, 40);
2262
2262
  if (N.length) {
@@ -2272,15 +2272,15 @@ function sl(t, e, n, s) {
2272
2272
  u.current = !1, c((m) => m + 1);
2273
2273
  });
2274
2274
  }
2275
- }, [t, e, a, l, g, s]), M;
2275
+ }, [t, e, a, l, h, s]), M;
2276
2276
  }
2277
- function rl(t) {
2277
+ function il(t) {
2278
2278
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
2279
2279
  }
2280
2280
  function Zt(t, e) {
2281
2281
  return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
2282
2282
  }
2283
- function il(t, e) {
2283
+ function al(t, e) {
2284
2284
  const n = t.slice().sort((r, a) => Zt(r, e).rank - Zt(a, e).rank || r.name.localeCompare(a.name, void 0, { numeric: !0 })), s = {};
2285
2285
  for (const r of n) {
2286
2286
  const a = Zt(r, e).head;
@@ -2291,7 +2291,7 @@ function il(t, e) {
2291
2291
  return { v: r, headOn: l, head: o, headCount: s[o], rule: l ? "0" : "1px solid var(--hair)" };
2292
2292
  });
2293
2293
  }
2294
- function al(t, e, n) {
2294
+ function ol(t, e, n) {
2295
2295
  const s = /* @__PURE__ */ new Set();
2296
2296
  let r = !1;
2297
2297
  for (const o of t)
@@ -2302,7 +2302,7 @@ function al(t, e, n) {
2302
2302
  return {
2303
2303
  key: o,
2304
2304
  name: zs(e, o),
2305
- initial: pi(e, o),
2305
+ initial: mi(e, o),
2306
2306
  lane: l.lane,
2307
2307
  sex: e.speakerSex[o] ?? null,
2308
2308
  voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
@@ -2336,23 +2336,23 @@ function Wr(t, e, n = !0) {
2336
2336
  a.set(o.key, c.id), r.add(c.id);
2337
2337
  continue;
2338
2338
  }
2339
- const d = s.filter((M) => !r.has(M.id)), g = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2340
- g && (a.set(o.key, g.id), r.add(g.id));
2339
+ const d = s.filter((M) => !r.has(M.id)), h = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
2340
+ h && (a.set(o.key, h.id), r.add(h.id));
2341
2341
  }
2342
2342
  return a;
2343
2343
  }
2344
- function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2344
+ function ll({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
2345
2345
  const d = t.find((u) => u.key === e) ?? t[0] ?? null;
2346
2346
  return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
2347
- const g = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, N = u.key >= 0 && !M && !!(r != null && r(u)), m = u.key >= 0 && !M && !N && s(u), w = u.key >= 0 && !M && !N && !m && !u.hasVoice && !!(a != null && a(u));
2347
+ const h = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, N = u.key >= 0 && !M && !!(r != null && r(u)), m = u.key >= 0 && !M && !N && s(u), w = u.key >= 0 && !M && !N && !m && !u.hasVoice && !!(a != null && a(u));
2348
2348
  return /* @__PURE__ */ f(
2349
2349
  "button",
2350
2350
  {
2351
2351
  type: "button",
2352
- "aria-selected": g,
2352
+ "aria-selected": h,
2353
2353
  onClick: () => n(u.key),
2354
2354
  title: u.name,
2355
- style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: g ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${g ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2355
+ style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: h ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${h ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2356
2356
  children: [
2357
2357
  /* @__PURE__ */ i(
2358
2358
  "span",
@@ -2362,10 +2362,10 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2362
2362
  children: u.initial
2363
2363
  }
2364
2364
  ),
2365
- /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2366
- u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2365
+ /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: h ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
2366
+ u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (h ? "var(--ink-62)" : "var(--ink-45)") }),
2367
2367
  M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2368
- w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(de, { d: q.micOff, size: 13, sw: 1.7 }) }),
2368
+ w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: h ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(de, { d: q.micOff, size: 13, sw: 1.7 }) }),
2369
2369
  (m || N) && /* @__PURE__ */ i("span", { title: N ? "Cloning this voice…" : "No voice clone yet", "aria-label": N ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: N ? /* @__PURE__ */ i(ct, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
2370
2370
  ]
2371
2371
  },
@@ -2373,21 +2373,21 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
2373
2373
  );
2374
2374
  }) }) : null;
2375
2375
  }
2376
- function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: g = null, problem: M, noClone: N = null, t: m }) {
2377
- const w = Ie(() => il(e, m), [e, m]), [v, p] = O({});
2376
+ function cl({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: h = null, problem: M, noClone: N = null, t: m }) {
2377
+ const w = Ie(() => al(e, m), [e, m]), [v, p] = O({});
2378
2378
  Y(() => {
2379
2379
  p({});
2380
- }, [u, g]);
2381
- const h = (k) => k === m.vcMale.toUpperCase() || k === m.vcFemale.toUpperCase(), C = (k) => {
2380
+ }, [u, h]);
2381
+ const g = (k) => k === m.vcMale.toUpperCase() || k === m.vcFemale.toUpperCase(), C = (k) => {
2382
2382
  if (k === m.vcSheet) return !0;
2383
2383
  const J = v[k];
2384
- return J != null ? !J : !g || !h(k) ? !0 : k === (g === "female" ? m.vcFemale : m.vcMale).toUpperCase();
2385
- }, b = !!s && s !== n;
2384
+ return J != null ? !J : !h || !g(k) ? !0 : k === (h === "female" ? m.vcFemale : m.vcMale).toUpperCase();
2385
+ }, x = !!s && s !== n;
2386
2386
  return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
2387
2387
  M && /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2388
2388
  /* @__PURE__ */ i(de, { d: q.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
2389
2389
  /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
2390
- /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: M, label: "Copy this error" }) })
2390
+ /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(Ia, { value: M, label: "Copy this error" }) })
2391
2391
  ] }),
2392
2392
  t,
2393
2393
  N && /* @__PURE__ */ f(Pe, { children: [
@@ -2403,8 +2403,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2403
2403
  ] })
2404
2404
  ] }),
2405
2405
  w.map(({ v: k, headOn: J, head: A, headCount: K, rule: j }, S) => {
2406
- const $ = rl(k), L = a === k.id, I = C(A), E = (d == null ? void 0 : d(k)) ?? null;
2407
- return /* @__PURE__ */ f(ga, { children: [
2406
+ const $ = il(k), L = a === k.id, I = C(A), E = (d == null ? void 0 : d(k)) ?? null;
2407
+ return /* @__PURE__ */ f(fa, { children: [
2408
2408
  J && A === m.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: S === 0 && !N ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: A }) }),
2409
2409
  J && A !== m.vcSheet && /* @__PURE__ */ f(
2410
2410
  "button",
@@ -2434,8 +2434,8 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2434
2434
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: I ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: I ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: s === k.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: I ? 1 : 0, maxHeight: I ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2435
2435
  children: [
2436
2436
  /* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : k.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : r === k.id ? /* @__PURE__ */ f("span", { className: "vcplay", children: [
2437
- /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
2438
- /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(ka, { size: 11 }) })
2437
+ /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ul, { height: 13, width: 2.5 }) }),
2438
+ /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(va, { size: 11 }) })
2439
2439
  ] }) : /* @__PURE__ */ i(de, { d: k.cloned ? q.voiceClone : k.gender === "female" ? q.venus : k.gender === "male" ? q.mars : q.mic, size: 15, sw: 1.6, style: { color: k.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2440
2440
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
2441
2441
  /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: k.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: k.name }) }),
@@ -2460,10 +2460,10 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
2460
2460
  )
2461
2461
  ] }, k.id);
2462
2462
  }),
2463
- b && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
2463
+ x && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => s && c(s), children: /* @__PURE__ */ i("span", { children: m.vcUse }) }) })
2464
2464
  ] });
2465
2465
  }
2466
- function cl({ height: t, width: e = 2 }) {
2466
+ function ul({ height: t, width: e = 2 }) {
2467
2467
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2468
2468
  return /* @__PURE__ */ f("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2469
2469
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
@@ -2471,17 +2471,17 @@ function cl({ height: t, width: e = 2 }) {
2471
2471
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2472
2472
  ] });
2473
2473
  }
2474
- const ul = /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2474
+ const dl = /* @__PURE__ */ f("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2475
2475
  /* @__PURE__ */ i(de, { d: q.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2476
2476
  /* @__PURE__ */ i(de, { d: q.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2477
2477
  ] });
2478
2478
  function Ns(t, e) {
2479
2479
  const n = e ? t == null ? void 0 : t.languages.find((s) => s.code === e) : null;
2480
- return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : ul, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2480
+ return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : dl, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2481
2481
  }
2482
2482
  const Fr = { minHeight: 36, height: 36, padding: "0 11px", background: "var(--fill-06)" };
2483
- function dl(t, e, n = 0, s) {
2484
- const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = Yt(), { data: c } = Li(async () => {
2483
+ function Ml(t, e, n = 0, s) {
2484
+ const r = (s == null ? void 0 : s.id) ?? null, a = (s == null ? void 0 : s.token) ?? null, o = (s == null ? void 0 : s.shareCode) ?? null, l = Yt(), { data: c } = ki(async () => {
2485
2485
  if (!t || !e) return null;
2486
2486
  try {
2487
2487
  return await l.client.voices.available(t, { recording: r ?? void 0, shareCode: r ? o ?? void 0 : void 0, asOwner: l.owner });
@@ -2491,20 +2491,20 @@ function dl(t, e, n = 0, s) {
2491
2491
  }, [t, e, n, r, a, o]);
2492
2492
  return c;
2493
2493
  }
2494
- function Ml(t) {
2494
+ function gl(t) {
2495
2495
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2496
2496
  }
2497
2497
  function hl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
2498
- const o = Yt(), { data: l, reload: c } = Li(async () => {
2498
+ const o = Yt(), { data: l, reload: c } = ki(async () => {
2499
2499
  if (!t || !e) return null;
2500
2500
  const P = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
2501
- return { recordingId: t, lang: e, rows: P.filter((x) => x.lang === e) };
2501
+ return { recordingId: t, lang: e, rows: P.filter((b) => b.lang === e) };
2502
2502
  }, [t, e, o, n]), d = Ie(
2503
2503
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2504
2504
  [l, e, t]
2505
- ), u = Ie(() => ui(d, r), [d, r]), g = u ? u.voiceKey || null : r, [M, N] = O(null), [m, w] = O(null), v = z(/* @__PURE__ */ new Set()), p = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, h = qe(async (P, x) => {
2505
+ ), u = Ie(() => di(d, r), [d, r]), h = u ? u.voiceKey || null : r, [M, N] = O(null), [m, w] = O(null), v = z(/* @__PURE__ */ new Set()), p = `${t ?? ""}|${e ?? ""}|${h ?? ""}`, g = qe(async (P, b) => {
2506
2506
  if (!t || !e || !n) return;
2507
- const ue = x != null && x.size ? null : Vr(P), B = x != null && x.size ? x : ue, F = B && B.size ? Object.fromEntries([...B].map(([ve, Le]) => [String(ve), Le])) : null, ie = `${t}|${e}|${F ? JSON.stringify(F) : P ?? ""}`;
2507
+ const ue = b != null && b.size ? null : Vr(P), B = b != null && b.size ? b : ue, F = B && B.size ? Object.fromEntries([...B].map(([ve, Le]) => [String(ve), Le])) : null, ie = `${t}|${e}|${F ? JSON.stringify(F) : P ?? ""}`;
2508
2508
  if (v.current.has(ie)) return;
2509
2509
  v.current.add(ie), N(ie), w(null);
2510
2510
  const re = { langs: [e] };
@@ -2519,89 +2519,89 @@ function hl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
2519
2519
  c();
2520
2520
  }, [t, e, n, o, c]), C = qe(() => {
2521
2521
  const P = `${t ?? ""}|${e ?? ""}|`;
2522
- for (const x of [...v.current]) x.startsWith(P) && v.current.delete(x);
2522
+ for (const b of [...v.current]) b.startsWith(P) && v.current.delete(b);
2523
2523
  w(null);
2524
- }, [t, e]), b = !!u && (u.state === "queued" || u.state === "running") || M === p, k = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : m, J = (a == null ? void 0 : a.join(",")) ?? "", [A, K] = O(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && J ? J.split(",").map(Number).filter((P) => !j.has(P)) : [], [n, J, j]), $ = z(null);
2524
+ }, [t, e]), x = !!u && (u.state === "queued" || u.state === "running") || M === p, k = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : m, J = (a == null ? void 0 : a.join(",")) ?? "", [A, K] = O(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && J ? J.split(",").map(Number).filter((P) => !j.has(P)) : [], [n, J, j]), $ = z(null);
2525
2525
  Y(() => {
2526
2526
  if (!n || !t || !e || !S.length) return;
2527
- const P = A ?? S[0], x = S.find((re) => re >= P) ?? S[0], ue = `${t}|${e}|${g ?? ""}`, B = $.current;
2528
- if (B && B.key === ue && Math.abs(B.near - x) < 12 && Date.now() - B.at < 6e4) return;
2529
- $.current = { key: ue, near: x, at: Date.now() };
2530
- const F = Vr(g), ie = { langs: [e], near: x };
2531
- F && F.size ? ie.voiceBySpeaker = Object.fromEntries([...F].map(([re, le]) => [String(re), le])) : g && (ie.voice = g), Qr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ie }).then((re) => {
2527
+ const P = A ?? S[0], b = S.find((re) => re >= P) ?? S[0], ue = `${t}|${e}|${h ?? ""}`, B = $.current;
2528
+ if (B && B.key === ue && Math.abs(B.near - b) < 12 && Date.now() - B.at < 6e4) return;
2529
+ $.current = { key: ue, near: b, at: Date.now() };
2530
+ const F = Vr(h), ie = { langs: [e], near: b };
2531
+ F && F.size ? ie.voiceBySpeaker = Object.fromEntries([...F].map(([re, le]) => [String(re), le])) : h && (ie.voice = h), Qr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ie }).then((re) => {
2532
2532
  re.ok || ($.current = null);
2533
2533
  }).catch(() => {
2534
2534
  $.current = null;
2535
2535
  });
2536
- }, [n, t, e, g, A, S, o]);
2536
+ }, [n, t, e, h, A, S, o]);
2537
2537
  const L = S.length > 0, I = z({ n: -1, at: 0 });
2538
2538
  Y(() => {
2539
2539
  if (!L) return;
2540
2540
  const P = setInterval(() => {
2541
- const x = j.size;
2542
- x !== I.current.n && (I.current = { n: x, at: Date.now() }), !(Date.now() - I.current.at > 10 * 6e4) && c();
2541
+ const b = j.size;
2542
+ b !== I.current.n && (I.current = { n: b, at: Date.now() }), !(Date.now() - I.current.at > 10 * 6e4) && c();
2543
2543
  }, 3e3);
2544
2544
  return () => clearInterval(P);
2545
2545
  }, [L, c, j]);
2546
2546
  const E = Ie(() => {
2547
2547
  if (!t) return [];
2548
- const P = J ? J.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, x = u ?? (P != null && P.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2549
- return _a(x, t, o.origin, s, P);
2548
+ const P = J ? J.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, b = u ?? (P != null && P.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
2549
+ return Ua(b, t, o.origin, s, P);
2550
2550
  }, [u, t, o, s, J, e, r, n, j]), oe = Ie(() => new Set(S), [S]);
2551
- return { listed: l, rows: d, track: u, renderVoiceId: g, rendering: b, failed: k, clips: E, requestRender: h, forget: C, reload: c, setNear: K, missing: S.length, coming: oe };
2551
+ return { listed: l, rows: d, track: u, renderVoiceId: h, rendering: x, failed: k, clips: E, requestRender: g, forget: C, reload: c, setNear: K, missing: S.length, coming: oe };
2552
2552
  }
2553
- const gl = { share: q.share, delay: q.tabGauge, video: q.video, source: q.tabSources, script: q.tabScript, fix: q.tabFix, ending: q.tabEnding, summary: q.tabSummary, export: q.tabExport, settings: q.tabSettings, sources: q.tabSources, recs: q.mic };
2554
- function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2555
- const o = r && t.length <= 3, l = t.some((v) => v.key === e), [c, d] = O(null), u = z(null), [g, M] = O(0);
2553
+ const fl = { share: q.share, delay: q.tabGauge, video: q.video, source: q.tabSources, script: q.tabScript, fix: q.tabFix, ending: q.tabEnding, summary: q.tabSummary, export: q.tabExport, settings: q.tabSettings, sources: q.tabSources, recs: q.mic };
2554
+ function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
2555
+ const o = r && t.length <= 3, l = t.some((v) => v.key === e), [c, d] = O(null), u = z(null), [h, M] = O(0);
2556
2556
  Y(() => {
2557
2557
  u.current && M(u.current.offsetWidth);
2558
2558
  }, [c == null ? void 0 : c.k]);
2559
2559
  const N = (v, p) => {
2560
- const h = v.currentTarget.querySelector(".tabbar__label");
2561
- if (o || r || p.key === e || h && getComputedStyle(h).opacity === "1") {
2560
+ const g = v.currentTarget.querySelector(".tabbar__label");
2561
+ if (o || r || p.key === e || g && getComputedStyle(g).opacity === "1") {
2562
2562
  c && d(null);
2563
2563
  return;
2564
2564
  }
2565
2565
  if ((c == null ? void 0 : c.k) === p.key) return;
2566
- const C = v.currentTarget.getBoundingClientRect(), b = v.currentTarget.parentElement.getBoundingClientRect();
2567
- d({ k: p.key, label: p.label, x: C.left + C.width / 2, y: b.top });
2566
+ const C = v.currentTarget.getBoundingClientRect(), x = v.currentTarget.parentElement.getBoundingClientRect();
2567
+ d({ k: p.key, label: p.label, x: C.left + C.width / 2, y: x.top });
2568
2568
  }, m = () => d(null);
2569
2569
  let w = null;
2570
2570
  if (c) {
2571
- const v = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, p = g || 80, h = Math.max(v.l + 8, Math.min(v.r - p - 8, c.x - p / 2));
2572
- w = pa(
2573
- /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ f("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: h, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2571
+ const v = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, p = h || 80, g = Math.max(v.l + 8, Math.min(v.r - p - 8, c.x - p / 2));
2572
+ w = ma(
2573
+ /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ f("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: g, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2574
2574
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2575
- /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(p - 19, c.x - h - 5.5))) } })
2575
+ /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(p - 19, c.x - g - 5.5))) } })
2576
2576
  ] }) }),
2577
2577
  document.body
2578
2578
  );
2579
2579
  }
2580
2580
  return /* @__PURE__ */ f("div", { role: "tablist", className: `tabbar tabbar--icons${r ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: s ? 12 : 0 }, onMouseLeave: m, children: [
2581
2581
  t.map((v) => {
2582
- const p = e === v.key, h = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", b = v.icon ?? gl[v.key], k = () => {
2582
+ const p = e === v.key, g = o || p, C = o ? "1 1 0" : p ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", x = v.icon ?? fl[v.key], k = () => {
2583
2583
  m(), n(r && p ? "none" : v.key);
2584
2584
  };
2585
2585
  return r ? /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": p, title: v.label, className: `tabbar__tab${p ? " is-on" : ""}`, style: { flex: C }, onClick: k, children: [
2586
- b && /* @__PURE__ */ i(de, { d: b, size: 15, sw: v.sw ?? 2, style: { flex: "none" } }),
2587
- h && /* @__PURE__ */ i("span", { className: "tabbar__label", children: v.label })
2586
+ x && /* @__PURE__ */ i(de, { d: x, size: 15, sw: v.sw ?? 2, style: { flex: "none" } }),
2587
+ g && /* @__PURE__ */ i("span", { className: "tabbar__label", children: v.label })
2588
2588
  ] }, v.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: C }, onMouseEnter: (J) => N(J, v), onMouseMove: (J) => N(J, v), onClick: k, children: /* @__PURE__ */ f("button", { type: "button", role: "tab", "aria-selected": p, "aria-label": v.label, className: `tabbar__tab${p ? " is-on" : ""}${(c == null ? void 0 : c.k) === v.key ? " is-tip" : ""}`, children: [
2589
- b && /* @__PURE__ */ i(de, { d: b, size: 15, sw: v.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: p && !o ? "scale(1.12)" : "none" } }),
2590
- /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: h ? "1fr" : "0fr", marginLeft: h && b ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: h ? 1 : 0, transform: h ? "none" : "translateX(-6px)" }, children: v.label }) })
2589
+ x && /* @__PURE__ */ i(de, { d: x, size: 15, sw: v.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: p && !o ? "scale(1.12)" : "none" } }),
2590
+ /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: g ? "1fr" : "0fr", marginLeft: g && x ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: g ? 1 : 0, transform: g ? "none" : "translateX(-6px)" }, children: v.label }) })
2591
2591
  ] }) }, v.key);
2592
2592
  }),
2593
2593
  w
2594
2594
  ] });
2595
2595
  }
2596
- const fl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", Nl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2597
- function pl({ audio: t, video: e, formats: n, onExport: s }) {
2596
+ const Nl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", pl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2597
+ function ml({ audio: t, video: e, formats: n, onExport: s }) {
2598
2598
  const [r, a] = O(null), [o, l] = O(null), c = z(void 0), d = z(!0);
2599
2599
  Y(() => (d.current = !0, () => {
2600
2600
  d.current = !1, window.clearTimeout(c.current);
2601
2601
  }), []);
2602
2602
  const u = (m) => {
2603
2603
  window.clearTimeout(c.current), a(m), c.current = window.setTimeout(() => a(null), 1600);
2604
- }, g = (m) => {
2604
+ }, h = (m) => {
2605
2605
  o || (l(m), Promise.resolve().then(() => s(m)).then(() => {
2606
2606
  d.current && u(m);
2607
2607
  }).catch(() => {
@@ -2623,15 +2623,15 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
2623
2623
  /* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
2624
2624
  /* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
2625
2625
  ] }),
2626
- /* @__PURE__ */ i(de, { d: r === m ? q.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: r === m ? "var(--brand)" : "var(--ink-62)" } })
2626
+ /* @__PURE__ */ i(de, { d: r === m ? q.check : Nl, size: 17, sw: 1.6, style: { flex: "none", color: r === m ? "var(--brand)" : "var(--ink-62)" } })
2627
2627
  ] })
2628
2628
  ] });
2629
2629
  return /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2630
- t && N("audio", t, Nl, "DOWNLOAD AUDIO"),
2630
+ t && N("audio", t, pl, "DOWNLOAD AUDIO"),
2631
2631
  e && N("video", e, q.video, "DOWNLOAD VIDEO"),
2632
2632
  n !== !1 && /* @__PURE__ */ f(Pe, { children: [
2633
2633
  /* @__PURE__ */ i(ls, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
2634
- /* @__PURE__ */ i("div", { className: "fmtgrid", children: gs.map((m) => /* @__PURE__ */ f("button", { type: "button", className: "fmtgrid__cell", title: o === m.key ? `Building the ${m.name}…` : m.note, disabled: o != null, "aria-busy": o === m.key || void 0, onClick: () => g(m.key), style: o && o !== m.key ? { opacity: 0.45 } : void 0, children: [
2634
+ /* @__PURE__ */ i("div", { className: "fmtgrid", children: hs.map((m) => /* @__PURE__ */ f("button", { type: "button", className: "fmtgrid__cell", title: o === m.key ? `Building the ${m.name}…` : m.note, disabled: o != null, "aria-busy": o === m.key || void 0, onClick: () => h(m.key), style: o && o !== m.key ? { opacity: 0.45 } : void 0, children: [
2635
2635
  o === m.key ? /* @__PURE__ */ i(ct, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: r === m.key ? q.check : m.icon, size: 16, sw: 1.6, style: { color: r === m.key ? "var(--brand)" : "var(--ink-62)" } }),
2636
2636
  /* @__PURE__ */ i("span", { children: m.name })
2637
2637
  ] }, m.key)) })
@@ -2652,7 +2652,7 @@ function bs(t, e, n) {
2652
2652
  }
2653
2653
  s();
2654
2654
  }
2655
- function ml(t, e, n) {
2655
+ function yl(t, e, n) {
2656
2656
  const [s, r] = O(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
2657
2657
  ${t.summary}` : ""}`, l = Yt();
2658
2658
  return Y(() => {
@@ -2669,12 +2669,12 @@ ${t.summary}` : ""}`, l = Yt();
2669
2669
  };
2670
2670
  }, [o, l]), !n || !a ? t : (s == null ? void 0 : s.key) === o ? s.s : { state: "pending", retry: t.retry };
2671
2671
  }
2672
- function yl(t) {
2672
+ function Tl(t) {
2673
2673
  return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
2674
2674
  } } : { state: "unavailable", retry: () => {
2675
2675
  } };
2676
2676
  }
2677
- function Tl({ s: t }) {
2677
+ function wl({ s: t }) {
2678
2678
  const [e, n] = O(!1), s = z(void 0);
2679
2679
  Y(() => () => window.clearTimeout(s.current), []);
2680
2680
  const r = t.title ?? "", a = t.summary ?? "", o = () => {
@@ -2691,7 +2691,7 @@ ${a}`).catch(() => {
2691
2691
  /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
2692
2692
  /* @__PURE__ */ i(ls, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
2693
2693
  t.state === "ready" && /* @__PURE__ */ f("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
2694
- /* @__PURE__ */ i(de, { d: e ? q.check : kl, size: 13, sw: 1.6 }),
2694
+ /* @__PURE__ */ i(de, { d: e ? q.check : vl, size: 13, sw: 1.6 }),
2695
2695
  e ? "Copied" : "Copy"
2696
2696
  ] })
2697
2697
  ] }),
@@ -2704,27 +2704,27 @@ ${a}`).catch(() => {
2704
2704
  ] })
2705
2705
  ] });
2706
2706
  }
2707
- function wl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
2707
+ function Ll({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
2708
2708
  return /* @__PURE__ */ f("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
2709
2709
  /* @__PURE__ */ i(de, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
2710
- l ?? /* @__PURE__ */ i("iframe", { src: Wo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2710
+ l ?? /* @__PURE__ */ i("iframe", { src: Fo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2711
2711
  n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
2712
2712
  o
2713
2713
  ] });
2714
2714
  }
2715
- function Ll(t = !0, e) {
2715
+ function kl(t = !0, e) {
2716
2716
  const n = z(null), s = e ?? n;
2717
2717
  return Y(() => {
2718
2718
  const r = s.current;
2719
2719
  if (!r || !t) return;
2720
2720
  let a = 0, o = 0, l = !1;
2721
- const c = (g) => {
2722
- g.button !== 0 || g.target.closest("button,a,input,textarea,select") || (l = !0, a = g.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2723
- }, d = (g) => {
2721
+ const c = (h) => {
2722
+ h.button !== 0 || h.target.closest("button,a,input,textarea,select") || (l = !0, a = h.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
2723
+ }, d = (h) => {
2724
2724
  var N;
2725
2725
  if (!l) return;
2726
- const M = g.clientY - a;
2727
- Math.abs(M) > 2 && ((N = r.setPointerCapture) == null || N.call(r, g.pointerId)), r.scrollTop = o - M;
2726
+ const M = h.clientY - a;
2727
+ Math.abs(M) > 2 && ((N = r.setPointerCapture) == null || N.call(r, h.pointerId)), r.scrollTop = o - M;
2728
2728
  }, u = () => {
2729
2729
  l = !1, r.classList.remove("is-dragging");
2730
2730
  };
@@ -2733,48 +2733,48 @@ function Ll(t = !0, e) {
2733
2733
  };
2734
2734
  }, [t]), s;
2735
2735
  }
2736
- const kl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2737
- function vl(t, e) {
2738
- const [n, s] = Ra(t), r = e.tabs.map((h) => h.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2736
+ const vl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2737
+ function jl(t, e) {
2738
+ const [n, s] = Pa(t), r = e.tabs.map((g) => g.key), a = e.tabbed !== !1, o = e.pinnable ?? r;
2739
2739
  let l = n;
2740
- [...e.autoPin ?? []].reverse().forEach((h) => {
2741
- r.includes(h) && !l.includes(h) && !l.includes(`!${h}`) && (l = [h, ...l]);
2740
+ [...e.autoPin ?? []].reverse().forEach((g) => {
2741
+ r.includes(g) && !l.includes(g) && !l.includes(`!${g}`) && (l = [g, ...l]);
2742
2742
  });
2743
2743
  const c = l;
2744
- (e.forcePin ?? []).forEach((h) => {
2745
- l = l.filter((C) => C !== `!${h}`), r.includes(h) && !l.includes(h) && (l = [h, ...l]);
2744
+ (e.forcePin ?? []).forEach((g) => {
2745
+ l = l.filter((C) => C !== `!${g}`), r.includes(g) && !l.includes(g) && (l = [g, ...l]);
2746
2746
  });
2747
- const d = (h) => (e.forcePin ?? []).includes(h) && !c.includes(h), u = a ? l.filter((h) => r.includes(h) && o.includes(h)) : [], g = r.filter((h) => !u.includes(h)), M = e.cur && e.cur !== "none" && g.includes(e.cur) ? e.cur : e.pref && g.includes(e.pref) ? e.pref : g[0] ?? null, N = (h) => {
2748
- const C = g.filter((b) => b !== h);
2749
- return C[g.indexOf(h)] ?? C[C.length - 1] ?? null;
2750
- }, m = (h, C) => {
2751
- if (!o.includes(h)) return;
2752
- const b = u.filter((k) => k !== h);
2753
- if (b.splice(C ?? b.length, 0, h), M === h) {
2754
- const k = N(h);
2747
+ const d = (g) => (e.forcePin ?? []).includes(g) && !c.includes(g), u = a ? l.filter((g) => r.includes(g) && o.includes(g)) : [], h = r.filter((g) => !u.includes(g)), M = e.cur && e.cur !== "none" && h.includes(e.cur) ? e.cur : e.pref && h.includes(e.pref) ? e.pref : h[0] ?? null, N = (g) => {
2748
+ const C = h.filter((x) => x !== g);
2749
+ return C[h.indexOf(g)] ?? C[C.length - 1] ?? null;
2750
+ }, m = (g, C) => {
2751
+ if (!o.includes(g)) return;
2752
+ const x = u.filter((k) => k !== g);
2753
+ if (x.splice(C ?? x.length, 0, g), M === g) {
2754
+ const k = N(g);
2755
2755
  k && e.onPick(k);
2756
2756
  }
2757
- s([...b.filter((k) => !d(k) || k === h), ...c.filter((k) => !b.includes(k) && k !== `!${h}`)]);
2758
- }, w = (h) => {
2759
- s([...c.filter((C) => C !== h && C !== `!${h}`), ...(e.autoPin ?? []).includes(h) ? [`!${h}`] : []]), e.onPick(h);
2760
- }, v = (h) => {
2757
+ s([...x.filter((k) => !d(k) || k === g), ...c.filter((k) => !x.includes(k) && k !== `!${g}`)]);
2758
+ }, w = (g) => {
2759
+ s([...c.filter((C) => C !== g && C !== `!${g}`), ...(e.autoPin ?? []).includes(g) ? [`!${g}`] : []]), e.onPick(g);
2760
+ }, v = (g) => {
2761
2761
  var C;
2762
- return ((C = e.tabs.find((b) => b.key === h)) == null ? void 0 : C.label) ?? h;
2763
- }, p = (h) => {
2764
- const C = u.includes(h), b = r.includes(h);
2762
+ return ((C = e.tabs.find((x) => x.key === g)) == null ? void 0 : C.label) ?? g;
2763
+ }, p = (g) => {
2764
+ const C = u.includes(g), x = r.includes(g);
2765
2765
  return {
2766
- show: b && (!a || C || M === h),
2766
+ show: x && (!a || C || M === g),
2767
2767
  pinned: C,
2768
- order: C ? u.indexOf(h) + 1 : 1e3,
2769
- pill: a && b && o.includes(h) && g.length > 0 && (C || g.length > 1),
2770
- title: C ? `Unpin — return ${v(h)} to the tabs` : `Pin ${v(h)} open above the tabs`,
2771
- toggle: () => C ? w(h) : m(h)
2768
+ order: C ? u.indexOf(g) + 1 : 1e3,
2769
+ pill: a && x && o.includes(g) && h.length > 0 && (C || h.length > 1),
2770
+ title: C ? `Unpin — return ${v(g)} to the tabs` : `Pin ${v(g)} open above the tabs`,
2771
+ toggle: () => C ? w(g) : m(g)
2772
2772
  };
2773
2773
  };
2774
- return { id: t, tabbed: a && g.length > 1, cur: M, seq: u, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((h) => g.includes(h.key)), panel: p, pin: m, unpin: w };
2774
+ return { id: t, tabbed: a && h.length > 1, cur: M, seq: u, pinnable: o, tabKeys: h, stripTabs: e.tabs.filter((g) => h.includes(g.key)), panel: p, pin: m, unpin: w };
2775
2775
  }
2776
- function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2777
- return zl(t), /* @__PURE__ */ f(Pe, { children: [
2776
+ function zl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2777
+ return Il(t), /* @__PURE__ */ f(Pe, { children: [
2778
2778
  e.map((o) => {
2779
2779
  const l = t.panel(o);
2780
2780
  if (!l.show) return null;
@@ -2784,13 +2784,13 @@ function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
2784
2784
  l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(de, { d: q.pin, size: 12, sw: 2 }) })
2785
2785
  ] }, o) : null;
2786
2786
  }),
2787
- t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ii, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2787
+ t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Oi, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2788
2788
  o !== "none" && (r ?? (() => {
2789
2789
  }))(o);
2790
2790
  }, fold: !1 }) })
2791
2791
  ] });
2792
2792
  }
2793
- function zl(t) {
2793
+ function Il(t) {
2794
2794
  const e = z(t);
2795
2795
  e.current = t;
2796
2796
  const n = t.id;
@@ -2800,19 +2800,19 @@ function zl(t) {
2800
2800
  s !== p && (s && s.removeAttribute("data-grip-hot"), s = p, p && p.setAttribute("data-grip-hot", ""));
2801
2801
  }, o = (p) => p.col.querySelector("[data-desk-tabs]"), l = (p) => {
2802
2802
  var K;
2803
- const h = p.el.getBoundingClientRect(), C = p.el.cloneNode(!0);
2803
+ const g = p.el.getBoundingClientRect(), C = p.el.cloneNode(!0);
2804
2804
  C.querySelectorAll("*").forEach((j) => {
2805
2805
  j.style.animation = "none", j.style.transition = "none";
2806
2806
  }), C.querySelectorAll("iframe,video").forEach((j) => {
2807
2807
  const S = document.createElement("div");
2808
2808
  S.style.cssText = "width:100%;height:100%;background:#000", j.replaceWith(S);
2809
- }), C.removeAttribute("data-panel-key"), C.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(C.style, { position: "fixed", left: `${h.left}px`, top: `${h.top}px`, width: `${h.width}px`, height: `${h.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2810
- const b = getComputedStyle(p.el);
2811
- for (let j = 0; j < b.length; j++) {
2812
- const S = b[j];
2813
- S.startsWith("--") && C.style.setProperty(S, b.getPropertyValue(S));
2809
+ }), C.removeAttribute("data-panel-key"), C.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(C.style, { position: "fixed", left: `${g.left}px`, top: `${g.top}px`, width: `${g.width}px`, height: `${g.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2810
+ const x = getComputedStyle(p.el);
2811
+ for (let j = 0; j < x.length; j++) {
2812
+ const S = x[j];
2813
+ S.startsWith("--") && C.style.setProperty(S, x.getPropertyValue(S));
2814
2814
  }
2815
- C.style.fontFamily = b.fontFamily, C.style.color = b.color;
2815
+ C.style.fontFamily = x.fontFamily, C.style.color = x.color;
2816
2816
  let k = p.el.parentElement, J = "";
2817
2817
  for (; k && !J; ) {
2818
2818
  const j = getComputedStyle(k).backgroundColor;
@@ -2827,38 +2827,38 @@ function zl(t) {
2827
2827
  const p = r;
2828
2828
  if (!p || !p.on || p.px == null || p.py == null) return;
2829
2829
  p.raf = 0, p.clone.style.transform = `translate3d(${p.px - p.x0}px,${p.py - p.y0}px,0)`;
2830
- const h = e.current, C = p.key, b = o(p), k = h.seq.includes(C), J = k || h.tabKeys.length > 1, A = b && p.tabsSnap, K = !A || p.py < A.top + A.height / 2 ? J ? "pin" : null : "tabs";
2830
+ const g = e.current, C = p.key, x = o(p), k = g.seq.includes(C), J = k || g.tabKeys.length > 1, A = x && p.tabsSnap, K = !A || p.py < A.top + A.height / 2 ? J ? "pin" : null : "tabs";
2831
2831
  let j = null;
2832
2832
  if (K === "pin") {
2833
- const $ = h.seq.filter((I) => I !== C).map((I) => p.snap[I]).filter(Boolean), L = p.grid ? $.filter((I) => I.bottom < p.py || I.top <= p.py && I.left + I.width / 2 < p.px).length : $.filter((I) => I.top + I.height / 2 < p.py).length;
2834
- k && h.seq.indexOf(C) === L || (j = { zone: K, idx: L });
2833
+ const $ = g.seq.filter((I) => I !== C).map((I) => p.snap[I]).filter(Boolean), L = p.grid ? $.filter((I) => I.bottom < p.py || I.top <= p.py && I.left + I.width / 2 < p.px).length : $.filter((I) => I.top + I.height / 2 < p.py).length;
2834
+ k && g.seq.indexOf(C) === L || (j = { zone: K, idx: L });
2835
2835
  } else K === "tabs" && k && (j = { zone: K });
2836
2836
  const S = j ? j.zone + (j.idx ?? "") : "";
2837
2837
  if (S !== p.sig) {
2838
2838
  if (p.sig = S, p.target = j, p.orig.forEach(([$, L]) => {
2839
2839
  $.style.order = L;
2840
2840
  }), (j == null ? void 0 : j.zone) === "pin") {
2841
- const $ = h.seq.filter((L) => L !== C);
2841
+ const $ = g.seq.filter((L) => L !== C);
2842
2842
  $.splice(j.idx, 0, C), $.forEach((L, I) => {
2843
2843
  const E = p.col.querySelector(`[data-panel-key="${L}"]`);
2844
2844
  E && (E.style.order = String(I + 1));
2845
2845
  });
2846
2846
  } else (j == null ? void 0 : j.zone) === "tabs" && (p.el.style.order = "998");
2847
- b && ((j == null ? void 0 : j.zone) === "tabs" ? b.setAttribute("data-drop-hot", "") : b.removeAttribute("data-drop-hot"));
2847
+ x && ((j == null ? void 0 : j.zone) === "tabs" ? x.setAttribute("data-drop-hot", "") : x.removeAttribute("data-drop-hot"));
2848
2848
  }
2849
2849
  }, d = (p) => {
2850
2850
  var C;
2851
- const h = r;
2852
- if (r = null, !(!h || !h.on) && (h.raf && cancelAnimationFrame(h.raf), h.clone.remove(), h.orig.forEach(([b, k]) => {
2853
- b.style.order = k;
2854
- }), h.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (C = o(h)) == null || C.removeAttribute("data-drop-hot"), p && h.target)) {
2855
- const b = e.current;
2856
- h.target.zone === "tabs" ? b.seq.includes(h.key) && b.unpin(h.key) : b.pin(h.key, h.target.idx);
2851
+ const g = r;
2852
+ if (r = null, !(!g || !g.on) && (g.raf && cancelAnimationFrame(g.raf), g.clone.remove(), g.orig.forEach(([x, k]) => {
2853
+ x.style.order = k;
2854
+ }), g.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (C = o(g)) == null || C.removeAttribute("data-drop-hot"), p && g.target)) {
2855
+ const x = e.current;
2856
+ g.target.zone === "tabs" ? x.seq.includes(g.key) && x.unpin(g.key) : x.pin(g.key, g.target.idx);
2857
2857
  }
2858
2858
  }, u = (p) => {
2859
- const h = p instanceof Element ? p.closest("[data-tab-col]") : null;
2860
- return h && h.getAttribute("data-tab-col") === n ? h : null;
2861
- }, g = (p) => {
2859
+ const g = p instanceof Element ? p.closest("[data-tab-col]") : null;
2860
+ return g && g.getAttribute("data-tab-col") === n ? g : null;
2861
+ }, h = (p) => {
2862
2862
  var A;
2863
2863
  if (r) {
2864
2864
  if (!r.on) {
@@ -2868,56 +2868,56 @@ function zl(t) {
2868
2868
  r.px = p.clientX, r.py = p.clientY, r.raf || (r.raf = requestAnimationFrame(c));
2869
2869
  return;
2870
2870
  }
2871
- const h = p.target;
2872
- if (!u(h)) {
2871
+ const g = p.target;
2872
+ if (!u(g)) {
2873
2873
  s && ((A = s.closest("[data-tab-col]")) == null ? void 0 : A.getAttribute("data-tab-col")) === n && a(null);
2874
2874
  return;
2875
2875
  }
2876
- const C = h.closest("[data-panel-key]"), b = C == null ? void 0 : C.firstElementChild;
2877
- if (!C || !b || !e.current.tabbed || !e.current.pinnable.includes(C.getAttribute("data-panel-key")) || h.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2878
- const k = b.getBoundingClientRect(), J = parseFloat(getComputedStyle(C).getPropertyValue("--grip-h")) || 30;
2876
+ const C = g.closest("[data-panel-key]"), x = C == null ? void 0 : C.firstElementChild;
2877
+ if (!C || !x || !e.current.tabbed || !e.current.pinnable.includes(C.getAttribute("data-panel-key")) || g.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2878
+ const k = x.getBoundingClientRect(), J = parseFloat(getComputedStyle(C).getPropertyValue("--grip-h")) || 30;
2879
2879
  a(p.clientY >= k.top && p.clientY <= k.top + J ? C : null);
2880
2880
  }, M = (p) => {
2881
2881
  if (!s || p.button !== 0) return;
2882
- const h = u(s);
2883
- h && (p.preventDefault(), p.stopImmediatePropagation(), r = { el: s, col: h, key: s.getAttribute("data-panel-key"), x0: p.clientX, y0: p.clientY, on: !1 });
2882
+ const g = u(s);
2883
+ g && (p.preventDefault(), p.stopImmediatePropagation(), r = { el: s, col: g, key: s.getAttribute("data-panel-key"), x0: p.clientX, y0: p.clientY, on: !1 });
2884
2884
  }, N = () => d(!0), m = () => d(!1), w = (p) => {
2885
2885
  p.key === "Escape" && r && (p.preventDefault(), p.stopImmediatePropagation(), d(!1));
2886
2886
  }, v = () => {
2887
2887
  r || a(null);
2888
2888
  };
2889
- return document.addEventListener("pointermove", g, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", m), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", v), () => {
2890
- d(!1), a(null), document.removeEventListener("pointermove", g, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", m), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", v);
2889
+ return document.addEventListener("pointermove", h, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", m), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", v), () => {
2890
+ d(!1), a(null), document.removeEventListener("pointermove", h, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", m), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", v);
2891
2891
  };
2892
2892
  }, [n]);
2893
2893
  }
2894
- function Il({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2895
- const [o, l] = Qa(t), c = z(null), d = z(null);
2896
- Ol(d), Y(() => {
2894
+ function Ol({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
2895
+ const [o, l] = $a(t), c = z(null), d = z(null);
2896
+ Cl(d), Y(() => {
2897
2897
  document.documentElement.style.setProperty("--colw", `${o}px`);
2898
2898
  }, [o]);
2899
2899
  const u = (M) => {
2900
2900
  const N = c.current, m = N == null ? void 0 : N.parentElement;
2901
2901
  if (M.button !== 0 || !N || !m) return;
2902
2902
  M.preventDefault();
2903
- const w = M.currentTarget, v = getComputedStyle(m), p = m.clientWidth - parseFloat(v.paddingLeft) - parseFloat(v.paddingRight) - (parseFloat(v.columnGap) || 0), h = 320, C = 320, b = Math.max(h, p - C), k = M.clientX, J = N.getBoundingClientRect().width;
2903
+ const w = M.currentTarget, v = getComputedStyle(m), p = m.clientWidth - parseFloat(v.paddingLeft) - parseFloat(v.paddingRight) - (parseFloat(v.columnGap) || 0), g = 320, C = 320, x = Math.max(g, p - C), k = M.clientX, J = N.getBoundingClientRect().width;
2904
2904
  let A = J;
2905
2905
  w.classList.add("is-on");
2906
2906
  const K = { cur: document.body.style.cursor, sel: document.body.style.userSelect };
2907
2907
  document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
2908
2908
  const j = ($) => {
2909
- A = Math.round(Math.min(b, Math.max(h, J + (k - $.clientX)))), N.style.flexBasis = `${A}px`, document.documentElement.style.setProperty("--colw", `${A}px`);
2909
+ A = Math.round(Math.min(x, Math.max(g, J + (k - $.clientX)))), N.style.flexBasis = `${A}px`, document.documentElement.style.setProperty("--colw", `${A}px`);
2910
2910
  }, S = () => {
2911
2911
  window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", S), window.removeEventListener("pointercancel", S), document.body.style.cursor = K.cur, document.body.style.userSelect = K.sel, w.classList.remove("is-on"), l(A);
2912
2912
  };
2913
2913
  window.addEventListener("pointermove", j), window.addEventListener("pointerup", S), window.addEventListener("pointercancel", S);
2914
- }, g = s ? { display: "none" } : void 0;
2914
+ }, h = s ? { display: "none" } : void 0;
2915
2915
  return /* @__PURE__ */ f(Pe, { children: [
2916
- /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...g }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: u, onDoubleClick: () => l(null) }) }),
2917
- /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
2916
+ /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...h }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: u, onDoubleClick: () => l(null) }) }),
2917
+ /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...h }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
2918
2918
  ] });
2919
2919
  }
2920
- function Ol(t) {
2920
+ function Cl(t) {
2921
2921
  Y(() => {
2922
2922
  const e = t.current;
2923
2923
  if (!e) return;
@@ -2927,13 +2927,13 @@ function Ol(t) {
2927
2927
  s = 0;
2928
2928
  const d = getComputedStyle(e).display === "grid";
2929
2929
  [...e.children].forEach((u) => {
2930
- const g = u;
2930
+ const h = u;
2931
2931
  if (!d) {
2932
- g.style.gridRowEnd && (g.style.gridRowEnd = "");
2932
+ h.style.gridRowEnd && (h.style.gridRowEnd = "");
2933
2933
  return;
2934
2934
  }
2935
- const M = g.getBoundingClientRect().height, N = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2936
- g.style.gridRowEnd !== N && (g.style.gridRowEnd = N);
2935
+ const M = h.getBoundingClientRect().height, N = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2936
+ h.style.gridRowEnd !== N && (h.style.gridRowEnd = N);
2937
2937
  });
2938
2938
  }, a = () => {
2939
2939
  s || (s = requestAnimationFrame(r));
@@ -2945,13 +2945,13 @@ function Ol(t) {
2945
2945
  };
2946
2946
  }, [t]);
2947
2947
  }
2948
- function Cl(t) {
2948
+ function bl(t) {
2949
2949
  return /\bwas not captured\b/i.test(t ?? "");
2950
2950
  }
2951
- const bl = 1500, xl = 3e5;
2952
- function Dl(t) {
2953
- const e = Yt(), [n, s] = O(null), [r, a] = O(null), [o, l] = O(null), [c, d] = O(null), u = z(null), g = z(null), M = z(null), N = z(0), m = qe(() => {
2954
- M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
2951
+ const xl = 1500, Dl = 3e5;
2952
+ function Sl(t) {
2953
+ const e = Yt(), [n, s] = O(null), [r, a] = O(null), [o, l] = O(null), [c, d] = O(null), u = z(null), h = z(null), M = z(null), N = z(0), m = qe(() => {
2954
+ M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), h.current && (URL.revokeObjectURL(h.current), h.current = null);
2955
2955
  }, []), w = qe(() => {
2956
2956
  N.current += 1, m(), a(null), l(null);
2957
2957
  }, [m]), v = qe(() => {
@@ -2960,20 +2960,20 @@ function Dl(t) {
2960
2960
  Y(() => () => {
2961
2961
  N.current += 1, m();
2962
2962
  }, [m]);
2963
- const p = qe((h) => {
2963
+ const p = qe((g) => {
2964
2964
  N.current += 1;
2965
2965
  const C = N.current;
2966
- if (m(), s(h.id), a(null), l(null), d(null), !t) return;
2967
- let b = h.previewUrl ? `${e.origin}${h.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(h.id)}&lang=${encodeURIComponent(t)}`;
2968
- jn() === "caf" && (b += `${b.includes("?") ? "&" : "?"}format=caf`);
2966
+ if (m(), s(g.id), a(null), l(null), d(null), !t) return;
2967
+ let x = g.previewUrl ? `${e.origin}${g.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(g.id)}&lang=${encodeURIComponent(t)}`;
2968
+ jn() === "caf" && (x += `${x.includes("?") ? "&" : "?"}format=caf`);
2969
2969
  const k = Date.now();
2970
- e.shareCode && b.includes("recording=") && (b += `&shareCode=${encodeURIComponent(e.shareCode)}`);
2970
+ e.shareCode && x.includes("recording=") && (x += `&shareCode=${encodeURIComponent(e.shareCode)}`);
2971
2971
  const J = async () => {
2972
2972
  if (N.current !== C) return;
2973
2973
  let A;
2974
2974
  try {
2975
2975
  const $ = e.owner ? await e.bearer() : void 0;
2976
- A = await fetch(b, { headers: $ ? { Authorization: `Bearer ${$}` } : {} });
2976
+ A = await fetch(x, { headers: $ ? { Authorization: `Bearer ${$}` } : {} });
2977
2977
  } catch ($) {
2978
2978
  if (N.current !== C) return;
2979
2979
  l(null), d(wt($));
@@ -2981,13 +2981,13 @@ function Dl(t) {
2981
2981
  }
2982
2982
  if (N.current !== C) return;
2983
2983
  if (A.status === 202 || A.status === 503) {
2984
- if (Date.now() - k > xl) {
2984
+ if (Date.now() - k > Dl) {
2985
2985
  l(null), d({ message: "This voice is still being fetched. Try it again in a moment." });
2986
2986
  return;
2987
2987
  }
2988
- l(h.id), M.current = setTimeout(() => {
2988
+ l(g.id), M.current = setTimeout(() => {
2989
2989
  J();
2990
- }, bl);
2990
+ }, xl);
2991
2991
  return;
2992
2992
  }
2993
2993
  if (!A.ok) {
@@ -2998,27 +2998,27 @@ function Dl(t) {
2998
2998
  }
2999
2999
  const K = await A.blob();
3000
3000
  if (N.current !== C) return;
3001
- l(null), g.current = URL.createObjectURL(K);
3002
- const j = new Audio(g.current);
3001
+ l(null), h.current = URL.createObjectURL(K);
3002
+ const j = new Audio(h.current);
3003
3003
  j.playsInline = !0;
3004
3004
  const S = () => {
3005
3005
  N.current === C && (m(), a(null));
3006
3006
  };
3007
3007
  j.onended = S, j.onerror = S, u.current = j, j.play().then(() => {
3008
- N.current === C && a(h.id);
3008
+ N.current === C && a(g.id);
3009
3009
  }).catch(S);
3010
3010
  };
3011
3011
  J();
3012
3012
  }, [t, m, e]);
3013
3013
  return { armId: n, sampleId: r, dlId: o, error: c, clearError: () => d(null), arm: p, stop: w, reset: v };
3014
3014
  }
3015
- const ps = 0.05, Oi = (t, e) => {
3015
+ const ps = 0.05, Ci = (t, e) => {
3016
3016
  let n = 0;
3017
3017
  for (let s = 0; s < t.length; s++) t[s].start <= e + 1e-6 && (n = s);
3018
3018
  return n;
3019
3019
  };
3020
- function Sl(t, e, n, s) {
3021
- const r = Math.max(0, e), a = s > 0 && r >= s - ps, o = t.length && t[0].start <= r + 1e-6 ? Oi(t, r) : -1;
3020
+ function Al(t, e, n, s) {
3021
+ const r = Math.max(0, e), a = s > 0 && r >= s - ps, o = t.length && t[0].start <= r + 1e-6 ? Ci(t, r) : -1;
3022
3022
  return o < 0 ? { t: r, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: r, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, r - t[o].start), ended: a };
3023
3023
  }
3024
3024
  function yn(t, e, n) {
@@ -3033,18 +3033,18 @@ function yn(t, e, n) {
3033
3033
  }
3034
3034
  a = Math.max(0, Math.min(s, a));
3035
3035
  const o = s > 0 && a >= s - ps && r < 0;
3036
- return { t: a, playing: t.playing && !o, index: r >= 0 ? r : Oi(e, a) };
3036
+ return { t: a, playing: t.playing && !o, index: r >= 0 ? r : Ci(e, a) };
3037
3037
  }
3038
- function Ci(t, e, n) {
3038
+ function bi(t, e, n) {
3039
3039
  var c;
3040
3040
  const s = t[e], r = n && s.translations[n] && s.language !== n ? s.translations[n] : null;
3041
3041
  if (!r && s.words.length) return s.words;
3042
- const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l = ji(s, t[e + 1], s.start + Math.max(2, a.length * 0.4));
3043
- return Zo(a, o, l).map((d, u) => ({ ...d, seq: s.seqs[0] ?? 0, idx: u }));
3042
+ const a = (r ?? s.text).split(/\s+/).filter(Boolean), o = ((c = s.words[0]) == null ? void 0 : c.start) ?? s.start, l = zi(s, t[e + 1], s.start + Math.max(2, a.length * 0.4));
3043
+ return qo(a, o, l).map((d, u) => ({ ...d, seq: s.seqs[0] ?? 0, idx: u }));
3044
3044
  }
3045
3045
  function Gr(t, e, n) {
3046
3046
  if (!t.engaged || e !== t.idx || !n.length) return null;
3047
- if (!t.wordSync) return t.clipPos ? di(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3047
+ if (!t.wordSync) return t.clipPos ? Mi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3048
3048
  const s = t.t;
3049
3049
  let r = -1;
3050
3050
  for (let a = 0; a < n.length && n[a].start <= s; a++) r = a;
@@ -3062,7 +3062,7 @@ function Et(t, e, n) {
3062
3062
  const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
3063
3063
  return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3064
3064
  }
3065
- function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: g, waiting: M = !1 }) {
3065
+ function El({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: h, waiting: M = !1 }) {
3066
3066
  const N = z(null), [m, w] = O(!1);
3067
3067
  Y(() => {
3068
3068
  if (!M) {
@@ -3072,7 +3072,7 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3072
3072
  const G = setTimeout(() => w(!0), 300);
3073
3073
  return () => clearTimeout(G);
3074
3074
  }, [M]);
3075
- const v = s && !m, p = z(!1), [h, C] = O(!1), b = (G, me = []) => {
3075
+ const v = s && !m, p = z(!1), [g, C] = O(!1), x = (G, me = []) => {
3076
3076
  var V, Ye;
3077
3077
  if (!(p.current && (G === "pauseVideo" || G === "seekTo" || G === "setPlaybackRate")))
3078
3078
  try {
@@ -3090,15 +3090,15 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3090
3090
  const G = A.current || K.current;
3091
3091
  if (G !== p.current)
3092
3092
  if (p.current = G, C(G), (me = $.current) == null || me.call($, G), G) {
3093
- if (b("playVideo"), S.current) return;
3093
+ if (x("playVideo"), S.current) return;
3094
3094
  Ee.current && j.current && (L.current = !0, j.current());
3095
3095
  } else L.current && !S.current && (L.current = !1, Ee.current || (V = j.current) == null || V.call(j));
3096
3096
  }, E = z(n);
3097
3097
  E.current = n;
3098
- const oe = z(g);
3099
- oe.current = g;
3100
- const P = z(null), x = z(null), [ue, B] = O(!1), [F, ie] = O(!1), re = () => {
3101
- b("unloadModule", ["captions"]), b("unloadModule", ["cc"]);
3098
+ const oe = z(h);
3099
+ oe.current = h;
3100
+ const P = z(null), b = z(null), [ue, B] = O(!1), [F, ie] = O(!1), re = () => {
3101
+ x("unloadModule", ["captions"]), x("unloadModule", ["cc"]);
3102
3102
  }, le = z([]), ve = () => {
3103
3103
  re(), le.current.forEach(clearTimeout), le.current = [400, 1200, 2500, 5e3].map((G) => window.setTimeout(re, G));
3104
3104
  };
@@ -3109,10 +3109,10 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3109
3109
  (me = (G = N.current) == null ? void 0 : G.contentWindow) == null || me.postMessage(JSON.stringify({ event: "listening", id: "reader" }), "*");
3110
3110
  } catch {
3111
3111
  }
3112
- (!S.current || S.current.muted) && b("mute"), ie(!0);
3112
+ (!S.current || S.current.muted) && x("mute"), ie(!0);
3113
3113
  };
3114
- Y(() => (u == null || u.bind(b), () => u == null ? void 0 : u.bind(null)), [!!u]), Y(() => {
3115
- !u && F && b("mute");
3114
+ Y(() => (u == null || u.bind(x), () => u == null ? void 0 : u.bind(null)), [!!u]), Y(() => {
3115
+ !u && F && x("mute");
3116
3116
  }, [!!u]);
3117
3117
  const Te = z(null), we = z(l);
3118
3118
  we.current = l;
@@ -3126,11 +3126,11 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3126
3126
  const me = Te.current;
3127
3127
  return !!me && (G < me.start - 1 || G > me.end + 5);
3128
3128
  }, R = () => {
3129
- y(E.current) || b("seekTo", [E.current, !0]);
3129
+ y(E.current) || x("seekTo", [E.current, !0]);
3130
3130
  }, ae = () => P.current;
3131
3131
  return Y(() => {
3132
3132
  const G = (me) => {
3133
- var Ve, Ae, Z, se, he, Me, ce, ke, We, xe, Ce, _, U, W, ee, fe;
3133
+ var Ve, Ae, Z, se, ge, Me, ce, ke, We, xe, Ce, _, U, W, ee, fe;
3134
3134
  if (me.source !== ((Ve = N.current) == null ? void 0 : Ve.contentWindow) || typeof me.data != "string") return;
3135
3135
  let V = null;
3136
3136
  try {
@@ -3140,60 +3140,60 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
3140
3140
  }
3141
3141
  (Z = (Ae = V == null ? void 0 : V.info) == null ? void 0 : Ae.videoData) != null && Z.isLive && (J.current = !0);
3142
3142
  const Ye = (se = V == null ? void 0 : V.info) == null ? void 0 : se.duration;
3143
- typeof Ye == "number" && Ye > 0 && !J.current && (k.current == null ? k.current = Ye : (A.current = Math.abs(Ye - k.current) > 1.5, I())), (V == null ? void 0 : V.event) === "onReady" && ((!S.current || S.current.muted) && b("mute"), ve(), (he = S.current) == null || he.onInfo({ ready: !0 })), typeof ((Me = V == null ? void 0 : V.info) == null ? void 0 : Me.playerState) == "number" && (V.info.playerState !== x.current && (V.info.playerState === 1 || V.info.playerState === 2) && ve(), x.current = V.info.playerState, B(V.info.playerState === 2 || V.info.playerState === 0), (ce = S.current) == null || ce.onInfo({ state: V.info.playerState }));
3143
+ typeof Ye == "number" && Ye > 0 && !J.current && (k.current == null ? k.current = Ye : (A.current = Math.abs(Ye - k.current) > 1.5, I())), (V == null ? void 0 : V.event) === "onReady" && ((!S.current || S.current.muted) && x("mute"), ve(), (ge = S.current) == null || ge.onInfo({ ready: !0 })), typeof ((Me = V == null ? void 0 : V.info) == null ? void 0 : Me.playerState) == "number" && (V.info.playerState !== b.current && (V.info.playerState === 1 || V.info.playerState === 2) && ve(), b.current = V.info.playerState, B(V.info.playerState === 2 || V.info.playerState === 0), (ce = S.current) == null || ce.onInfo({ state: V.info.playerState }));
3144
3144
  const je = (ke = V == null ? void 0 : V.info) == null ? void 0 : ke.progressState;
3145
3145
  if (je && typeof je.seekableStart == "number" && typeof je.seekableEnd == "number" && je.seekableEnd > je.seekableStart) {
3146
3146
  const Ne = Te.current == null;
3147
- if (Te.current = { start: je.seekableStart, end: je.seekableEnd }, Ne && !Ee.current && (b("pauseVideo"), y(E.current) || b("seekTo", [E.current, !0])), !te.current && we.current != null) {
3147
+ if (Te.current = { start: je.seekableStart, end: je.seekableEnd }, Ne && !Ee.current && (x("pauseVideo"), y(E.current) || x("seekTo", [E.current, !0])), !te.current && we.current != null) {
3148
3148
  te.current = !0;
3149
3149
  const ze = we.current < je.seekableStart - 1;
3150
3150
  (We = ye.current) == null || We.call(ye, ze), ze && ((xe = Oe.current) == null || xe.call(Oe));
3151
3151
  }
3152
3152
  }
3153
- typeof ((Ce = V == null ? void 0 : V.info) == null ? void 0 : Ce.currentTime) == "number" && (P.current = V.info.currentTime, (_ = S.current) == null || _.onInfo({ t: V.info.currentTime }), !p.current && x.current === 1 && ((U = oe.current) == null || U.call(oe, V.info.currentTime))), ((W = V == null ? void 0 : V.info) == null ? void 0 : W.muted) === !1 && !S.current && b("mute"), typeof ((ee = V == null ? void 0 : V.info) == null ? void 0 : ee.muted) == "boolean" && ((fe = S.current) == null || fe.onInfo({ muted: V.info.muted }));
3153
+ typeof ((Ce = V == null ? void 0 : V.info) == null ? void 0 : Ce.currentTime) == "number" && (P.current = V.info.currentTime, (_ = S.current) == null || _.onInfo({ t: V.info.currentTime }), !p.current && b.current === 1 && ((U = oe.current) == null || U.call(oe, V.info.currentTime))), ((W = V == null ? void 0 : V.info) == null ? void 0 : W.muted) === !1 && !S.current && x("mute"), typeof ((ee = V == null ? void 0 : V.info) == null ? void 0 : ee.muted) == "boolean" && ((fe = S.current) == null || fe.onInfo({ muted: V.info.muted }));
3154
3154
  };
3155
3155
  return window.addEventListener("message", G), () => window.removeEventListener("message", G);
3156
3156
  }, []), Y(() => {
3157
3157
  if (u) return;
3158
3158
  const G = y(n);
3159
- G !== H && (X(G), G ? b("pauseVideo") : F && (b("seekTo", [n, !0]), v && b("playVideo")));
3159
+ G !== H && (X(G), G ? x("pauseVideo") : F && (x("seekTo", [n, !0]), v && x("playVideo")));
3160
3160
  }), Y(() => {
3161
3161
  if (!F || H || u) return;
3162
3162
  if (!v && Te.current == null && !Be.current) {
3163
- Be.current = !0, b("seekTo", [E.current, !0]), b("playVideo");
3163
+ Be.current = !0, x("seekTo", [E.current, !0]), x("playVideo");
3164
3164
  return;
3165
3165
  }
3166
3166
  const G = ae();
3167
- v && (G == null || Math.abs(G - E.current) > 1.5) && R(), b(v ? "playVideo" : "pauseVideo");
3167
+ v && (G == null || Math.abs(G - E.current) > 1.5) && R(), x(v ? "playVideo" : "pauseVideo");
3168
3168
  }, [v, F, H]), Y(() => {
3169
3169
  if (!F || r === 0 || H || u) return;
3170
3170
  const G = ae();
3171
- (G == null || Math.abs(G - E.current) > 0.5) && R(), v || b("pauseVideo");
3171
+ (G == null || Math.abs(G - E.current) > 0.5) && R(), v || x("pauseVideo");
3172
3172
  }, [r, F]), Y(() => {
3173
3173
  if (!F) return;
3174
3174
  let G = null, me = 0;
3175
3175
  const V = setInterval(() => {
3176
3176
  const Ye = P.current;
3177
- me = x.current === 1 && Ye != null && G != null && Math.abs(Ye - G) < 0.05 ? me + 1 : 0, G = Ye;
3177
+ me = b.current === 1 && Ye != null && G != null && Math.abs(Ye - G) < 0.05 ? me + 1 : 0, G = Ye;
3178
3178
  const je = me >= 3;
3179
3179
  je !== K.current && (K.current = je, I());
3180
3180
  }, 1e3);
3181
3181
  return () => clearInterval(V);
3182
- }, [F]), /* @__PURE__ */ f("div", { className: `txyt${h ? " txyt--ad" : ""}`, children: [
3182
+ }, [F]), /* @__PURE__ */ f("div", { className: `txyt${g ? " txyt--ad" : ""}`, children: [
3183
3183
  /* @__PURE__ */ i("iframe", { ref: N, onLoad: Le, 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" }),
3184
- !h && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
3185
- /* @__PURE__ */ i("div", { className: `txyt__paused${ue && !h && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(si, { size: 44 }) }) }),
3186
- h && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3184
+ !g && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
3185
+ /* @__PURE__ */ i("div", { className: `txyt__paused${ue && !g && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(ri, { size: 44 }) }) }),
3186
+ g && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
3187
3187
  H && /* @__PURE__ */ f("div", { className: "txyt__gone", children: [
3188
3188
  /* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
3189
3189
  /* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
3190
3190
  ] })
3191
3191
  ] });
3192
3192
  }
3193
- const El = /* @__PURE__ */ f(Pe, { children: [
3193
+ const Yl = /* @__PURE__ */ f(Pe, { children: [
3194
3194
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3195
3195
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3196
- ] }), Yl = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3196
+ ] }), Zr = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3197
3197
  function _l({ player: t, size: e }) {
3198
3198
  const n = t.muted ? "Unmute" : "Mute";
3199
3199
  return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(de, { d: t.muted ? q.volumeOff : q.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
@@ -3211,10 +3211,10 @@ function $l(t, e) {
3211
3211
  const s = z(0), r = z(1), a = qe((o, l) => {
3212
3212
  cancelAnimationFrame(s.current);
3213
3213
  const c = r.current, d = performance.now(), u = () => {
3214
- const g = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3215
- r.current = c + (o - c) * g;
3214
+ const h = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
3215
+ r.current = c + (o - c) * h;
3216
3216
  for (const M of n.current) M.setVolume(r.current);
3217
- g < 1 && (s.current = requestAnimationFrame(u));
3217
+ h < 1 && (s.current = requestAnimationFrame(u));
3218
3218
  };
3219
3219
  u();
3220
3220
  }, []);
@@ -3227,14 +3227,14 @@ function $l(t, e) {
3227
3227
  }
3228
3228
  function Bl(t, e, n, s) {
3229
3229
  var ye;
3230
- const r = z(null), a = z(!1), o = z(!1), [l, c] = O(null), [d, u] = O(!0), g = z(!0), M = z(!1), [N, m] = O(0), w = z(0);
3230
+ const r = z(null), a = z(!1), o = z(!1), [l, c] = O(null), [d, u] = O(!0), h = z(!0), M = z(!1), [N, m] = O(0), w = z(0);
3231
3231
  w.current = N;
3232
3232
  const v = z({ t: 0, at: 0 }), p = z(n);
3233
3233
  p.current = n;
3234
- const h = z(s);
3235
- h.current = s;
3236
- const [C, b] = O(!1), k = z(!1), J = (te) => {
3237
- k.current = te, b(te);
3234
+ const g = z(s);
3235
+ g.current = s;
3236
+ const [C, x] = O(!1), k = z(!1), J = (te) => {
3237
+ k.current = te, x(te);
3238
3238
  }, A = (te, H) => {
3239
3239
  var X;
3240
3240
  return (X = r.current) == null ? void 0 : X.call(r, te, H);
@@ -3250,12 +3250,12 @@ function Bl(t, e, n, s) {
3250
3250
  }
3251
3251
  }
3252
3252
  }), []);
3253
- $.muted = g.current || M.current, Y(() => {
3253
+ $.muted = h.current || M.current, Y(() => {
3254
3254
  if (l !== 1) return;
3255
3255
  let te = 0;
3256
3256
  const H = () => {
3257
3257
  const X = v.current, y = X.t + Math.min(1.2, (performance.now() - X.at) / 1e3);
3258
- if (h.current != null && y >= h.current) {
3258
+ if (g.current != null && y >= g.current) {
3259
3259
  J(!0), A("pauseVideo"), m(y);
3260
3260
  return;
3261
3261
  }
@@ -3272,8 +3272,8 @@ function Bl(t, e, n, s) {
3272
3272
  let te = 0;
3273
3273
  for (let H = 0; H < t.length; H++) t[H].start <= N + 0.05 && (te = H);
3274
3274
  return te;
3275
- }, [t, N]), [oe, P] = O(0), x = (te) => {
3276
- const H = Math.max(0, h.current != null ? Math.min(te, Math.max(0, h.current - 0.5)) : te);
3275
+ }, [t, N]), [oe, P] = O(0), b = (te) => {
3276
+ const H = Math.max(0, g.current != null ? Math.min(te, Math.max(0, g.current - 0.5)) : te);
3277
3277
  A("seekTo", [H + p.current, !0]), v.current = { t: H, at: performance.now() }, m(H), P((X) => X + 1);
3278
3278
  }, ue = z(!1), B = z(void 0), F = (te) => {
3279
3279
  window.clearTimeout(B.current), B.current = window.setTimeout(() => {
@@ -3302,15 +3302,15 @@ function Bl(t, e, n, s) {
3302
3302
  J(!1);
3303
3303
  return;
3304
3304
  }
3305
- N >= I - 0.25 && x(0), ie();
3305
+ N >= I - 0.25 && b(0), ie();
3306
3306
  }, ve = (te) => {
3307
3307
  const H = t[Math.max(0, Math.min(t.length - 1, te))];
3308
- H && x(H.start);
3308
+ H && b(H.start);
3309
3309
  }, Le = z(!1), Te = () => {
3310
- const te = g.current || M.current;
3310
+ const te = h.current || M.current;
3311
3311
  $.muted = te, A(te ? "mute" : "unMute");
3312
3312
  }, we = (te) => {
3313
- g.current = te, u(te), Te();
3313
+ h.current = te, u(te), Te();
3314
3314
  }, Ee = (te) => {
3315
3315
  M.current !== !te && (M.current = !te, Te());
3316
3316
  };
@@ -3336,18 +3336,18 @@ function Bl(t, e, n, s) {
3336
3336
  toggle: le,
3337
3337
  seekRow: ve,
3338
3338
  toggleMute: () => {
3339
- const te = !g.current;
3339
+ const te = !h.current;
3340
3340
  we(te), !te && !M.current && j.current === 1 && setTimeout(() => {
3341
- j.current === 2 && !g.current && (we(!0), A("playVideo"));
3341
+ j.current === 2 && !h.current && (we(!0), A("playVideo"));
3342
3342
  }, 900);
3343
3343
  },
3344
- seekFrac: (te) => x(Math.max(0, Math.min(1, te)) * I),
3345
- seekWord: (te) => x(te.start),
3344
+ seekFrac: (te) => b(Math.max(0, Math.min(1, te)) * I),
3345
+ seekWord: (te) => b(te.start),
3346
3346
  playRow: (te) => {
3347
3347
  ve(te), K || ie();
3348
3348
  },
3349
3349
  stop: () => {
3350
- re(), x(0);
3350
+ re(), b(0);
3351
3351
  },
3352
3352
  engaged: K || N > 0,
3353
3353
  prev: () => ve(E - 1),
@@ -3370,34 +3370,34 @@ function Bl(t, e, n, s) {
3370
3370
  }
3371
3371
  function Hl(t, e, n, s, r = 0, a = null) {
3372
3372
  var X;
3373
- const o = z(null), [l, c] = O(!1), [d, u] = O(0), [g, M] = O(!1), N = z(g);
3374
- N.current = g;
3375
- const m = z(!1), [w, v] = O(null), [p, h] = O(!1), C = z(r);
3373
+ const o = z(null), [l, c] = O(!1), [d, u] = O(0), [h, M] = O(!1), N = z(h);
3374
+ N.current = h;
3375
+ const m = z(!1), [w, v] = O(null), [p, g] = O(!1), C = z(r);
3376
3376
  C.current = r;
3377
- const b = z(null), [k, J] = O(0);
3377
+ const x = z(null), [k, J] = O(0);
3378
3378
  Y(() => {
3379
- h(!1);
3380
- const y = b.current;
3381
- if (b.current = null, y || u(0), !t) {
3379
+ g(!1);
3380
+ const y = x.current;
3381
+ if (x.current = null, y || u(0), !t) {
3382
3382
  c(!1), o.current = null;
3383
3383
  return;
3384
3384
  }
3385
- const R = li(t), ae = C.current;
3385
+ const R = ci(t), ae = C.current;
3386
3386
  return R.preload = "metadata", R.muted = N.current || m.current, R.onplay = () => c(!0), R.onpause = () => c(!1), R.onended = () => c(!1), R.onloadedmetadata = () => {
3387
- h(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + ae, y != null && y.playing && R.play().catch((G) => {
3387
+ g(!0), R.currentTime = ((y == null ? void 0 : y.t) ?? 0) + ae, y != null && y.playing && R.play().catch((G) => {
3388
3388
  y.asked && (G == null ? void 0 : G.name) === "NotAllowedError" || v(wt(G));
3389
3389
  });
3390
3390
  }, R.onerror = () => {
3391
3391
  c(!1);
3392
- const G = R.error, me = Sa(G, !1);
3393
- Ca(t).then((V) => {
3394
- Cl(V == null ? void 0 : V.message) || ai(G), o.current === R && (v({ message: (V == null ? void 0 : V.message) ?? me }), V != null && V.permanent || (o.current = null));
3392
+ const G = R.error, me = Aa(G, !1);
3393
+ ba(t).then((V) => {
3394
+ bl(V == null ? void 0 : V.message) || oi(G), o.current === R && (v({ message: (V == null ? void 0 : V.message) ?? me }), V != null && V.permanent || (o.current = null));
3395
3395
  });
3396
3396
  }, o.current = R, () => {
3397
- b.current = { t: Math.max(0, R.currentTime - ae), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
3397
+ x.current = { t: Math.max(0, R.currentTime - ae), playing: !R.paused && !R.ended }, R.pause(), R.onplay = R.onpause = R.onended = R.onloadedmetadata = R.onerror = null, o.current = null;
3398
3398
  };
3399
3399
  }, [t, k]), Y(() => () => {
3400
- b.current = null;
3400
+ x.current = null;
3401
3401
  }, []);
3402
3402
  const A = n.length ? ((X = n[n.length - 1].words[n[n.length - 1].words.length - 1]) == null ? void 0 : X.end) ?? n[n.length - 1].start + 4 : 0, K = r > 0 || s != null && p && o.current != null && Number.isFinite(o.current.duration) && o.current.duration > s + 1, j = !K && p && o.current && Number.isFinite(o.current.duration) && o.current.duration || s || A || 1, S = z(j);
3403
3403
  S.current = j;
@@ -3437,7 +3437,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
3437
3437
  };
3438
3438
  return y = requestAnimationFrame(R), () => cancelAnimationFrame(y);
3439
3439
  }, [l]);
3440
- const x = Ie(() => {
3440
+ const b = Ie(() => {
3441
3441
  if (!n.length) return 0;
3442
3442
  let y = 0;
3443
3443
  for (let R = 0; R < n.length; R++) n[R].start <= d + 0.05 && (y = R);
@@ -3452,7 +3452,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
3452
3452
  const y = o.current;
3453
3453
  if (!y) {
3454
3454
  if (!t && e) {
3455
- b.current = (R = b.current) != null && R.asked ? null : { t: d, playing: !0, asked: !0 };
3455
+ x.current = (R = x.current) != null && R.asked ? null : { t: d, playing: !0, asked: !0 };
3456
3456
  return;
3457
3457
  }
3458
3458
  t && J((ae) => ae + 1), v({ message: e ? "The audio player is not ready yet — try again in a moment." : "There is no audio for this transcription." });
@@ -3514,9 +3514,9 @@ function Hl(t, e, n, s, r = 0, a = null) {
3514
3514
  },
3515
3515
  playing: l,
3516
3516
  t: d,
3517
- idx: x,
3517
+ idx: b,
3518
3518
  dur: j,
3519
- muted: g,
3519
+ muted: h,
3520
3520
  toggleMute: () => {
3521
3521
  const y = !N.current;
3522
3522
  N.current = y, o.current && (o.current.muted = y || m.current), M(y);
@@ -3539,8 +3539,8 @@ function Hl(t, e, n, s, r = 0, a = null) {
3539
3539
  Math.abs(R.currentTime - ae) <= 0.2 || (Be.current = Date.now(), R.currentTime = ae);
3540
3540
  },
3541
3541
  engaged: l || d > 0,
3542
- prev: () => le(x - 1),
3543
- next: () => le(x + 1),
3542
+ prev: () => le(b - 1),
3543
+ next: () => le(b + 1),
3544
3544
  hold: Oe,
3545
3545
  release: ye,
3546
3546
  error: w,
@@ -3563,11 +3563,11 @@ function Hl(t, e, n, s, r = 0, a = null) {
3563
3563
  function Vl(t, e, n, s, r, a, o = !1, l) {
3564
3564
  const c = z(/* @__PURE__ */ new Set());
3565
3565
  c.current = l ?? c.current;
3566
- const d = z(null), [u, g] = O(!1), [M, N] = O(0), [m, w] = O(0), [v, p] = O(!1), h = z(v);
3567
- h.current = v;
3568
- const [C, b] = O(null), [k, J] = O(null), [A, K] = O(null), [j, S] = O(null), $ = z(j);
3566
+ const d = z(null), [u, h] = O(!1), [M, N] = O(0), [m, w] = O(0), [v, p] = O(!1), g = z(v);
3567
+ g.current = v;
3568
+ const [C, x] = O(null), [k, J] = O(null), [A, K] = O(null), [j, S] = O(null), $ = z(j);
3569
3569
  $.current = j;
3570
- const [L, I] = O(null), [E, oe] = O(null), [P, x] = O(null), [ue, B] = O(!1), F = z(e);
3570
+ const [L, I] = O(null), [E, oe] = O(null), [P, b] = O(null), [ue, B] = O(!1), F = z(e);
3571
3571
  F.current = e;
3572
3572
  const ie = z(o), re = z([]);
3573
3573
  ie.current = o, d.current && (d.current.flow = o);
@@ -3577,11 +3577,11 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3577
3577
  Le.current = a;
3578
3578
  const Te = qe((_) => {
3579
3579
  _.finite = !0, _.coming = (U) => c.current.has(U), _.readAhead = 6, _.readAheadS = 45, _.onWaiting = (U) => J(U), _.onStarting = (U) => K(U), _.onSentence = (U) => {
3580
- if (g(_.playing), U == null) return;
3580
+ if (h(_.playing), U == null) return;
3581
3581
  const W = F.current.findIndex((ee) => ee.sentenceId === U);
3582
3582
  W >= 0 && N(W);
3583
3583
  }, _.onError = (U) => {
3584
- g(_.playing), b(U instanceof ci ? { 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." });
3584
+ h(_.playing), x(U instanceof ui ? { 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." });
3585
3585
  }, _.gapBefore = (U, W) => {
3586
3586
  if (!ie.current) return 0;
3587
3587
  const ee = F.current, fe = ee.find((be) => be.sentenceId === U), Ne = ee.find((be) => be.sentenceId === W);
@@ -3614,10 +3614,10 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3614
3614
  var W;
3615
3615
  if (we.current !== s) {
3616
3616
  const ee = we.current != null ? Ee.current : null;
3617
- we.current = s, (W = d.current) == null || W.stop(), d.current = new cs(), Te(d.current), d.current.setSequence(re.current), g(!1), N(0), b(null), K(null), S(null), H(ee && (ee.playing || ee.t > 0) ? ee : null);
3617
+ we.current = s, (W = d.current) == null || W.stop(), d.current = new cs(), Te(d.current), d.current.setSequence(re.current), h(!1), N(0), x(null), K(null), S(null), H(ee && (ee.playing || ee.t > 0) ? ee : null);
3618
3618
  }
3619
3619
  const _ = d.current;
3620
- _.setMuted(h.current);
3620
+ _.setMuted(g.current);
3621
3621
  for (const ee of t) _.add(ee);
3622
3622
  const U = Be.current;
3623
3623
  U && (ie.current || t.some((ee) => ee.sentenceId >= (U.sentenceId ?? 0))) && (H(null), te.current(U));
@@ -3641,7 +3641,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3641
3641
  const W = ((ze = d.current) == null ? void 0 : ze.resting()) ?? null;
3642
3642
  B(!!(W != null && W.silent)), W != null && W.silent && $.current && ($.current = null, S(null)), oe((be) => W == null ? null : be != null && Math.abs(be - W.s) < 0.05 ? be : W.s);
3643
3643
  const ee = $.current;
3644
- W == null ? x(null) : ee && ee.sid === W.sentenceId && (x(ee.t), $.current = null, S(null));
3644
+ W == null ? b(null) : ee && ee.sid === W.sentenceId && (b(ee.t), $.current = null, S(null));
3645
3645
  const fe = ((Ue = d.current) == null ? void 0 : Ue.position()) ?? null, Ne = fe && Le.current ? Le.current[String(fe.sentenceId)] ?? null : null;
3646
3646
  ee && fe && fe.sentenceId === ee.sid && fe.t > 0.1 && S(null), I((be) => fe ? be && Math.abs(be.t - fe.t) < 0.05 && be.dur === fe.dur && be.words === Ne ? be : { t: fe.t, dur: fe.dur, words: Ne } : be == null ? be : null);
3647
3647
  };
@@ -3660,12 +3660,12 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3660
3660
  Ae.current = M;
3661
3661
  const Z = (_) => {
3662
3662
  var U, W, ee;
3663
- (W = d.current) == null || W.play(((U = e[_]) == null ? void 0 : U.sentenceId) ?? null), g(!!((ee = d.current) != null && ee.playing));
3663
+ (W = d.current) == null || W.play(((U = e[_]) == null ? void 0 : U.sentenceId) ?? null), h(!!((ee = d.current) != null && ee.playing));
3664
3664
  }, se = (_) => {
3665
3665
  var W, ee, fe;
3666
3666
  const U = Math.max(0, Math.min(Math.max(0, e.length - 1), _));
3667
- N(U), Ae.current = U, w((Ne) => Ne + 1), (ee = d.current) == null || ee.seek(((W = e[U]) == null ? void 0 : W.sentenceId) ?? null), g(!!((fe = d.current) != null && fe.playing));
3668
- }, he = (_) => {
3667
+ N(U), Ae.current = U, w((Ne) => Ne + 1), (ee = d.current) == null || ee.seek(((W = e[U]) == null ? void 0 : W.sentenceId) ?? null), h(!!((fe = d.current) != null && fe.playing));
3668
+ }, ge = (_) => {
3669
3669
  var U;
3670
3670
  X(), S(null), (U = d.current) == null || U.startWithin(-1, 0), se(_);
3671
3671
  }, Me = (_) => {
@@ -3674,7 +3674,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3674
3674
  return { from: W, span: Math.max(0, ee - W) };
3675
3675
  }, ce = Me(V), ke = Math.max(0, Math.min(ce.span, Et(e[V], ce.from, ce.from + 4) - ce.from)), We = j ? j.t : o ? E != null && ue ? ce.from + Math.min(ce.span, E) : E != null ? P != null ? Math.min(ce.from, P + E) : ce.from + Math.min(ce.span, ke + E) : L && L.dur > 0 ? ce.from + Math.min(ke, L.t / L.dur * ke) : ce.from : L && L.dur > 0 ? ce.from + Math.min(ce.span, L.t / L.dur * ce.span) : ce.from;
3676
3676
  Y(() => {
3677
- Ee.current = Be.current ?? Sl(e, We, u, je);
3677
+ Ee.current = Be.current ?? Al(e, We, u, je);
3678
3678
  });
3679
3679
  const xe = {
3680
3680
  playing: u || Oe,
@@ -3697,8 +3697,8 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3697
3697
  seekN: m,
3698
3698
  toggleMute: () => {
3699
3699
  var U;
3700
- const _ = !h.current;
3701
- h.current = _, (U = d.current) == null || U.setMuted(_), p(_);
3700
+ const _ = !g.current;
3701
+ g.current = _, (U = d.current) == null || U.setMuted(_), p(_);
3702
3702
  },
3703
3703
  toggle: () => {
3704
3704
  var U, W, ee;
@@ -3707,31 +3707,31 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3707
3707
  return;
3708
3708
  }
3709
3709
  if (X(), u) {
3710
- (U = d.current) == null || U.pause(), g(!1);
3710
+ (U = d.current) == null || U.pause(), h(!1);
3711
3711
  return;
3712
3712
  }
3713
- b(null);
3713
+ x(null);
3714
3714
  const _ = Ae.current;
3715
3715
  if (!$.current && ((ee = d.current) != null && ee.resume(((W = e[_]) == null ? void 0 : W.sentenceId) ?? null))) {
3716
- g(!0);
3716
+ h(!0);
3717
3717
  return;
3718
3718
  }
3719
3719
  Z(_);
3720
3720
  },
3721
3721
  pause: () => {
3722
3722
  var _;
3723
- X(), (_ = d.current) == null || _.pause(), g(!1);
3723
+ X(), (_ = d.current) == null || _.pause(), h(!1);
3724
3724
  },
3725
3725
  stop: () => {
3726
3726
  var _, U, W;
3727
- X(), (_ = d.current) == null || _.pause(), g(!1), N(0), I(null), (W = d.current) == null || W.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3727
+ X(), (_ = d.current) == null || _.pause(), h(!1), N(0), I(null), (W = d.current) == null || W.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
3728
3728
  },
3729
- seekRow: he,
3729
+ seekRow: ge,
3730
3730
  resumeAt: (_) => {
3731
3731
  H(_), t.some((U) => U.sentenceId >= (_.sentenceId ?? 0)) && (H(null), te.current(_));
3732
3732
  },
3733
3733
  seekFrac: (_) => {
3734
- var Xe, It, ut;
3734
+ var Xe, Ot, ut;
3735
3735
  X();
3736
3736
  const U = Math.max(0, Math.min(1, _)) * je;
3737
3737
  let W = 0;
@@ -3746,7 +3746,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3746
3746
  }
3747
3747
  const Ne = (ee == null ? void 0 : ee.sentenceId) ?? null, { from: ze, span: Ue } = Me(W);
3748
3748
  let be = Ue > 0 ? Math.max(0, Math.min(1, (U - ze) / Ue)) : 0;
3749
- const Se = Ne != null ? (It = Le.current) == null ? void 0 : It[String(Ne)] : void 0, st = Se != null && Se.length ? Se[Se.length - 1][1] : 0;
3749
+ const Se = Ne != null ? (Ot = Le.current) == null ? void 0 : Ot[String(Ne)] : void 0, st = Se != null && Se.length ? Se[Se.length - 1][1] : 0;
3750
3750
  if (ee && Se && Se.length === ee.words.length && st > 0) {
3751
3751
  let Ge = 0;
3752
3752
  for (let He = 0; He < ee.words.length; He++) ee.words[He].start <= U && (Ge = He);
@@ -3770,11 +3770,11 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3770
3770
  },
3771
3771
  prev: () => {
3772
3772
  const _ = me(V - 1, -1);
3773
- _ != null && he(_);
3773
+ _ != null && ge(_);
3774
3774
  },
3775
3775
  next: () => {
3776
3776
  const _ = me(V + 1, 1);
3777
- _ != null && he(_);
3777
+ _ != null && ge(_);
3778
3778
  },
3779
3779
  hold: () => {
3780
3780
  var _;
@@ -3783,7 +3783,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3783
3783
  release: () => {
3784
3784
  Ve.current && (Ve.current = !1, Z(Ae.current));
3785
3785
  },
3786
- clearError: () => b(null),
3786
+ clearError: () => x(null),
3787
3787
  setVolume: (_) => {
3788
3788
  var U;
3789
3789
  return (U = d.current) == null ? void 0 : U.setVolume(_);
@@ -3795,7 +3795,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3795
3795
  if (U == null) return;
3796
3796
  N(_), Ae.current = _, S(null), $.current = null, (fe = d.current) == null || fe.joinSilently(U);
3797
3797
  const W = ((Ne = d.current) == null ? void 0 : Ne.resting()) ?? null;
3798
- oe((W == null ? void 0 : W.s) ?? null), B(!!(W != null && W.silent)), g(!!((ze = d.current) != null && ze.playing));
3798
+ oe((W == null ? void 0 : W.s) ?? null), B(!!(W != null && W.silent)), h(!!((ze = d.current) != null && ze.playing));
3799
3799
  }
3800
3800
  return xe.joinAt = o ? (_) => {
3801
3801
  X(), Ce(yn({ t: _, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, je).index);
@@ -3811,17 +3811,17 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
3811
3811
  }
3812
3812
  const Wl = () => {
3813
3813
  }, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3814
- function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: m = !1, stickyPicker: w = !1, pickerBusy: v = null, voiceSheet: p }) {
3814
+ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: h, hearOriginal: M = !1, timed: N = !1, stockVoices: m = !1, stickyPicker: w = !1, pickerBusy: v = null, voiceSheet: p }) {
3815
3815
  var tn, nn, sn, Gt;
3816
- const { onAddVoice: h, onPickVoice: C, onSelectSpeaker: b, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] = hi(), [P, x] = O(null), [ue, B] = O(!1), [F, ie] = O(!1), [re, le] = O(!1), [ve, Le] = O(!1), Te = d ?? l, we = d === null, Ee = d != null || P != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(we ? l : Te) ? we ? l : Te : "en", ye = Dl(Oe), te = (p == null ? void 0 : p.cloneOn) ?? !0, [H, X] = O(0), y = z(te);
3816
+ const { onAddVoice: g, onPickVoice: C, onSelectSpeaker: x, noCloneFor: k, castNoClone: J, castShort: A, castBuilding: K, castWarn: j, badge: S, titleNode: $ } = p ?? {}, L = !!p, I = !!(p != null && p.pendingClones), [E, oe] = hi(), [P, b] = O(null), [ue, B] = O(!1), [F, ie] = O(!1), [re, le] = O(!1), [ve, Le] = O(!1), Te = d ?? l, we = d === null, Ee = d != null || P != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(we ? l : Te) ? we ? l : Te : "en", ye = Sl(Oe), te = (p == null ? void 0 : p.cloneOn) ?? !0, [H, X] = O(0), y = z(te);
3817
3817
  Y(() => {
3818
3818
  y.current !== te && (y.current = te, X((Q) => Q + 1));
3819
3819
  }, [te]);
3820
- const R = dl(Oe, Ee || r || F, Ml(e) * 1e3 + H, { id: t ?? null, shareCode: a.shareCode ?? null }), ae = Ie(() => ((R == null ? void 0 : R.voices) ?? []).filter((Q) => L || !Q.cloned || Q.speaker != null), [R, L]), G = ae.length > 1, me = Ns(o, Te), V = ki(), Ye = Ie(() => gi(o, "translation"), [o]), [je, Ve] = O(null), [Ae] = O(() => /* @__PURE__ */ new Set()), [Z, se] = O({}), he = Ie(() => al(n, e, V.vcUnknownSpk), [n, e, V]), Me = G && he.filter((Q) => Q.key >= 0).length > 1, ce = je != null && he.some((Q) => Q.key === je) ? je : ((tn = he[0]) == null ? void 0 : tn.key) ?? null, ke = Ie(() => {
3821
- const Q = Wr(he, ae, te);
3820
+ const R = Ml(Oe, Ee || r || F, gl(e) * 1e3 + H, { id: t ?? null, shareCode: a.shareCode ?? null }), ae = Ie(() => ((R == null ? void 0 : R.voices) ?? []).filter((Q) => L || !Q.cloned || Q.speaker != null), [R, L]), G = ae.length > 1, me = Ns(o, Te), V = vi(), Ye = Ie(() => fi(o, "translation"), [o]), [je, Ve] = O(null), [Ae] = O(() => /* @__PURE__ */ new Set()), [Z, se] = O({}), ge = Ie(() => ol(n, e, V.vcUnknownSpk), [n, e, V]), Me = G && ge.filter((Q) => Q.key >= 0).length > 1, ce = je != null && ge.some((Q) => Q.key === je) ? je : ((tn = ge[0]) == null ? void 0 : tn.key) ?? null, ke = Ie(() => {
3821
+ const Q = Wr(ge, ae, te);
3822
3822
  for (const [De, $e] of Object.entries(Z[Oe ?? ""] ?? {})) Q.set(Number(De), $e);
3823
3823
  return Q;
3824
- }, [he, ae, Z, Oe, te]), We = Me && Object.keys(Z[Oe ?? ""] ?? {}).length > 0, xe = Ie(() => m && !We ? Wr(he, ae, !1) : null, [m, We, he, ae]), Ce = Ie(() => We ? Hr(ke) || null : xe && Hr(xe) || null, [We, ke, xe]), _ = We ? ke : xe, U = ae.some((Q) => Q.cloned && Q.consent !== "pending"), W = !!Te && !!(o != null && o.voice.includes(Te)), ee = W && !M, fe = Ie(
3824
+ }, [ge, ae, Z, Oe, te]), We = Me && Object.keys(Z[Oe ?? ""] ?? {}).length > 0, xe = Ie(() => m && !We ? Wr(ge, ae, !1) : null, [m, We, ge, ae]), Ce = Ie(() => We ? Hr(ke) || null : xe && Hr(xe) || null, [We, ke, xe]), _ = We ? ke : xe, U = ae.some((Q) => Q.cloned && Q.consent !== "pending"), W = !!Te && !!(o != null && o.voice.includes(Te)), ee = W && !M, fe = Ie(
3825
3825
  () => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
3826
3826
  [n]
3827
3827
  ), Ne = hl({ recordingId: t, lang: Te, ended: r, cred: a, pickedVoice: Ce ?? P, sentenceIds: r && ee ? fe : void 0 }), ze = ae.find((Q) => Q.id === P) ?? ae.find((Q) => {
@@ -3841,7 +3841,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3841
3841
  }, [Se.idx]), Y(() => {
3842
3842
  !ve || !Se.has || (Le(!1), Se.playing || Se.toggle());
3843
3843
  }, [ve, Se.has]);
3844
- const st = Ne.rendering, Xe = st ? null : Ne.failed ?? null, It = !1, ut = Ee && ee, Ge = Ee && !we && ee && !(Ne.listed && Ne.listed.lang === Te && Ne.listed.recordingId === t), Qe = {
3844
+ const st = Ne.rendering, Xe = st ? null : Ne.failed ?? null, Ot = !1, ut = Ee && ee, Ge = Ee && !we && ee && !(Ne.listed && Ne.listed.lang === Te && Ne.listed.recordingId === t), Qe = {
3845
3845
  ...Se,
3846
3846
  has: Se.has || ut && r,
3847
3847
  toggle: () => {
@@ -3854,79 +3854,79 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3854
3854
  }, rt = () => B(!0), He = () => {
3855
3855
  B(!1), ie(re), le(!1);
3856
3856
  }, Lt = (Q) => {
3857
- if (u(Q), oe(Q), !((g || w) && !re)) {
3857
+ if (u(Q), oe(Q), !((h || w) && !re)) {
3858
3858
  if (Q != null) {
3859
3859
  He();
3860
3860
  return;
3861
3861
  }
3862
3862
  ye.reset(), B(!1), ie(!1), le(!1);
3863
3863
  }
3864
- }, Mt = () => {
3864
+ }, gt = () => {
3865
3865
  ye.reset(), ie(!0);
3866
3866
  }, Bt = () => {
3867
3867
  ye.reset(), ie(!1);
3868
- }, ne = ue && !re, Nt = F || ue && re, D = () => {
3868
+ }, ne = ue && !re, pt = F || ue && re, D = () => {
3869
3869
  if (ne) {
3870
3870
  B(!1);
3871
3871
  return;
3872
3872
  }
3873
3873
  ye.reset(), ie(!1), le(!1), B(!0);
3874
3874
  }, Xt = () => {
3875
- if (ye.reset(), Nt) {
3875
+ if (ye.reset(), pt) {
3876
3876
  ie(!1), B(!1), le(!1);
3877
3877
  return;
3878
3878
  }
3879
3879
  B(!1), le(!1), ie(!0);
3880
- }, Ot = (Q) => {
3880
+ }, Ct = (Q) => {
3881
3881
  if (ye.reset(), ie(Me), (Te !== Oe || we) && u(Oe), Ne.forget(), Le(!0), Me && ce != null && Oe) {
3882
3882
  const De = new Map(ke);
3883
- De.set(ce, Q), se(($e) => ({ ...$e, [Oe]: Object.fromEntries(De) })), x(null);
3883
+ De.set(ce, Q), se(($e) => ({ ...$e, [Oe]: Object.fromEntries(De) })), b(null);
3884
3884
  return;
3885
3885
  }
3886
- x(Q);
3887
- }, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, Ct = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || g && Nt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i($a, { open: ue, onClose: He, keepOpen: (!!g || w) && !re, value: we ? null : Te, onSelect: Lt, languages: Ye, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E, requireVoice: re, sticky: w, busy: v }), dt = Ie(() => ae.filter((Q) => Q.cloned && !Q.auto), [ae]), _t = (Q) => Q.voiceId ? dt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, lt = Ie(() => he.filter((Q) => Q.key >= 0), [he]), Wt = Ie(() => {
3886
+ b(Q);
3887
+ }, at = we ? { ...Ns(o, null), flag: /* @__PURE__ */ i(de, { d: q.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : me, bt = c ? h ? /* @__PURE__ */ i("span", { className: "barchip", style: ne ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: D, style: Fr }) }) : /* @__PURE__ */ i(wn, { flag: at.flag, code: at.code, bordered: !1, onClick: rt, style: Fr }) : null, zn = q.voiceClone, Ht = Ee && (!!Ne.track || st), Ke = Xe ? "var(--conf-low)" : Ht || h && pt ? "var(--brand)" : "var(--ink-55)", ot = st || !!Se.preparing && Ee, Vt = Se.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : Xe ? `This voice could not be prepared: ${Xe}` : W ? G ? "Choose a voice" : ze ? ze.name : V.vcNoVoice + me.label : `${V.vcNoVoice}${me.label}`, ht = /* @__PURE__ */ i(Ba, { open: ue, onClose: He, keepOpen: (!!h || w) && !re, value: we ? null : Te, onSelect: Lt, languages: Ye, title: (h == null ? void 0 : h.title) ?? "SPOKEN LANGUAGE", note: (h == null ? void 0 : h.note) ?? Fl, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E, requireVoice: re, sticky: w, busy: v }), dt = Ie(() => ae.filter((Q) => Q.cloned && !Q.auto), [ae]), _t = (Q) => Q.voiceId ? dt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, lt = Ie(() => ge.filter((Q) => Q.key >= 0), [ge]), Wt = Ie(() => {
3888
3888
  const Q = ae.filter(($e) => !$e.cloned);
3889
3889
  if (!Me) return [...Q, ...r && lt.length === 1 ? dt.filter(($e) => $e.id === `clone:${lt[0].voiceId}`) : []];
3890
3890
  const De = [];
3891
3891
  for (const $e of lt) {
3892
3892
  if (_t($e)) continue;
3893
- const jt = ae.find((St) => St.cloned && St.auto && St.speaker === $e.key);
3894
- !jt || jt.ready === !1 || jt.consent === "pending" && !I || De.push({ id: jt.id, name: $e.name, cloned: !0, default: !1, live: !0, auto: !0, gender: $e.sex ?? jt.gender ?? null, speaker: $e.key, consent: jt.consent ?? null });
3893
+ const zt = ae.find((St) => St.cloned && St.auto && St.speaker === $e.key);
3894
+ !zt || zt.ready === !1 || zt.consent === "pending" && !I || De.push({ id: zt.id, name: $e.name, cloned: !0, default: !1, live: !0, auto: !0, gender: $e.sex ?? zt.gender ?? null, speaker: $e.key, consent: zt.consent ?? null });
3895
3895
  }
3896
3896
  return [...Q, ...dt, ...De];
3897
3897
  }, [ae, dt, Me, lt, I, r]), it = Me ? lt.find((Q) => Q.key === ce) ?? null : null, Ft = (Q) => {
3898
3898
  var De;
3899
3899
  return Q ? ((De = ae.find(($e) => $e.id === Q)) == null ? void 0 : De.gender) ?? null : null;
3900
- }, kt = it ? it.sex ?? Ft(ke.get(it.key)) : null, Ze = Ie(() => it ? Wt.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Wt, [Wt, it, kt, lt]), bt = (Q) => ae.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, pt = { people: lt, gvList: ae, autoOf: bt, savedFor: _t }, xt = (S == null ? void 0 : S(pt)) ?? 0, et = j ? lt.map((Q) => j(Q, pt)).filter((Q) => !!Q) : [], en = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? Nt : void 0, title: ot || Xe ? Vt : void 0, style: { cursor: "pointer", background: Ht || ot || g && Nt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && Nt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? Xt : Mt, children: [
3900
+ }, kt = it ? it.sex ?? Ft(ke.get(it.key)) : null, Ze = Ie(() => it ? Wt.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Wt, [Wt, it, kt, lt]), xt = (Q) => ae.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, mt = { people: lt, gvList: ae, autoOf: xt, savedFor: _t }, Dt = (S == null ? void 0 : S(mt)) ?? 0, et = j ? lt.map((Q) => j(Q, mt)).filter((Q) => !!Q) : [], en = /* @__PURE__ */ f("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": h ? pt : void 0, title: ot || Xe ? Vt : void 0, style: { cursor: "pointer", background: Ht || ot || h && pt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: h && pt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: h ? Xt : gt, children: [
3901
3901
  ot ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(de, { d: zn, size: 17, sw: 1.6, style: { color: Ke } }),
3902
- et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
3903
- ] }), Dt = /* @__PURE__ */ i($t, { open: F, onClose: Bt, title: V.vcSheet, titleNode: $, doneLabel: V.done, children: /* @__PURE__ */ i(
3904
- ll,
3902
+ et.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: et.join(" · "), children: "!" }) : !!Dt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Dt} speaker${Dt === 1 ? "" : "s"} can get a cloned voice`, children: Dt })
3903
+ ] }), vt = /* @__PURE__ */ i($t, { open: F, onClose: Bt, title: V.vcSheet, titleNode: $, doneLabel: V.done, children: /* @__PURE__ */ i(
3904
+ cl,
3905
3905
  {
3906
3906
  t: V,
3907
3907
  cast: Me && /* @__PURE__ */ i(
3908
- ol,
3908
+ ll,
3909
3909
  {
3910
3910
  t: V,
3911
- roster: he,
3911
+ roster: ge,
3912
3912
  selected: ce,
3913
3913
  onSelect: (Q) => {
3914
- ye.reset(), Ve(Q), b == null || b(Q);
3914
+ ye.reset(), Ve(Q), x == null || x(Q);
3915
3915
  },
3916
- noClone: (Q) => !!(J != null && J(Q, pt)),
3917
- short: (Q) => !!(A != null && A(Q, pt)),
3918
- warn: (Q) => (j == null ? void 0 : j(Q, pt)) ?? null,
3919
- building: (Q) => !_t(Q) && (ae.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(K != null && K(Q, pt))),
3916
+ noClone: (Q) => !!(J != null && J(Q, mt)),
3917
+ short: (Q) => !!(A != null && A(Q, mt)),
3918
+ warn: (Q) => (j == null ? void 0 : j(Q, mt)) ?? null,
3919
+ building: (Q) => !_t(Q) && (ae.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(K != null && K(Q, mt))),
3920
3920
  sexOf: (Q) => Q.sex ?? Ft(ke.get(Q.key))
3921
3921
  }
3922
3922
  ),
3923
3923
  voices: Ze,
3924
3924
  onAdd: (Q) => {
3925
- ye.reset(), h == null || h(Q);
3925
+ ye.reset(), g == null || g(Q);
3926
3926
  },
3927
- noClone: it && !Ze.some((Q) => Q.cloned) ? (k == null ? void 0 : k(it, bt(it.key), pt)) ?? null : null,
3927
+ noClone: it && !Ze.some((Q) => Q.cloned) ? (k == null ? void 0 : k(it, xt(it.key), mt)) ?? null : null,
3928
3928
  usedBy: Me && ce != null ? (Q) => {
3929
- const De = he.filter(($e) => $e.key !== ce && ke.get($e.key) === Q.id);
3929
+ const De = ge.filter(($e) => $e.key !== ce && ke.get($e.key) === Q.id);
3930
3930
  return De.length ? De.map(($e) => $e.name).join(", ") : null;
3931
3931
  } : void 0,
3932
3932
  foldKey: ce,
@@ -3946,39 +3946,39 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
3946
3946
  }
3947
3947
  ye.arm(Q);
3948
3948
  },
3949
- onUse: Ot
3949
+ onUse: Ct
3950
3950
  }
3951
- ) }), In = g ? null : /* @__PURE__ */ f(Pe, { children: [
3951
+ ) }), In = h ? null : /* @__PURE__ */ f(Pe, { children: [
3952
3952
  ht,
3953
- Dt
3954
- ] }), On = g && (ue || F) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ue ? ht : Dt }) : null, vt = ut && Xe ? `This voice could not be prepared: ${Xe}` : null, Cn = It;
3953
+ vt
3954
+ ] }), On = h && (ue || F) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ue ? ht : vt }) : null, jt = ut && Xe ? `This voice could not be prepared: ${Xe}` : null, Cn = Ot;
3955
3955
  return {
3956
- barChip: { flag: at.flag, code: at.code, label: at.label, onClick: g || w ? D : rt, active: !!((g || w) && ne), can: c },
3956
+ barChip: { flag: at.flag, code: at.code, label: at.label, onClick: h || w ? D : rt, active: !!((h || w) && ne), can: c },
3957
3957
  sheetsOpen: ue || F,
3958
3958
  on: ut,
3959
3959
  player: Qe,
3960
- chip: Ct,
3960
+ chip: bt,
3961
3961
  voiceBtn: en,
3962
3962
  sheets: In,
3963
3963
  sidePanel: On,
3964
- voicesMine: Nt,
3964
+ voicesMine: pt,
3965
3965
  toggleVoices: Xt,
3966
3966
  cloningOn: te,
3967
- playTitle: vt,
3968
- noVoice: It,
3967
+ playTitle: jt,
3968
+ noVoice: Ot,
3969
3969
  noVoiceNote: Cn,
3970
3970
  relang: Ge,
3971
3971
  sampling: ye.sampleId != null,
3972
3972
  error: ye.error,
3973
3973
  clearError: () => ye.clearError(),
3974
- openVoices: Mt,
3974
+ openVoices: gt,
3975
3975
  openPicker: rt,
3976
3976
  original: we,
3977
3977
  reloadVoices: () => X((Q) => Q + 1),
3978
3978
  voicesVer: H,
3979
3979
  people: lt,
3980
3980
  gvList: ae,
3981
- autoOf: bt,
3981
+ autoOf: xt,
3982
3982
  savedFor: _t,
3983
3983
  closeVoices: Bt,
3984
3984
  setSheet: ie,
@@ -4001,12 +4001,12 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
4001
4001
  langList: { value: we ? null : Te, onSelect: Lt, languages: Ye, searchPlaceholder: V.search, none: "Original", pinned: (we ? l : Te) ? [we ? l : Te] : [], recent: E }
4002
4002
  };
4003
4003
  }
4004
- function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: g = !0, tail: M, tailFg: N, running: m, desk: w, feedRef: v, listener: p, showLabels: h, find: C, findOpen: b, lang: k, warm: J, onVisible: A, wordHl: K = !0 }) {
4004
+ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: h = !0, tail: M, tailFg: N, running: m, desk: w, feedRef: v, listener: p, showLabels: g, find: C, findOpen: x, lang: k, warm: J, onVisible: A, wordHl: K = !0 }) {
4005
4005
  const { playing: j, engaged: S, t: $, idx: L, seekN: I, wordSync: E, clipPos: oe } = n;
4006
- Ll(!0, v);
4006
+ kl(!0, v);
4007
4007
  const P = z(null);
4008
- qo(v, P);
4009
- const [x, ue] = O(null), B = (C ?? "").trim().toLowerCase(), [F, ie] = O(0), re = z(0), le = z(null), ve = z(L), Le = (H) => {
4008
+ Ko(v, P);
4009
+ const [b, ue] = O(null), B = (C ?? "").trim().toLowerCase(), [F, ie] = O(0), re = z(0), le = z(null), ve = z(L), Le = (H) => {
4010
4010
  var X;
4011
4011
  return ((X = v.current) == null ? void 0 : X.querySelector(`[data-tx-row="${H}"]`)) ?? null;
4012
4012
  }, Te = z("");
@@ -4050,8 +4050,8 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4050
4050
  return;
4051
4051
  }
4052
4052
  const Ae = performance.now(), Z = 360, se = () => {
4053
- const he = Math.min(1, (performance.now() - Ae) / Z);
4054
- X.scrollTop = me + (Ve - me) * (1 - Math.pow(1 - he, 3)), le.current = he < 1 ? requestAnimationFrame(se) : null;
4053
+ const ge = Math.min(1, (performance.now() - Ae) / Z);
4054
+ X.scrollTop = me + (Ve - me) * (1 - Math.pow(1 - ge, 3)), le.current = ge < 1 ? requestAnimationFrame(se) : null;
4055
4055
  };
4056
4056
  le.current = requestAnimationFrame(se);
4057
4057
  };
@@ -4082,28 +4082,28 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
4082
4082
  /* @__PURE__ */ i(de, { d: H === "up" ? "m4.5 15.75 7.5-7.5 7.5 7.5" : "m19.5 8.25-7.5 7.5-7.5-7.5", size: 15, sw: 2 }),
4083
4083
  "Now playing"
4084
4084
  ] }) });
4085
- return /* @__PURE__ */ f("div", { ref: v, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${b && !m ? " is-find" : ""}`, children: [
4086
- /* @__PURE__ */ i(Ko, { thumbRef: P }),
4085
+ return /* @__PURE__ */ f("div", { ref: v, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${x && !m ? " is-find" : ""}`, children: [
4086
+ /* @__PURE__ */ i(Jo, { thumbRef: P }),
4087
4087
  j && F === -1 && te("up"),
4088
4088
  e.map((H, X) => {
4089
4089
  var ce;
4090
4090
  const y = j && X === L, R = S && X === L, ae = !!d && d === H.id, G = B && !H.text.toLowerCase().includes(B) && !(k && ((ce = H.translations[k]) != null && ce.toLowerCase().includes(B))) ? 0.22 : !S || X <= L || ae ? 1 : 0.38, me = p ? () => n.playRow(X) : c && l ? () => {
4091
4091
  j && !y && n.seekRow(X), l(H);
4092
- } : j && y ? void 0 : () => n.playRow(X), V = p ? null : el(H, r, s), Ye = !!V && (V.script > 0 || V.manual), je = w && !!a && x === H.id && !!V && !Ye, Ve = zs(t, H.speaker), Ae = Is(t, H.speaker), Z = Ae.lane, se = k && H.translations[k] && H.language !== k ? H.translations[k] : null, he = Ci(e, X, k), Me = R && !E && oe ? di(he.map((ke) => ({ t: ke.text, sp: " " })), oe) : null;
4092
+ } : j && y ? void 0 : () => n.playRow(X), V = p ? null : tl(H, r, s), Ye = !!V && (V.script > 0 || V.manual), je = w && !!a && b === H.id && !!V && !Ye, Ve = zs(t, H.speaker), Ae = Is(t, H.speaker), Z = Ae.lane, se = k && H.translations[k] && H.language !== k ? H.translations[k] : null, ge = bi(e, X, k), Me = R && !E && oe ? Mi(ge.map((ke) => ({ t: ke.text, sp: " " })), oe) : null;
4093
4093
  return /* @__PURE__ */ f("div", { "data-tx-row": X, "data-sentence": H.sentenceId, className: `txline${J ? " txline--warm" : ""}${ae ? " txline--fixing" : ""}`, "aria-current": ae || void 0, style: { opacity: G }, onClick: me, onMouseEnter: w && a ? () => ue(H.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
4094
4094
  /* @__PURE__ */ f("div", { className: "txline__meta", children: [
4095
4095
  /* @__PURE__ */ i("span", { className: "txline__at", children: Tt(H.start) }),
4096
- h && H.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
4097
- /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Z}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: pi(t, H.speaker) }),
4096
+ g && H.speaker >= 0 && /* @__PURE__ */ f(Pe, { children: [
4097
+ /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Z}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, H.speaker) }),
4098
4098
  /* @__PURE__ */ i("span", { className: `txline__who lane-${Z}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ve }),
4099
- Ae.hasVoice && /* @__PURE__ */ i(zi, { color: Ae.fg ?? `var(--lane-${Z})` })
4099
+ Ae.hasVoice && /* @__PURE__ */ i(Ii, { color: Ae.fg ?? `var(--lane-${Z})` })
4100
4100
  ] }),
4101
- y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(de, { d: q.headphones, size: w ? 15 : 14, sw: 1.6, stroke: h && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${Z})` : "var(--ink-45)" }) }),
4102
- V && g && /* @__PURE__ */ i(tl, { f: V, desk: w, onOpen: a ? () => a(H, !0) : void 0 }),
4103
- je && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
4101
+ y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(de, { d: q.headphones, size: w ? 15 : 14, sw: 1.6, stroke: g && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${Z})` : "var(--ink-45)" }) }),
4102
+ V && h && /* @__PURE__ */ i(nl, { f: V, desk: w, onOpen: a ? () => a(H, !0) : void 0 }),
4103
+ je && /* @__PURE__ */ i(sl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
4104
4104
  ] }),
4105
- /* @__PURE__ */ i("div", { className: "txline__text", children: he.map((ke, We) => {
4106
- const xe = `${ke.seq}:${ke.idx}`, Ce = wo(ke.prob), _ = R && K, U = _ && (E ? $ >= ke.start && ($ < ke.end || We === he.length - 1 || $ < he[We + 1].start) : We === Me), W = _ && !U && (E ? ke.start > $ : Me != null && We > Me), ee = !se && !p && (!!(s != null && s.has(xe)) || !!ke.script), fe = !se && !p && u && !!Ce && !ee, Ne = fe ? Ce === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ze = ee ? "var(--brand)" : W ? "var(--ink-40)" : Ne ?? "var(--ink-96)";
4105
+ /* @__PURE__ */ i("div", { className: "txline__text", children: ge.map((ke, We) => {
4106
+ const xe = `${ke.seq}:${ke.idx}`, Ce = Lo(ke.prob), _ = R && K, U = _ && (E ? $ >= ke.start && ($ < ke.end || We === ge.length - 1 || $ < ge[We + 1].start) : We === Me), W = _ && !U && (E ? ke.start > $ : Me != null && We > Me), ee = !se && !p && (!!(s != null && s.has(xe)) || !!ke.script), fe = !se && !p && u && !!Ce && !ee, Ne = fe ? Ce === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ze = ee ? "var(--brand)" : W ? "var(--ink-40)" : Ne ?? "var(--ink-96)";
4107
4107
  return /* @__PURE__ */ f("span", { children: [
4108
4108
  /* @__PURE__ */ i(
4109
4109
  "span",
@@ -4164,18 +4164,18 @@ function Jl(t, e, n, s, r) {
4164
4164
  }, [e, d]), Y(() => {
4165
4165
  const u = t.current;
4166
4166
  if (!u) return;
4167
- let g = u.scrollTop, M = 0, N = 0;
4167
+ let h = u.scrollTop, M = 0, N = 0;
4168
4168
  const m = () => {
4169
4169
  N = Date.now() + 1500;
4170
4170
  }, w = (p) => {
4171
4171
  p.buttons && m();
4172
4172
  }, v = () => {
4173
- const p = u.scrollTop, h = p - g;
4174
- if (g = p, Date.now() > N) {
4173
+ const p = u.scrollTop, g = p - h;
4174
+ if (h = p, Date.now() > N) {
4175
4175
  M = 0;
4176
4176
  return;
4177
4177
  }
4178
- M = h < 0 == M < 0 ? M + h : h, M < -14 && !a.current ? (M = 0, r(!0)) : M > 56 && a.current && !o.current.trim() && (M = 0, r(!1));
4178
+ M = g < 0 == M < 0 ? M + g : g, M < -14 && !a.current ? (M = 0, r(!0)) : M > 56 && a.current && !o.current.trim() && (M = 0, r(!1));
4179
4179
  };
4180
4180
  return u.addEventListener("wheel", m, { passive: !0 }), u.addEventListener("touchmove", m, { passive: !0 }), u.addEventListener("pointermove", w), u.addEventListener("scroll", v, { passive: !0 }), () => {
4181
4181
  u.removeEventListener("wheel", m), u.removeEventListener("touchmove", m), u.removeEventListener("pointermove", w), u.removeEventListener("scroll", v);
@@ -4183,7 +4183,7 @@ function Jl(t, e, n, s, r) {
4183
4183
  }, []), l;
4184
4184
  }
4185
4185
  const Jt = { formatBits: 0, perBlock: [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], blocks: [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49] };
4186
- function bi(t) {
4186
+ function xi(t) {
4187
4187
  let e = (16 * t + 128) * t + 64;
4188
4188
  if (t >= 2) {
4189
4189
  const n = Math.floor(t / 7) + 2;
@@ -4191,7 +4191,7 @@ function bi(t) {
4191
4191
  }
4192
4192
  return e;
4193
4193
  }
4194
- const Zr = (t) => Math.floor(bi(t) / 8) - Jt.perBlock[t] * Jt.blocks[t];
4194
+ const qr = (t) => Math.floor(xi(t) / 8) - Jt.perBlock[t] * Jt.blocks[t];
4195
4195
  function ms(t, e) {
4196
4196
  let n = 0;
4197
4197
  for (let s = 7; s >= 0; s--)
@@ -4227,10 +4227,10 @@ function tc(t) {
4227
4227
  function nc(t) {
4228
4228
  const e = Array.from(new TextEncoder().encode(t));
4229
4229
  let n = 1;
4230
- for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= Zr(n) * 8); n++)
4230
+ for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= qr(n) * 8); n++)
4231
4231
  ;
4232
4232
  if (n > 40) throw new Error("Text too long for a QR code");
4233
- const s = n * 4 + 17, r = Zr(n) * 8, a = [], o = (L, I) => {
4233
+ const s = n * 4 + 17, r = qr(n) * 8, a = [], o = (L, I) => {
4234
4234
  for (let E = I - 1; E >= 0; E--) a.push(L >>> E & 1);
4235
4235
  };
4236
4236
  o(4, 4), o(e.length, n <= 9 ? 8 : 16);
@@ -4239,52 +4239,52 @@ function nc(t) {
4239
4239
  for (let L = 236; a.length < r; L ^= 253) o(L, 8);
4240
4240
  const l = [];
4241
4241
  for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((I, E) => I << 1 | E, 0));
4242
- const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(bi(n) / 8), g = c - u % c, M = Math.floor(u / c), N = [], m = Xl(d);
4242
+ const c = Jt.blocks[n], d = Jt.perBlock[n], u = Math.floor(xi(n) / 8), h = c - u % c, M = Math.floor(u / c), N = [], m = Xl(d);
4243
4243
  for (let L = 0, I = 0; L < c; L++) {
4244
- const E = l.slice(I, I + M - d + (L < g ? 0 : 1));
4244
+ const E = l.slice(I, I + M - d + (L < h ? 0 : 1));
4245
4245
  I += E.length;
4246
4246
  const oe = ec(E, m);
4247
- L < g && E.push(0), N.push(E.concat(oe));
4247
+ L < h && E.push(0), N.push(E.concat(oe));
4248
4248
  }
4249
4249
  const w = [];
4250
4250
  for (let L = 0; L < N[0].length; L++) N.forEach((I, E) => {
4251
- (L !== M - d || E >= g) && w.push(I[L]);
4251
+ (L !== M - d || E >= h) && w.push(I[L]);
4252
4252
  });
4253
- const v = Array.from({ length: s }, () => new Array(s).fill(!1)), p = Array.from({ length: s }, () => new Array(s).fill(!1)), h = (L, I, E) => {
4253
+ const v = Array.from({ length: s }, () => new Array(s).fill(!1)), p = Array.from({ length: s }, () => new Array(s).fill(!1)), g = (L, I, E) => {
4254
4254
  v[I][L] = E, p[I][L] = !0;
4255
4255
  };
4256
4256
  for (let L = 0; L < s; L++)
4257
- h(6, L, L % 2 === 0), h(L, 6, L % 2 === 0);
4257
+ g(6, L, L % 2 === 0), g(L, 6, L % 2 === 0);
4258
4258
  const C = (L, I) => {
4259
4259
  for (let E = -4; E <= 4; E++) for (let oe = -4; oe <= 4; oe++) {
4260
- const P = Math.max(Math.abs(oe), Math.abs(E)), x = L + oe, ue = I + E;
4261
- x >= 0 && x < s && ue >= 0 && ue < s && h(x, ue, P !== 2 && P !== 4);
4260
+ const P = Math.max(Math.abs(oe), Math.abs(E)), b = L + oe, ue = I + E;
4261
+ b >= 0 && b < s && ue >= 0 && ue < s && g(b, ue, P !== 2 && P !== 4);
4262
4262
  }
4263
4263
  };
4264
4264
  C(3, 3), C(s - 4, 3), C(3, s - 4);
4265
- const b = tc(n);
4266
- for (let L = 0; L < b.length; L++) for (let I = 0; I < b.length; I++)
4267
- if (!(L === 0 && I === 0 || L === 0 && I === b.length - 1 || L === b.length - 1 && I === 0))
4268
- for (let E = -2; E <= 2; E++) for (let oe = -2; oe <= 2; oe++) h(b[L] + oe, b[I] + E, Math.max(Math.abs(oe), Math.abs(E)) !== 1);
4265
+ const x = tc(n);
4266
+ for (let L = 0; L < x.length; L++) for (let I = 0; I < x.length; I++)
4267
+ if (!(L === 0 && I === 0 || L === 0 && I === x.length - 1 || L === x.length - 1 && I === 0))
4268
+ for (let E = -2; E <= 2; E++) for (let oe = -2; oe <= 2; oe++) g(x[L] + oe, x[I] + E, Math.max(Math.abs(oe), Math.abs(E)) !== 1);
4269
4269
  const k = (L) => {
4270
4270
  const I = Jt.formatBits << 3 | L;
4271
4271
  let E = I;
4272
- for (let x = 0; x < 10; x++) E = E << 1 ^ (E >>> 9) * 1335;
4273
- const oe = (I << 10 | E) ^ 21522, P = (x) => (oe >>> x & 1) !== 0;
4274
- for (let x = 0; x <= 5; x++) h(8, x, P(x));
4275
- h(8, 7, P(6)), h(8, 8, P(7)), h(7, 8, P(8));
4276
- for (let x = 9; x < 15; x++) h(14 - x, 8, P(x));
4277
- for (let x = 0; x < 8; x++) h(s - 1 - x, 8, P(x));
4278
- for (let x = 8; x < 15; x++) h(8, s - 15 + x, P(x));
4279
- h(8, s - 8, !0);
4272
+ for (let b = 0; b < 10; b++) E = E << 1 ^ (E >>> 9) * 1335;
4273
+ const oe = (I << 10 | E) ^ 21522, P = (b) => (oe >>> b & 1) !== 0;
4274
+ for (let b = 0; b <= 5; b++) g(8, b, P(b));
4275
+ g(8, 7, P(6)), g(8, 8, P(7)), g(7, 8, P(8));
4276
+ for (let b = 9; b < 15; b++) g(14 - b, 8, P(b));
4277
+ for (let b = 0; b < 8; b++) g(s - 1 - b, 8, P(b));
4278
+ for (let b = 8; b < 15; b++) g(8, s - 15 + b, P(b));
4279
+ g(8, s - 8, !0);
4280
4280
  };
4281
4281
  if (k(0), n >= 7) {
4282
4282
  let L = n;
4283
4283
  for (let E = 0; E < 12; E++) L = L << 1 ^ (L >>> 11) * 7973;
4284
4284
  const I = n << 12 | L;
4285
4285
  for (let E = 0; E < 18; E++) {
4286
- const oe = (I >>> E & 1) !== 0, P = s - 11 + E % 3, x = Math.floor(E / 3);
4287
- h(P, x, oe), h(x, P, oe);
4286
+ const oe = (I >>> E & 1) !== 0, P = s - 11 + E % 3, b = Math.floor(E / 3);
4287
+ g(P, b, oe), g(b, P, oe);
4288
4288
  }
4289
4289
  }
4290
4290
  let J = 0;
@@ -4336,10 +4336,10 @@ function nc(t) {
4336
4336
  const ie = v[B][F];
4337
4337
  ie === v[B][F + 1] && ie === v[B + 1][F] && ie === v[B + 1][F + 1] && (L += 3);
4338
4338
  }
4339
- let x = 0;
4340
- for (const B of v) for (const F of B) F && x++;
4339
+ let b = 0;
4340
+ for (const B of v) for (const F of B) F && b++;
4341
4341
  const ue = s * s;
4342
- return L += (Math.ceil(Math.abs(x * 20 - ue * 10) / ue) - 1) * 10, L;
4342
+ return L += (Math.ceil(Math.abs(b * 20 - ue * 10) / ue) - 1) * 10, L;
4343
4343
  };
4344
4344
  let S = 0, $ = 1 / 0;
4345
4345
  for (let L = 0; L < 8; L++) {
@@ -4356,16 +4356,16 @@ function sc(t) {
4356
4356
  const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-s} ${-s} ${n + s * 2} ${n + s * 2}" shape-rendering="crispEdges"><rect x="${-s}" y="${-s}" width="${n + s * 2}" height="${n + s * 2}" fill="#fff"/><path fill="#111" d="${r}"/></svg>`;
4357
4357
  return `data:image/svg+xml,${encodeURIComponent(a)}`;
4358
4358
  }
4359
- const xi = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", rc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4359
+ const Di = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", rc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4360
4360
  function rs() {
4361
4361
  const t = document;
4362
4362
  return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
4363
4363
  }
4364
4364
  let xs = null;
4365
- function qr(t) {
4365
+ function Kr(t) {
4366
4366
  xs = t;
4367
4367
  }
4368
- function Kr() {
4368
+ function Jr() {
4369
4369
  const t = document;
4370
4370
  return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
4371
4371
  }
@@ -4496,7 +4496,7 @@ function Ts({ t, mini: e }) {
4496
4496
  disabled: !t.playable,
4497
4497
  style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
4498
4498
  onClick: t.onPlay,
4499
- children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(va, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(si, { size: e ? 15 : 19 })
4499
+ children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ja, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(ri, { size: e ? 15 : 19 })
4500
4500
  }
4501
4501
  ),
4502
4502
  /* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(de, { d: q.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
@@ -4504,7 +4504,7 @@ function Ts({ t, mini: e }) {
4504
4504
  }
4505
4505
  function ws({ live: t, mini: e, desk: n, pct: s, mark: r }) {
4506
4506
  return /* @__PURE__ */ f("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
4507
- /* @__PURE__ */ i("a", { href: ni, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(ri, { dark: !0, size: 22 }) : /* @__PURE__ */ i(vn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4507
+ /* @__PURE__ */ i("a", { href: si, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(ii, { dark: !0, size: 22 }) : /* @__PURE__ */ i(vn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4508
4508
  t && /* @__PURE__ */ f("span", { className: "gfull__live", children: [
4509
4509
  /* @__PURE__ */ i("i", {}),
4510
4510
  "LIVE"
@@ -4512,7 +4512,7 @@ function ws({ live: t, mini: e, desk: n, pct: s, mark: r }) {
4512
4512
  s != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${s}%` })
4513
4513
  ] });
4514
4514
  }
4515
- function Di({ v: t, size: e }) {
4515
+ function Si({ v: t, size: e }) {
4516
4516
  return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(de, { d: q.headphones, size: e, sw: 1.6 }) });
4517
4517
  }
4518
4518
  function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
@@ -4525,18 +4525,18 @@ function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
4525
4525
  /* @__PURE__ */ i(Ts, { t: e, mini: !0 }),
4526
4526
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4527
4527
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
4528
- /* @__PURE__ */ i(Di, { v: s, size: 14 }),
4528
+ /* @__PURE__ */ i(Si, { v: s, size: 14 }),
4529
4529
  r && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
4530
4530
  l.stopPropagation(), r();
4531
4531
  }, children: /* @__PURE__ */ i(de, { d: q.share, size: 13, sw: 1.8 }) }),
4532
- /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(de, { d: xi, size: 14, sw: 1.8 }) })
4532
+ /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(de, { d: Di, size: 14, sw: 1.8 }) })
4533
4533
  ] })
4534
4534
  ] }),
4535
4535
  o
4536
4536
  ] });
4537
4537
  }
4538
4538
  const lc = { color: "rgba(255,255,255,.4)" };
4539
- function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos: a, sub: o, wait: l, pct: c, mute: d, cc: u, ad: g, chip: M, transport: N, picker: m, sheet: w, voices: v, voicesBtn: p, sheetOpen: h, onShare: C, onSettings: b, paused: k, copied: J, onTouch: A, onClose: K }) {
4539
+ function Ai({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos: a, sub: o, wait: l, pct: c, mute: d, cc: u, ad: h, chip: M, transport: N, picker: m, sheet: w, voices: v, voicesBtn: p, sheetOpen: g, onShare: C, onSettings: x, paused: k, copied: J, onTouch: A, onClose: K }) {
4540
4540
  const [j, S] = O(() => !!rs());
4541
4541
  Y(() => {
4542
4542
  const Z = () => S(!!rs());
@@ -4548,18 +4548,18 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4548
4548
  $.current = K;
4549
4549
  const L = z(N.playable ? N.onPlay : void 0);
4550
4550
  L.current = N.playable ? N.onPlay : void 0;
4551
- const [I, E] = O(!1), [oe, P] = O(0), x = z(!1);
4551
+ const [I, E] = O(!1), [oe, P] = O(0), b = z(!1);
4552
4552
  Y(() => () => Tn(!1), []), Y(() => {
4553
4553
  if (!e) return;
4554
4554
  const Z = [document.documentElement, document.body], se = Z.map((ce) => ce.style.background);
4555
4555
  Z.forEach((ce) => {
4556
4556
  ce.style.background = "#050507";
4557
4557
  });
4558
- const he = document.querySelector('meta[name="theme-color"]'), Me = he == null ? void 0 : he.content;
4559
- return he && (he.content = "#050507"), () => {
4558
+ const ge = document.querySelector('meta[name="theme-color"]'), Me = ge == null ? void 0 : ge.content;
4559
+ return ge && (ge.content = "#050507"), () => {
4560
4560
  Z.forEach((ce, ke) => {
4561
4561
  ce.style.background = se[ke];
4562
- }), he && Me && (he.content = Me);
4562
+ }), ge && Me && (ge.content = Me);
4563
4563
  };
4564
4564
  }, []);
4565
4565
  const ue = Ie(() => e && ic(), [e]), [B, F] = O(ue);
@@ -4572,56 +4572,56 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4572
4572
  }), () => Z.forEach((ce, ke) => {
4573
4573
  ce.style.overflow = se[ke][0], ce.style.overscrollBehavior = se[ke][1];
4574
4574
  });
4575
- const he = document.createElement("div");
4576
- he.setAttribute("aria-hidden", "true"), he.style.cssText = "position:absolute;top:0;left:0;width:1px;height:calc(100lvh + 160px);pointer-events:none", document.body.appendChild(he), document.documentElement.style.overscrollBehavior = "none";
4575
+ const ge = document.createElement("div");
4576
+ ge.setAttribute("aria-hidden", "true"), ge.style.cssText = "position:absolute;top:0;left:0;width:1px;height:calc(100lvh + 160px);pointer-events:none", document.body.appendChild(ge), document.documentElement.style.overscrollBehavior = "none";
4577
4577
  const Me = () => {
4578
4578
  window.scrollY > 24 && F(!1);
4579
4579
  };
4580
4580
  return window.addEventListener("scroll", Me, { passive: !0 }), () => {
4581
- window.removeEventListener("scroll", Me), he.remove(), document.documentElement.style.overscrollBehavior = se[0][1], window.scrollTo(0, 0);
4581
+ window.removeEventListener("scroll", Me), ge.remove(), document.documentElement.style.overscrollBehavior = se[0][1], window.scrollTo(0, 0);
4582
4582
  };
4583
4583
  }, [ue, e]);
4584
- const ie = z(h);
4585
- ie.current = h, Y(() => {
4584
+ const ie = z(g);
4585
+ ie.current = g, Y(() => {
4586
4586
  const Z = (Me) => Me instanceof HTMLElement && (Me.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(Me.tagName)), se = (Me) => {
4587
4587
  var ce;
4588
- Me.key === "Escape" && !ie.current && $.current && (Me.stopPropagation(), $.current()), Me.key === " " && !ie.current && !Z(Me.target) && (Me.preventDefault(), Me.stopPropagation(), Me.repeat || (ce = L.current) == null || ce.call(L)), (Me.key === "f" || Me.key === "F") && !Me.metaKey && !Me.ctrlKey && !Me.altKey && !ie.current && !Z(Me.target) && Kr() && (Me.preventDefault(), Me.repeat || Tn(!rs()));
4589
- }, he = (Me) => {
4588
+ Me.key === "Escape" && !ie.current && $.current && (Me.stopPropagation(), $.current()), Me.key === " " && !ie.current && !Z(Me.target) && (Me.preventDefault(), Me.stopPropagation(), Me.repeat || (ce = L.current) == null || ce.call(L)), (Me.key === "f" || Me.key === "F") && !Me.metaKey && !Me.ctrlKey && !Me.altKey && !ie.current && !Z(Me.target) && Jr() && (Me.preventDefault(), Me.repeat || Tn(!rs()));
4589
+ }, ge = (Me) => {
4590
4590
  Me.key === " " && !ie.current && !Z(Me.target) && Me.preventDefault();
4591
4591
  };
4592
- return window.addEventListener("keydown", se, !0), window.addEventListener("keyup", he, !0), () => {
4593
- window.removeEventListener("keydown", se, !0), window.removeEventListener("keyup", he, !0);
4592
+ return window.addEventListener("keydown", se, !0), window.addEventListener("keyup", ge, !0), () => {
4593
+ window.removeEventListener("keydown", se, !0), window.removeEventListener("keyup", ge, !0);
4594
4594
  };
4595
4595
  }, []);
4596
4596
  const re = ac("(orientation: landscape) and (max-height: 540px)"), le = z(null), [ve, Le] = O(null);
4597
4597
  Qt(() => {
4598
4598
  const Z = le.current;
4599
4599
  if (!Z || (Le(Z.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
4600
- const se = new ResizeObserver(([he]) => Le(he.contentRect.width));
4600
+ const se = new ResizeObserver(([ge]) => Le(ge.contentRect.width));
4601
4601
  return se.observe(Z), () => se.disconnect();
4602
4602
  }, []);
4603
4603
  const Te = r && !re && (ve == null || ve >= 880);
4604
4604
  Y(() => {
4605
- if (E(!1), !N.playing || h) return;
4605
+ if (E(!1), !N.playing || g) return;
4606
4606
  const Z = setTimeout(() => E(!0), 3e3);
4607
4607
  return () => clearTimeout(Z);
4608
- }, [N.playing, h, oe]);
4608
+ }, [N.playing, g, oe]);
4609
4609
  const we = z(I);
4610
4610
  we.current = I;
4611
4611
  const Ee = z(0), Be = (Z) => {
4612
4612
  if (Z.pointerType !== "mouse") return;
4613
4613
  const se = Date.now();
4614
- !we.current && se - Ee.current < 1e3 || (Ee.current = se, P((he) => he + 1));
4614
+ !we.current && se - Ee.current < 1e3 || (Ee.current = se, P((ge) => ge + 1));
4615
4615
  }, Oe = !Te && re, ye = z(null), te = o ? o.words.map((Z) => Z.dim ? 0 : 1).join("") + o.words.length + ":" + (o.cursor ?? "") : "";
4616
4616
  Qt(() => {
4617
4617
  const Z = ye.current;
4618
4618
  if (!Z) return;
4619
- const se = !!(o != null && o.words.some((U) => U.dim)) || (o == null ? void 0 : o.cursor) != null, he = Z.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((U) => U.dim) ? "[data-at]" : "[data-said]"), Me = parseFloat(getComputedStyle(Z).lineHeight) || 24, ce = Math.round(Z.scrollHeight / Me) - Math.round(Z.clientHeight / Me), ke = Math.max(0, ce) * Me;
4619
+ const se = !!(o != null && o.words.some((U) => U.dim)) || (o == null ? void 0 : o.cursor) != null, ge = Z.querySelectorAll((o == null ? void 0 : o.cursor) != null && !o.words.some((U) => U.dim) ? "[data-at]" : "[data-said]"), Me = parseFloat(getComputedStyle(Z).lineHeight) || 24, ce = Math.round(Z.scrollHeight / Me) - Math.round(Z.clientHeight / Me), ke = Math.max(0, ce) * Me;
4620
4620
  if (ke <= 0) {
4621
4621
  Z.scrollTop && Z.scrollTo({ top: 0 });
4622
4622
  return;
4623
4623
  }
4624
- const We = (U) => Math.round((U.getBoundingClientRect().top - Z.getBoundingClientRect().top + Z.scrollTop) / Me), xe = Math.max(1, Math.round(Z.clientHeight / Me)), Ce = se ? he.length ? Math.floor(We(he[he.length - 1]) / xe) * xe * Me : 0 : ke, _ = Math.max(0, Math.min(ke, Ce));
4624
+ const We = (U) => Math.round((U.getBoundingClientRect().top - Z.getBoundingClientRect().top + Z.scrollTop) / Me), xe = Math.max(1, Math.round(Z.clientHeight / Me)), Ce = se ? ge.length ? Math.floor(We(ge[ge.length - 1]) / xe) * xe * Me : 0 : ke, _ = Math.max(0, Math.min(ke, Ce));
4625
4625
  Math.abs(_ - Z.scrollTop) > 1 && (Z.scrollTop = _);
4626
4626
  }, [te, Oe]);
4627
4627
  const [H, X] = O(!0), [y, R] = O(!1), ae = z(void 0);
@@ -4653,31 +4653,31 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4653
4653
  ] })
4654
4654
  ] })
4655
4655
  ] })
4656
- ] }), je = (Z, se, he, Me, ce, ke = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Z, "aria-label": Z, onClick: Me, children: /* @__PURE__ */ i(de, { d: se, size: (Te ? 20 : 18) + ke, sw: he, style: ce }) }), Ve = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4657
- p && /* @__PURE__ */ i(Di, { v: p, size: Te ? 20 : 18 }),
4656
+ ] }), je = (Z, se, ge, Me, ce, ke = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Z, "aria-label": Z, onClick: Me, children: /* @__PURE__ */ i(de, { d: se, size: (Te ? 20 : 18) + ke, sw: ge, style: ce }) }), Ve = /* @__PURE__ */ f("div", { className: "gfull__acts", children: [
4657
+ p && /* @__PURE__ */ i(Si, { v: p, size: Te ? 20 : 18 }),
4658
4658
  C && je("Share", q.share, 1.6, C),
4659
- Kr() && !t && je(j ? "Exit full screen" : "Full screen", j ? rc : xi, 1.7, () => Tn(!j)),
4659
+ Jr() && !t && je(j ? "Exit full screen" : "Full screen", j ? rc : Di, 1.7, () => Tn(!j)),
4660
4660
  K && je("Close player", q.close, 1.7, K)
4661
- ] }), Ae = (d || u || b) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
4661
+ ] }), Ae = (d || u || x) && /* @__PURE__ */ f("div", { className: "gfull__top", children: [
4662
4662
  d && je(d.muted ? "Unmute" : "Mute", d.muted ? q.volumeOff : q.volume, 1.6, d.onToggle),
4663
4663
  u && je(u.on ? "Hide subtitles" : "Show subtitles", u.on ? q.cc : q.ccOff, 1.7, u.onToggle, void 0, 4),
4664
- b && je("Settings", q.cog, 1.6, b)
4664
+ x && je("Settings", q.cog, 1.6, x)
4665
4665
  ] });
4666
4666
  return /* @__PURE__ */ f(
4667
4667
  "div",
4668
4668
  {
4669
4669
  ref: le,
4670
- className: `gfull${Te ? " gfull--desk" : ""}${ue ? " gfull--swipe" : ""}${g ? " gfull--ad" : ""}${I ? " gfull--calm" : ""}`,
4670
+ className: `gfull${Te ? " gfull--desk" : ""}${ue ? " gfull--swipe" : ""}${h ? " gfull--ad" : ""}${I ? " gfull--calm" : ""}`,
4671
4671
  "data-theme": "dark",
4672
4672
  role: "dialog",
4673
4673
  "aria-label": s,
4674
4674
  onPointerMove: Be,
4675
4675
  onPointerDownCapture: (Z) => {
4676
- var se, he;
4677
- I && (x.current = !0), P((Me) => Me + 1), (he = (se = Z.target).closest) != null && he.call(se, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || A();
4676
+ var se, ge;
4677
+ I && (b.current = !0), P((Me) => Me + 1), (ge = (se = Z.target).closest) != null && ge.call(se, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || A();
4678
4678
  },
4679
4679
  onClickCapture: (Z) => {
4680
- x.current && (x.current = !1, Z.stopPropagation(), Z.preventDefault());
4680
+ b.current && (b.current = !1, Z.stopPropagation(), Z.preventDefault());
4681
4681
  },
4682
4682
  children: [
4683
4683
  ue && B && /* @__PURE__ */ f("div", { className: "gfull__swipe", "aria-live": "polite", children: [
@@ -4687,7 +4687,7 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4687
4687
  /* @__PURE__ */ f("div", { className: `gfull__frame${Oe ? " gfull__frame--land" : ""}`, children: [
4688
4688
  n,
4689
4689
  /* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
4690
- k && !g && /* @__PURE__ */ f("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4690
+ k && !h && /* @__PURE__ */ f("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
4691
4691
  /* @__PURE__ */ f("div", { className: "gfull__pausedtext", children: [
4692
4692
  /* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: k.title }),
4693
4693
  k.summary && /* @__PURE__ */ i("div", { className: "gfull__pausedsum", children: k.summary })
@@ -4753,7 +4753,7 @@ function Si({ noFull: t = !1, page: e = !0, picture: n, title: s, desk: r, pos:
4753
4753
  function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4754
4754
  return /* @__PURE__ */ f("div", { className: "ghead", children: [
4755
4755
  e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 19, sw: 1.7 }) }),
4756
- s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(ri, { dark: t, size: 30 }) }),
4756
+ s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(ii, { dark: t, size: 30 }) }),
4757
4757
  /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(vn, { dark: t, height: 22 }) }) : /* @__PURE__ */ f("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
4758
4758
  /* @__PURE__ */ f("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
4759
4759
  /* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
@@ -4761,7 +4761,7 @@ function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o
4761
4761
  ] }),
4762
4762
  o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
4763
4763
  ] }) }),
4764
- /* @__PURE__ */ i(ja, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ f("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4764
+ /* @__PURE__ */ i(za, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ f("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4765
4765
  /* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
4766
4766
  /* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
4767
4767
  /* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
@@ -4774,7 +4774,7 @@ function Mc(t) {
4774
4774
  const e = t.langName;
4775
4775
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
4776
4776
  }
4777
- function hc(t, e) {
4777
+ function gc(t, e) {
4778
4778
  const [n, s] = O(null), [r, a] = O(!1);
4779
4779
  return Y(() => {
4780
4780
  if (!t) {
@@ -4787,7 +4787,7 @@ function hc(t, e) {
4787
4787
  return () => clearTimeout(l);
4788
4788
  }, [t, e]), [r, n];
4789
4789
  }
4790
- const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4790
+ const hc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4791
4791
  function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4792
4792
  const [r, a] = O(() => Date.now());
4793
4793
  Y(() => {
@@ -4821,7 +4821,7 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
4821
4821
  /* @__PURE__ */ f("div", { className: "pwait__head", children: [
4822
4822
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(de, { d: q.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
4823
4823
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
4824
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
4824
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: hc(o) })
4825
4825
  ] }),
4826
4826
  /* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
4827
4827
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
@@ -4839,62 +4839,62 @@ function pc() {
4839
4839
  const t = new Uint8Array(24);
4840
4840
  return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4841
4841
  }
4842
- function Ai(t, e, n) {
4842
+ function Ei(t, e, n) {
4843
4843
  const s = new URL(t ?? Ds), r = pc(), a = new URL(Nc, s);
4844
4844
  e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", r);
4845
4845
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), d = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), u = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(d)}`);
4846
- return u ? new Promise((g, M) => {
4846
+ return u ? new Promise((h, M) => {
4847
4847
  let N = !1;
4848
4848
  const m = (p) => {
4849
4849
  N || (N = !0, window.removeEventListener("message", w), clearInterval(v), p());
4850
4850
  }, w = (p) => {
4851
4851
  if (p.origin !== s.origin || p.source !== u) return;
4852
- const h = p.data;
4853
- if (!(!h || h.source !== "vocalstack" || h.nonce !== r)) {
4854
- if (h.type === "vocalstack:hello") {
4852
+ const g = p.data;
4853
+ if (!(!g || g.source !== "vocalstack" || g.nonce !== r)) {
4854
+ if (g.type === "vocalstack:hello") {
4855
4855
  u.postMessage({ source: "vocalstack", type: "vocalstack:hello-ack", nonce: r }, s.origin);
4856
4856
  return;
4857
4857
  }
4858
- if (h.type === "vocalstack:status") {
4859
- n == null || n(h.status);
4858
+ if (g.type === "vocalstack:status") {
4859
+ n == null || n(g.status);
4860
4860
  return;
4861
4861
  }
4862
- if (h.type === "vocalstack:started" || h.type === "vocalstack:token" || h.type === "vocalstack:found") {
4863
- m(() => g({ transcriptionId: String(h.transcriptionId), recordingId: String(h.recordingId), token: String(h.token), expiresAt: h.expiresAt ?? null }));
4862
+ if (g.type === "vocalstack:started" || g.type === "vocalstack:token" || g.type === "vocalstack:found") {
4863
+ m(() => h({ transcriptionId: String(g.transcriptionId), recordingId: String(g.recordingId), token: String(g.token), expiresAt: g.expiresAt ?? null }));
4864
4864
  return;
4865
4865
  }
4866
- if (h.type === "vocalstack:connected") {
4867
- m(() => g("connected"));
4866
+ if (g.type === "vocalstack:connected") {
4867
+ m(() => h("connected"));
4868
4868
  return;
4869
4869
  }
4870
- if (h.type === "vocalstack:declined") {
4871
- m(() => g(null));
4870
+ if (g.type === "vocalstack:declined") {
4871
+ m(() => h(null));
4872
4872
  return;
4873
4873
  }
4874
- h.type === "vocalstack:error" && m(() => M(new Error(typeof h.message == "string" && h.message ? h.message : "VocalStack could not start this transcription.")));
4874
+ g.type === "vocalstack:error" && m(() => M(new Error(typeof g.message == "string" && g.message ? g.message : "VocalStack could not start this transcription.")));
4875
4875
  }
4876
4876
  };
4877
4877
  window.addEventListener("message", w);
4878
4878
  const v = setInterval(() => {
4879
- u.closed && m(() => g(null));
4879
+ u.closed && m(() => h(null));
4880
4880
  }, 500);
4881
4881
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4882
4882
  }
4883
4883
  async function mc(t, e, n) {
4884
- const s = await Ai(t, { url: e }, n);
4884
+ const s = await Ei(t, { url: e }, n);
4885
4885
  return s === "connected" ? null : s;
4886
4886
  }
4887
- const Ei = "vsp.connected";
4887
+ const Yi = "vsp.connected";
4888
4888
  function yc(t) {
4889
4889
  try {
4890
- return localStorage.getItem(Ei) === new URL(t ?? Ds).origin;
4890
+ return localStorage.getItem(Yi) === new URL(t ?? Ds).origin;
4891
4891
  } catch {
4892
4892
  return !1;
4893
4893
  }
4894
4894
  }
4895
4895
  function Tc(t) {
4896
4896
  try {
4897
- localStorage.setItem(Ei, new URL(t ?? Ds).origin);
4897
+ localStorage.setItem(Yi, new URL(t ?? Ds).origin);
4898
4898
  } catch {
4899
4899
  }
4900
4900
  }
@@ -4907,7 +4907,7 @@ const wc = {
4907
4907
  starting: "Starting the transcription…"
4908
4908
  }, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4909
4909
  function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4910
- const [r, a] = O(""), [o, l] = O(!1), [c, d] = O(null), [u, g] = O(null);
4910
+ const [r, a] = O(""), [o, l] = O(!1), [c, d] = O(null), [u, h] = O(null);
4911
4911
  Y(() => {
4912
4912
  const w = (v) => {
4913
4913
  v.key === "Escape" && s();
@@ -4918,12 +4918,12 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4918
4918
  if (!(!N || o)) {
4919
4919
  l(!0), d(null);
4920
4920
  try {
4921
- const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4921
+ const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, h);
4922
4922
  w && e(w);
4923
4923
  } catch (w) {
4924
4924
  d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
4925
4925
  } finally {
4926
- l(!1), g(null);
4926
+ l(!1), h(null);
4927
4927
  }
4928
4928
  }
4929
4929
  };
@@ -4953,7 +4953,7 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
4953
4953
  ] })
4954
4954
  ] }) });
4955
4955
  }
4956
- function Yi(t) {
4956
+ function _i(t) {
4957
4957
  const [e, n] = O(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
4958
4958
  return Y(() => {
4959
4959
  if (t != null) return;
@@ -4963,9 +4963,9 @@ function Yi(t) {
4963
4963
  }
4964
4964
  const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4965
4965
  function jc(t, e) {
4966
- const n = wi(), [s, r] = hi(), [a, o] = O(null), [l, c] = O("main"), d = Ns(n, t.lang), u = Ie(() => gi(n, "translation"), [n]), g = (A) => {
4966
+ const n = Li(), [s, r] = hi(), [a, o] = O(null), [l, c] = O("main"), d = Ns(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), h = (A) => {
4967
4967
  e({ lang: A }), r(A);
4968
- }, M = vs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), N = () => {
4968
+ }, M = vs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: h, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), N = () => {
4969
4969
  o(null), c("main");
4970
4970
  }, m = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(de, { d: q.langAuto, size: 19, sw: 1.7 }), w = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? d.label : "As spoken"}`, title: t.lang ? d.label : "As spoken", onClick: (A) => {
4971
4971
  A.stopPropagation(), c("main"), o((K) => K === "lang" ? null : "lang");
@@ -4975,24 +4975,24 @@ function jc(t, e) {
4975
4975
  /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 18, sw: 1.8 }),
4976
4976
  "Back"
4977
4977
  ] })
4978
- ] }), h = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, C = (A, K, j) => /* @__PURE__ */ f("div", { className: "srow", children: [
4978
+ ] }), g = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, C = (A, K, j) => /* @__PURE__ */ f("div", { className: "srow", children: [
4979
4979
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
4980
4980
  /* @__PURE__ */ i("div", { className: "srow__t", children: A }),
4981
4981
  /* @__PURE__ */ i("div", { className: "srow__s", children: K })
4982
4982
  ] }),
4983
4983
  j
4984
- ] }), b = /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
4984
+ ] }), x = /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
4985
4985
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
4986
4986
  M.list
4987
- ] }), k = l === "lang" ? b : l === "subs" ? /* @__PURE__ */ f("div", { style: h, children: [
4988
- C("Show subtitles", "Captions over the video", /* @__PURE__ */ i(ft, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
4989
- C("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(ft, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
4990
- C("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(ft, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
4991
- ] }) : l === "audio" ? /* @__PURE__ */ f("div", { style: h, children: [
4992
- C("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(ft, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
4987
+ ] }), k = l === "lang" ? x : l === "subs" ? /* @__PURE__ */ f("div", { style: g, children: [
4988
+ C("Show subtitles", "Captions over the video", /* @__PURE__ */ i(Nt, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
4989
+ C("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(Nt, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
4990
+ C("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(Nt, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
4991
+ ] }) : l === "audio" ? /* @__PURE__ */ f("div", { style: g, children: [
4992
+ C("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(Nt, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
4993
4993
  C("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(as, { value: t.voices, onChange: (A) => e({ voices: A }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
4994
- C(Ln, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(ft, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: Ln }))
4995
- ] }) : /* @__PURE__ */ f("div", { style: h, children: [
4994
+ C(Ln, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(Nt, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: Ln }))
4995
+ ] }) : /* @__PURE__ */ f("div", { style: g, children: [
4996
4996
  /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
4997
4997
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
4998
4998
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
@@ -5018,7 +5018,7 @@ function jc(t, e) {
5018
5018
  v
5019
5019
  ] })
5020
5020
  ] }), J = /* @__PURE__ */ f(Pe, { children: [
5021
- /* @__PURE__ */ i($t, { open: a === "lang", onClose: N, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(os, { children: b }) }),
5021
+ /* @__PURE__ */ i($t, { open: a === "lang", onClose: N, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(os, { children: x }) }),
5022
5022
  /* @__PURE__ */ i($t, { open: a === "settings", onClose: N, title: { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO" }[l], titleNode: l === "main" ? void 0 : p, kind: l === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: k }) })
5023
5023
  ] });
5024
5024
  return {
@@ -5030,7 +5030,7 @@ function jc(t, e) {
5030
5030
  }
5031
5031
  };
5032
5032
  }
5033
- const _i = {
5033
+ const Ui = {
5034
5034
  "signing-in": "Sign in to VocalStack in the window that opened…",
5035
5035
  consent: "Confirm in the VocalStack window…",
5036
5036
  looking: "Looking for your transcription of this video…",
@@ -5051,7 +5051,7 @@ function Ic(t, e) {
5051
5051
  s(!0), l(null);
5052
5052
  let m;
5053
5053
  try {
5054
- m = Ai(t, N, a);
5054
+ m = Ei(t, N, a);
5055
5055
  } catch (w) {
5056
5056
  m = Promise.reject(w);
5057
5057
  }
@@ -5060,8 +5060,8 @@ function Ic(t, e) {
5060
5060
  }).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
5061
5061
  s(!1), a(null);
5062
5062
  });
5063
- }, [t, n, e]), g = qe(() => u({ connect: !0 }), [u]), M = qe((N, m) => u({ url: N, ask: m }), [u]);
5064
- return { busy: n, status: r, err: o, connected: c, connect: g, start: M };
5063
+ }, [t, n, e]), h = qe(() => u({ connect: !0 }), [u]), M = qe((N, m) => u({ url: N, ask: m }), [u]);
5064
+ return { busy: n, status: r, err: o, connected: c, connect: h, start: M };
5065
5065
  }
5066
5066
  function Oc(t) {
5067
5067
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
@@ -5073,12 +5073,12 @@ function Cc({ poster: t, src: e }) {
5073
5073
  const bc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5074
5074
  } };
5075
5075
  function Ls({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
5076
- const l = jc(t.prefs, t.set), c = Yi(), d = z(null), [u, g] = O(!1);
5076
+ const l = jc(t.prefs, t.set), c = _i(), d = z(null), [u, h] = O(!1);
5077
5077
  Qt(() => {
5078
5078
  var v;
5079
5079
  const N = (v = d.current) == null ? void 0 : v.parentElement;
5080
5080
  if (!N) return;
5081
- const m = () => g(N.getBoundingClientRect().width < 560);
5081
+ const m = () => h(N.getBoundingClientRect().width < 560);
5082
5082
  if (m(), typeof ResizeObserver > "u") return;
5083
5083
  const w = new ResizeObserver(m);
5084
5084
  return w.observe(N), () => w.disconnect();
@@ -5087,25 +5087,25 @@ function Ls({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
5087
5087
  }, onNext: () => {
5088
5088
  }, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
5089
5089
  return /* @__PURE__ */ f("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
5090
- /* @__PURE__ */ i(Si, { page: r, picture: /* @__PURE__ */ i(Cc, { poster: e, src: n }), title: s, desk: c, pos: bc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => bs(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
5090
+ /* @__PURE__ */ i(Ai, { page: r, picture: /* @__PURE__ */ i(Cc, { poster: e, src: n }), title: s, desk: c, pos: bc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => bs(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
5091
5091
  } }),
5092
5092
  !l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
5093
5093
  ] });
5094
5094
  }
5095
- function Ui({ connect: t, onClick: e, label: n }) {
5095
+ function Ri({ connect: t, onClick: e, label: n }) {
5096
5096
  return /* @__PURE__ */ f(Pe, { children: [
5097
5097
  /* @__PURE__ */ f("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5098
5098
  t.busy ? /* @__PURE__ */ i(ct, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(de, { d: q.link, size: 18, sw: 1.8 }),
5099
5099
  /* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
5100
5100
  ] }),
5101
- t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[t.status ?? "checking"] }),
5101
+ t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[t.status ?? "checking"] }),
5102
5102
  t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
5103
5103
  ] });
5104
5104
  }
5105
5105
  function xc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
5106
5106
  const l = () => s.start(e, n);
5107
5107
  return /* @__PURE__ */ f(Ls, { idle: t, poster: a, src: e, title: is(e), page: r, onAct: l, children: [
5108
- /* @__PURE__ */ i(Ui, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5108
+ /* @__PURE__ */ i(Ri, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5109
5109
  !s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${is(e)} with subtitles and spoken translations.` : `Connect to play ${is(e)} with subtitles and spoken translations.` }),
5110
5110
  o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
5111
5111
  ] });
@@ -5127,10 +5127,10 @@ function Dc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
5127
5127
  /* @__PURE__ */ i("input", { ref: l, className: "vsp-idle__input", type: "url", inputMode: "url", enterKeyHint: "go", autoComplete: "off", spellCheck: !1, placeholder: "Paste a video link", value: a, onChange: (M) => o(M.target.value), "aria-label": "Video link", autoFocus: !0 }),
5128
5128
  e.busy && /* @__PURE__ */ i(ct, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
5129
5129
  ] }) }),
5130
- e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5130
+ e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5131
5131
  e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
5132
5132
  ] }) : /* @__PURE__ */ f(Ls, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5133
- /* @__PURE__ */ i(Ui, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5133
+ /* @__PURE__ */ i(Ri, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5134
5134
  !e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
5135
5135
  ] });
5136
5136
  }
@@ -5147,7 +5147,7 @@ function Sc(t, e, n) {
5147
5147
  }
5148
5148
  let a = !0;
5149
5149
  r(void 0);
5150
- const o = new ti({ baseUrl: (n ?? yi).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5150
+ const o = new ni({ baseUrl: (n ?? Ti).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5151
5151
  if (!l) {
5152
5152
  r(null);
5153
5153
  return;
@@ -5161,39 +5161,43 @@ function Sc(t, e, n) {
5161
5161
  };
5162
5162
  }, [t, e, n]), s;
5163
5163
  }
5164
- const Ac = 100, Jr = (t) => t == null ? null : t ? "on" : "off";
5164
+ const Ac = 100, Xr = (t) => t == null ? null : t ? "on" : "off";
5165
5165
  function Ec(t) {
5166
5166
  const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, s = (a) => a === "on" || a === "off" ? a : null, r = Number(e == null ? void 0 : e.get("t"));
5167
5167
  return {
5168
5168
  lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
5169
- labels: s(e == null ? void 0 : e.get("labels")) ?? Jr(n.speakerLabels),
5170
- words: s(e == null ? void 0 : e.get("words")) ?? Jr(n.wordHighlight),
5169
+ labels: s(e == null ? void 0 : e.get("labels")) ?? Xr(n.speakerLabels),
5170
+ words: s(e == null ? void 0 : e.get("words")) ?? Xr(n.wordHighlight),
5171
5171
  cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
5172
5172
  translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
5173
5173
  clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
5174
- removeBackground: e && e.get("bg") ? Ga(e) : n.removeBackground ?? !1,
5174
+ removeBackground: e && e.get("bg") ? Za(e) : n.removeBackground ?? !1,
5175
5175
  startAt: Number.isFinite(r) && r > 0 ? r : t.startAt ?? null
5176
5176
  };
5177
5177
  }
5178
- const Wc = fa(function(e, n) {
5178
+ const Wc = Na(function(e, n) {
5179
5179
  var P;
5180
5180
  const s = z(null);
5181
- Na(n, () => ({
5182
- seek: (x) => {
5181
+ pa(n, () => ({
5182
+ seek: (b) => {
5183
5183
  var ue;
5184
- return (ue = s.current) == null ? void 0 : ue.seek(x);
5184
+ return (ue = s.current) == null ? void 0 : ue.seek(b);
5185
5185
  },
5186
5186
  play: () => {
5187
- var x;
5188
- return (x = s.current) == null ? void 0 : x.play();
5187
+ var b;
5188
+ return (b = s.current) == null ? void 0 : b.play();
5189
+ },
5190
+ toggleMute: () => {
5191
+ var b;
5192
+ return (b = s.current) == null ? void 0 : b.toggleMute();
5189
5193
  },
5190
5194
  pause: () => {
5191
- var x;
5192
- return (x = s.current) == null ? void 0 : x.pause();
5195
+ var b;
5196
+ return (b = s.current) == null ? void 0 : b.pause();
5193
5197
  },
5194
5198
  toggle: () => {
5195
- var x;
5196
- return (x = s.current) == null ? void 0 : x.toggle();
5199
+ var b;
5200
+ return (b = s.current) == null ? void 0 : b.toggle();
5197
5201
  }
5198
5202
  }), []);
5199
5203
  const [r, a] = O({ id: e.id ?? "", token: e.token });
@@ -5204,37 +5208,37 @@ const Wc = fa(function(e, n) {
5204
5208
  Y(() => {
5205
5209
  o != null && o.id && a({ id: o.id, token: e.token });
5206
5210
  }, [o == null ? void 0 : o.id]);
5207
- const [l, c] = O(null), [d, u] = O(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, x]) => x !== void 0)) })), [g, M] = O({}), N = { prefs: d, set: (x) => {
5208
- u((ue) => ({ ...ue, ...x })), M((ue) => ({ ...ue, ...x }));
5209
- }, shareUrl: (P = e.shareUrl) == null ? void 0 : P.call(e, null) }, { muted: m, ...w } = g;
5211
+ const [l, c] = O(null), [d, u] = O(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, b]) => b !== void 0)) })), [h, M] = O({}), N = { prefs: d, set: (b) => {
5212
+ u((ue) => ({ ...ue, ...b })), M((ue) => ({ ...ue, ...b }));
5213
+ }, shareUrl: (P = e.shareUrl) == null ? void 0 : P.call(e, null) }, { muted: m, ...w } = h;
5210
5214
  Y(() => {
5211
5215
  c(null);
5212
5216
  }, [e.id, e.src]);
5213
- const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), h = !r.id && !e.src && !l, C = Ti({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: b, gone: k, error: J, reload: A } = Ao(C, r.id), K = Eo(C, (b == null ? void 0 : b.recording.id) ?? null), j = Ie(() => Do(C, K), [C, K]);
5217
+ const v = e.src ?? l, p = !r.id && !!v && (l != null || o !== void 0), g = !r.id && !e.src && !l, C = wi({ id: r.id, token: r.token, baseUrl: e.baseUrl, listen: r.listen }), { source: x, gone: k, error: J, reload: A } = Eo(C, r.id), K = Yo(C, (x == null ? void 0 : x.recording.id) ?? null), j = Ie(() => So(C, K), [C, K]);
5214
5218
  Y(() => {
5215
- var x;
5216
- b && ((x = e.onSource) == null || x.call(e, b));
5217
- }, [b]), Y(() => {
5218
- var x;
5219
- J && ((x = e.onError) == null || x.call(e, J));
5219
+ var b;
5220
+ x && ((b = e.onSource) == null || b.call(e, x));
5221
+ }, [x]), Y(() => {
5222
+ var b;
5223
+ J && ((b = e.onError) == null || b.call(e, J));
5220
5224
  }, [J]);
5221
- const S = Yi(e.compact ? !1 : e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), I = qe((x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }), []), E = Ic(L, I), oe = z(null);
5222
- return Y(() => (qr($ ? oe.current : null), () => qr(null)), [$]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: oe, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: h ? /* @__PURE__ */ i(Dc, { idle: N, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : p ? /* @__PURE__ */ i(xc, { idle: N, src: v, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: m === !0, handle: s, id: r.id, api: j, shared: b, gone: k, loadError: J, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (x) => a({ id: x.transcriptionId, token: null, listen: { transcriptionId: x.transcriptionId, recordingId: x.recordingId, token: x.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5225
+ const S = _i(e.compact ? !1 : e.desk), $ = (e.layout ?? "embed") === "embed", L = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), I = qe((b) => a({ id: b.transcriptionId, token: null, listen: { transcriptionId: b.transcriptionId, recordingId: b.recordingId, token: b.token } }), []), E = Ic(L, I), oe = z(null);
5226
+ return Y(() => (Kr($ ? oe.current : null), () => Kr(null)), [$]), /* @__PURE__ */ i(Co, { value: j, children: /* @__PURE__ */ i("div", { ref: oe, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: g ? /* @__PURE__ */ i(Dc, { idle: N, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : p ? /* @__PURE__ */ i(xc, { idle: N, src: v, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: m === !0, handle: s, id: r.id, api: j, shared: x, gone: k, loadError: J, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (b) => a({ id: b.transcriptionId, token: null, listen: { transcriptionId: b.transcriptionId, recordingId: b.recordingId, token: b.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5223
5227
  });
5224
5228
  function Yc(t) {
5225
- var cr, ur, dr, Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr;
5226
- const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((ur = (cr = n == null ? void 0 : n.job) == null ? void 0 : cr.source) == null ? void 0 : ur.kind) === "url" ? fs(n.job.source.url) : null, u = c && !(n && !d), [g, M] = O(t.loadError);
5229
+ var cr, ur, dr, Mr, gr, hr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr;
5230
+ const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((ur = (cr = n == null ? void 0 : n.job) == null ? void 0 : cr.source) == null ? void 0 : ur.kind) === "url" ? fs(n.job.source.url) : null, u = c && !(n && !d), [h, M] = O(t.loadError);
5227
5231
  Y(() => {
5228
5232
  t.loadError && M(t.loadError);
5229
5233
  }, [t.loadError]);
5230
- const [N, m] = O("none"), [w, v] = O(!1), [p, h] = O(""), [C, b] = Ul(), [k, J] = O(null), [A, K] = O(u ? "listen" : "read"), [j, S] = O(!1), $ = z(null), L = z(/* @__PURE__ */ new Map()), [I, E] = O("main"), oe = (T) => {
5234
+ const [N, m] = O("none"), [w, v] = O(!1), [p, g] = O(""), [C, x] = Ul(), [k, J] = O(null), [A, K] = O(u ? "listen" : "read"), [j, S] = O(!1), $ = z(null), L = z(/* @__PURE__ */ new Map()), [I, E] = O("main"), oe = (T) => {
5231
5235
  const pe = document.querySelector(".vs-sheet--settings"), Re = pe == null ? void 0 : pe.parentElement;
5232
5236
  pe && Re && I === "main" && T !== "main" && Re.style.setProperty("--vs-sheet-top", `${Math.round(pe.getBoundingClientRect().top - Re.getBoundingClientRect().top)}px`), E(T);
5233
5237
  };
5234
5238
  Y(() => {
5235
5239
  j || oe("main");
5236
5240
  }, [j]);
5237
- const [P, x] = O(u), ue = (n == null ? void 0 : n.recording) ?? null, B = (ue == null ? void 0 : ue.id) ?? null, [F, ie] = O(l.lang), re = typeof F == "string" ? F : null, [le, ve] = O(l.labels), [Le, Te] = O(l.words), [we, Ee] = O(l.cc), [Be, Oe] = O(l.translateAudio), [ye, te] = O(l.clonedVoices), [H, X] = O(l.removeBackground), y = t.settings;
5241
+ const [P, b] = O(u), ue = (n == null ? void 0 : n.recording) ?? null, B = (ue == null ? void 0 : ue.id) ?? null, [F, ie] = O(l.lang), re = typeof F == "string" ? F : null, [le, ve] = O(l.labels), [Le, Te] = O(l.words), [we, Ee] = O(l.cc), [Be, Oe] = O(l.translateAudio), [ye, te] = O(l.clonedVoices), [H, X] = O(l.removeBackground), y = t.settings;
5238
5242
  Y(() => {
5239
5243
  (y == null ? void 0 : y.lang) !== void 0 && ie(y.lang);
5240
5244
  }, [y == null ? void 0 : y.lang]), Y(() => {
@@ -5254,22 +5258,22 @@ function Yc(t) {
5254
5258
  Y(() => {
5255
5259
  if (!t.syncUrl) return;
5256
5260
  const T = new URL(window.location.href);
5257
- re ? T.searchParams.set("lang", re) : T.searchParams.delete("lang"), le ? T.searchParams.set("labels", le) : T.searchParams.delete("labels"), Le ? T.searchParams.set("words", Le) : T.searchParams.delete("words"), we ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Be ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), ye ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Za(T, H), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5261
+ re ? T.searchParams.set("lang", re) : T.searchParams.delete("lang"), le ? T.searchParams.set("labels", le) : T.searchParams.delete("labels"), Le ? T.searchParams.set("words", Le) : T.searchParams.delete("words"), we ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Be ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), ye ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), qa(T, H), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
5258
5262
  }, [re, le, Le, we, Be, ye, H]), Y(() => {
5259
5263
  n && !n.allowTranslate && re && ie(null);
5260
5264
  }, [n, re]);
5261
- const { model: G, error: me, clearError: V, setLanguage: Ye, mergeTranslations: je, translating: Ve, translateFailed: Ae, shownLang: Z } = Ro(B, {
5265
+ const { model: G, error: me, clearError: V, setLanguage: Ye, mergeTranslations: je, translating: Ve, translateFailed: Ae, shownLang: Z } = Po(B, {
5262
5266
  lang: null,
5263
5267
  onFrame: (T) => {
5264
5268
  T.type === "job.progress" && J({ state: T.state, processedS: T.processedS ?? 0, totalS: T.totalS ?? null, segmentsDone: T.segmentsDone ?? 0, segmentsTotal: T.segmentsTotal ?? null, pct: T.pct ?? 0, error: T.error ?? null });
5265
5269
  }
5266
- }), se = Ie(() => No(G).filter((T) => !T.suppressed), [G]), he = Po((n == null ? void 0 : n.job) ?? null), Me = ["done", "failed", "stopped"].includes(ts((he == null ? void 0 : he.state) ?? ((dr = n == null ? void 0 : n.job) == null ? void 0 : dr.state))), ce = Me ? he : k ?? he, ke = !!k && !["done", "failed", "stopped"].includes(ts(k.state)), We = z(0);
5270
+ }), se = Ie(() => po(G).filter((T) => !T.suppressed), [G]), ge = Qo((n == null ? void 0 : n.job) ?? null), Me = ["done", "failed", "stopped"].includes(ts((ge == null ? void 0 : ge.state) ?? ((dr = n == null ? void 0 : n.job) == null ? void 0 : dr.state))), ce = Me ? ge : k ?? ge, ke = !!k && !["done", "failed", "stopped"].includes(ts(k.state)), We = z(0);
5267
5271
  Y(() => {
5268
5272
  !Me || !ke || Date.now() - We.current < 1e4 || (We.current = Date.now(), t.reread());
5269
5273
  }, [Me, ke, k == null ? void 0 : k.state, k == null ? void 0 : k.processedS, o]);
5270
- const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W = $o(n == null ? void 0 : n.job, ce) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((hr = G.segments.values().next().value) == null ? void 0 : hr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, fe = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Ne = ((Nr = (fr = (gr = n == null ? void 0 : n.job) == null ? void 0 : gr.source) == null ? void 0 : fr.name) == null ? void 0 : Nr.trim()) || null, ze = n ? ((pr = n.name) == null ? void 0 : pr.trim()) || Ne : null, Ue = !!((mr = n == null ? void 0 : n.job) != null && mr.hasAudio), be = (yr = n == null ? void 0 : n.job) == null ? void 0 : yr.source, Se = !Ue && !!be && (be.kind !== "url" || be.bytes != null) && (xe === "transcribing" || xe === "queued" || xe === "done"), st = B && (n != null && n.allowDownload) && Ue ? ba(e.origin, B, e.cred) : B && (n != null && n.allowDownload) && Se ? qn(e.origin, B, "source", e.cred) : null, Xe = se[se.length - 1], It = Xe ? ((Tr = Xe.words[Xe.words.length - 1]) == null ? void 0 : Tr.end) ?? Xe.start : 0, ut = u && Ce ? Math.max(It, (ce == null ? void 0 : ce.processedS) ?? 0) : null, Ge = Hl(st, (Ue || Se) && !!(n != null && n.allowDownload), se, W, Se ? ((Lr = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.crop) == null ? void 0 : Lr.startS) ?? 0 : 0, ut), Qe = ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.source) == null ? void 0 : vr.kind) === "url" ? fs(n.job.source.url) : null, rt = Bl(se, W, ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.crop) == null ? void 0 : zr.startS) ?? 0, ut), He = !!Qe, Lt = He ? rt.player : Ge, Mt = wi(), Bt = z(null), ne = Zl({ recordingId: B, model: G, rows: se, lenS: W, ended: !!B && !Ce, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: F, setPickedLang: ie, side: r && !P ? Gl : void 0, hearOriginal: ae, timed: !!Qe, stockVoices: u && !ye, stickyPicker: u, pickerBusy: Bt.current }), Nt = z(null);
5274
+ const xe = ts((ce == null ? void 0 : ce.state) ?? ((Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.state)), Ce = !!B && (xe === "transcribing" || xe === "queued"), _ = u && !s && (!n || (Ce || xe === "cropping") && se.length === 0), U = Ce ? (ce == null ? void 0 : ce.pct) ?? 0 : 100, W = Bo(n == null ? void 0 : n.job, ce) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((gr = G.segments.values().next().value) == null ? void 0 : gr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, fe = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", Ne = ((Nr = (fr = (hr = n == null ? void 0 : n.job) == null ? void 0 : hr.source) == null ? void 0 : fr.name) == null ? void 0 : Nr.trim()) || null, ze = n ? ((pr = n.name) == null ? void 0 : pr.trim()) || Ne : null, Ue = !!((mr = n == null ? void 0 : n.job) != null && mr.hasAudio), be = (yr = n == null ? void 0 : n.job) == null ? void 0 : yr.source, Se = !Ue && !!be && (be.kind !== "url" || be.bytes != null) && (xe === "transcribing" || xe === "queued" || xe === "done"), st = B && (n != null && n.allowDownload) && Ue ? xa(e.origin, B, e.cred) : B && (n != null && n.allowDownload) && Se ? qn(e.origin, B, "source", e.cred) : null, Xe = se[se.length - 1], Ot = Xe ? ((Tr = Xe.words[Xe.words.length - 1]) == null ? void 0 : Tr.end) ?? Xe.start : 0, ut = u && Ce ? Math.max(Ot, (ce == null ? void 0 : ce.processedS) ?? 0) : null, Ge = Hl(st, (Ue || Se) && !!(n != null && n.allowDownload), se, W, Se ? ((Lr = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.crop) == null ? void 0 : Lr.startS) ?? 0 : 0, ut), Qe = ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.source) == null ? void 0 : vr.kind) === "url" ? fs(n.job.source.url) : null, rt = Bl(se, W, ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.crop) == null ? void 0 : zr.startS) ?? 0, ut), He = !!Qe, Lt = He ? rt.player : Ge, gt = Li(), Bt = z(null), ne = Zl({ recordingId: B, model: G, rows: se, lenS: W, ended: !!B && !Ce, cred: e.cred, langs: gt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: F, setPickedLang: ie, side: r && !P ? Gl : void 0, hearOriginal: ae, timed: !!Qe, stockVoices: u && !ye, stickyPicker: u, pickerBusy: Bt.current }), pt = z(null);
5271
5275
  Y(() => {
5272
- !B || Nt.current === re || (Nt.current = re, Ye(re));
5276
+ !B || pt.current === re || (pt.current = re, Ye(re));
5273
5277
  }, [re, B]);
5274
5278
  const D = He ? rt.player : ne.on ? ne.player : Lt;
5275
5279
  Y(() => {
@@ -5282,41 +5286,41 @@ function Yc(t) {
5282
5286
  const Xt = Ie(() => se.filter((T) => T.sentenceId != null).map((T, pe, Re) => {
5283
5287
  var Fe;
5284
5288
  return { sid: T.sentenceId, start: T.start, end: ((Fe = Re[pe + 1]) == null ? void 0 : Fe.start) ?? Et(T, T.start, T.start + 4) };
5285
- }), [se]), Ot = lo({ on: He && ne.on, lines: Xt, clips: ne.clips, t: D.t, playing: D.playing, muted: D.muted }), at = !!re && (Ve || ne.relang || ne.on && Ot.missing != null);
5289
+ }), [se]), Ct = co({ on: He && ne.on, lines: Xt, clips: ne.clips, t: D.t, playing: D.playing, muted: D.muted }), at = !!re && (Ve || ne.relang || ne.on && Ct.missing != null);
5286
5290
  Bt.current = at ? re : null, Y(() => {
5287
- He && ne.on && Ot.sid != null && ne.setNear(Ot.sid);
5288
- }, [Ot.sid, He, ne.on]), $l([Lt, ne.player], ne.sampling);
5289
- const Ct = z(null);
5291
+ He && ne.on && Ct.sid != null && ne.setNear(Ct.sid);
5292
+ }, [Ct.sid, He, ne.on]), $l([Lt, ne.player], ne.sampling);
5293
+ const bt = z(null);
5290
5294
  Y(() => {
5291
- Ce && !D.playing && Ct.current && (Ct.current.scrollTop = Ct.current.scrollHeight);
5295
+ Ce && !D.playing && bt.current && (bt.current.scrollTop = bt.current.scrollHeight);
5292
5296
  }, [Ce, se.length]);
5293
- const zn = Jl(Ct, se, w, p, v), Ht = /* @__PURE__ */ i(Kl, { open: w, q: p, onQ: h, onClose: () => v(!1), hits: zn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ot = !!(n != null && n.allowDownload), Vt = !!(n != null && n.allowExport), ht = ne.readLang, dt = ht ? ((Ir = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ht)) == null ? void 0 : Ir.name) ?? ht.toUpperCase() : null, _t = async () => {
5297
+ const zn = Jl(bt, se, w, p, v), Ht = /* @__PURE__ */ i(Kl, { open: w, q: p, onQ: g, onClose: () => v(!1), hits: zn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ot = !!(n != null && n.allowDownload), Vt = !!(n != null && n.allowExport), ht = ne.readLang, dt = ht ? ((Ir = gt == null ? void 0 : gt.languages.find((T) => T.code === ht)) == null ? void 0 : Ir.name) ?? ht.toUpperCase() : null, _t = async () => {
5294
5298
  if (B)
5295
5299
  try {
5296
5300
  if (ht && ne.canSpeak) {
5297
- b(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await Vo(e, { recordingId: B, lang: ht, voiceKey: ne.readVoiceKey, cred: e.cred, request: ne.requestTrack }), b(`Downloading ${Ke} in ${dt}.`);
5301
+ x(`Preparing ${Ke} in ${dt}${ne.readVoiceName ? `, read by ${ne.readVoiceName}` : ""} — the download starts when it is ready.`), await Wo(e, { recordingId: B, lang: ht, voiceKey: ne.readVoiceKey, cred: e.cred, request: ne.requestTrack }), x(`Downloading ${Ke} in ${dt}.`);
5298
5302
  return;
5299
5303
  }
5300
5304
  if (Ue) {
5301
- b(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Bo(qn(e.origin, B, "delivery", e.cred)), b(`Downloading ${Ke}.`);
5305
+ x(`Preparing ${Ke} as MP3 — the download starts when it is ready.`), await Ho(qn(e.origin, B, "delivery", e.cred)), x(`Downloading ${Ke}.`);
5302
5306
  return;
5303
5307
  }
5304
- Cs(qn(e.origin, B, "source", e.cred)), b(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5308
+ Cs(qn(e.origin, B, "source", e.cred)), x(`Downloading ${Ke} — the full audio, since the transcript is still being written.`);
5305
5309
  } catch (T) {
5306
5310
  throw M(wt(T)), T;
5307
5311
  }
5308
5312
  }, lt = (T) => {
5309
5313
  if (!B) return;
5310
- const pe = gs.find((Fe) => Fe.key === T).name, Re = dt ? ` in ${dt}` : "";
5311
- return Ho(e, B, T, { lang: ht }).then(() => b(Ce ? `${pe} exported${Re} for the first ${se.length} segments — the rest is still transcribing.` : `${pe} exported${Re}.`)).catch((Fe) => {
5314
+ const pe = hs.find((Fe) => Fe.key === T).name, Re = dt ? ` in ${dt}` : "";
5315
+ return Vo(e, B, T, { lang: ht }).then(() => x(Ce ? `${pe} exported${Re} for the first ${se.length} segments — the rest is still transcribing.` : `${pe} exported${Re}.`)).catch((Fe) => {
5312
5316
  throw M(wt(Fe)), Fe;
5313
5317
  });
5314
- }, Wt = Ce ? "MORE TO COME…" : "END OF TRANSCRIPT", it = Ce ? "var(--brand)" : "var(--ink-28)", Ft = Qo(ce, se.length), kt = D.has && (!ne.relang || !!Qe), Ze = z(D);
5318
+ }, Wt = Ce ? "MORE TO COME…" : "END OF TRANSCRIPT", it = Ce ? "var(--brand)" : "var(--ink-28)", Ft = $o(ce, se.length), kt = D.has && (!ne.relang || !!Qe), Ze = z(D);
5315
5319
  Ze.current = D;
5316
- const bt = `${re ?? ""}|${ne.on ? "voice" : "source"}`, pt = z({ key: bt, idx: 0, t: 0, playing: !1, until: 0 });
5320
+ const xt = `${re ?? ""}|${ne.on ? "voice" : "source"}`, mt = z({ key: xt, idx: 0, t: 0, playing: !1, until: 0 });
5317
5321
  Y(() => {
5318
- const T = pt.current;
5319
- if (T.key !== bt && (T.key = bt, T.until = Date.now() + 15e3), !He) {
5322
+ const T = mt.current;
5323
+ if (T.key !== xt && (T.key = xt, T.until = Date.now() + 15e3), !He) {
5320
5324
  if (!T.until) {
5321
5325
  T.idx = D.idx, T.t = D.t, T.playing = D.playing;
5322
5326
  return;
@@ -5328,38 +5332,38 @@ function Yc(t) {
5328
5332
  !D.has || ne.relang || (T.until = 0, Math.abs(D.t - T.t) > 0.5 && (D.seekFrac && D.dur > 0 ? D.seekFrac(T.t / D.dur) : D.seekRow(T.idx)), T.playing && !D.playing && (et.current = !0, D.toggle()));
5329
5333
  }
5330
5334
  });
5331
- const xt = z(!1), et = z(!1);
5332
- u && (oi.video = !0);
5333
- const [en, Dt] = O(!1), [In, On] = O(!1);
5335
+ const Dt = z(!1), et = z(!1);
5336
+ u && (li.video = !0);
5337
+ const [en, vt] = O(!1), [In, On] = O(!1);
5334
5338
  Y(() => {
5335
- if (!u || xt.current || !kt || !P || _ || t.autoplay === !1) return;
5336
- xt.current = !0;
5339
+ if (!u || Dt.current || !kt || !P || _ || t.autoplay === !1) return;
5340
+ Dt.current = !0;
5337
5341
  const T = (Fe) => {
5338
5342
  Ze.current.playing || et.current || (Ze.current.toggle(), Fe > 0 && setTimeout(() => T(Fe - 1), 1500));
5339
5343
  }, pe = () => {
5340
- Ze.current.muted || Ze.current.toggleMute(), Dt(!0), T(3);
5344
+ Ze.current.muted || Ze.current.toggleMute(), vt(!0), T(3);
5341
5345
  }, Re = Ze.current;
5342
5346
  if (!Re.autoplay || t.startMuted) {
5343
5347
  pe();
5344
5348
  return;
5345
5349
  }
5346
5350
  Re.autoplay().then((Fe) => {
5347
- Fe === !1 ? Dt(!0) : Fe == null && !et.current && pe();
5351
+ Fe === !1 ? vt(!0) : Fe == null && !et.current && pe();
5348
5352
  });
5349
5353
  }, [u, kt, P, _]);
5350
- const vt = z(!1), Cn = () => {
5351
- en && (Dt(!1), vt.current = !0, setTimeout(() => {
5352
- vt.current = !1;
5354
+ const jt = z(!1), Cn = () => {
5355
+ en && (vt(!1), jt.current = !0, setTimeout(() => {
5356
+ jt.current = !1;
5353
5357
  }, 500), Ze.current.muted && Ze.current.toggleMute());
5354
5358
  }, tn = () => {
5355
- if (vt.current) {
5356
- vt.current = !1;
5359
+ if (jt.current) {
5360
+ jt.current = !1;
5357
5361
  return;
5358
5362
  }
5359
- Dt(!1), Ze.current.toggleMute();
5363
+ vt(!1), Ze.current.toggleMute();
5360
5364
  }, nn = () => {
5361
- if (vt.current) {
5362
- vt.current = !1;
5365
+ if (jt.current) {
5366
+ jt.current = !1;
5363
5367
  return;
5364
5368
  }
5365
5369
  et.current = !0, Ze.current.toggle();
@@ -5372,12 +5376,12 @@ function Yc(t) {
5372
5376
  const T = setTimeout(() => De(!0), 180);
5373
5377
  return () => clearTimeout(T);
5374
5378
  }, [Ve]);
5375
- const $e = Q ? Z : re, jt = sl(B, re, se, je), St = ml(yl(ue), B, ne.readLang), Ri = ot || Vt, Pi = (((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0) + ss(D, se), bn = A === "listen", At = bn && !!Qe, Qi = (T) => {
5376
- Lt.pause(), ne.player.pause(), K(T), T === "read" && P && (qt(!1), x(!1));
5377
- }, _e = ne.barChip, Ut = ki(_e.label), Ss = /* @__PURE__ */ i(as, { value: A, onChange: Qi, bordered: !1, options: dc(Ut, !!Qe) }), Rt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...Ri ? [{ key: "export", label: "Export" }] : []], As = (T) => /* @__PURE__ */ f(Pe, { children: [
5378
- T === "summary" && Gt && /* @__PURE__ */ i(Tl, { s: St }),
5379
- T === "export" && /* @__PURE__ */ i(pl, { audio: ot ? { name: Ke, meta: ht && ne.canSpeak || Ue ? `MP3${W ? ` · ${Tt(W)}` : ""}` : "ORIGINAL AUDIO", onClick: _t } : null, formats: Vt, onExport: lt })
5380
- ] }), $i = (T) => /* @__PURE__ */ i(Xo, { index: D.idx, total: Math.max(1, se.length), frac: D.dur > 0 ? Math.min(1, D.t / D.dur) : 0, glideMs: D.wordSync ? 0 : 220, atLabel: Tt(D.t), durLabel: Tt(D.dur), stepLabel: T ? `${D.idx + 1} / ${se.length}` : "", onSeek: ne.relang ? Wl : D.seekRow, onSeekFrac: ne.relang ? void 0 : D.seekFrac, onScrubStart: D.hold, onScrubEnd: D.release }), Es = {
5379
+ const $e = Q ? Z : re, zt = rl(B, re, se, je), St = yl(Tl(ue), B, ne.readLang), Pi = ot || Vt, Qi = (((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0) + ss(D, se), bn = A === "listen", At = bn && !!Qe, $i = (T) => {
5380
+ Lt.pause(), ne.player.pause(), K(T), T === "read" && P && (qt(!1), b(!1));
5381
+ }, _e = ne.barChip, Ut = vi(_e.label), Ss = /* @__PURE__ */ i(as, { value: A, onChange: $i, bordered: !1, options: dc(Ut, !!Qe) }), Rt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...Pi ? [{ key: "export", label: "Export" }] : []], As = (T) => /* @__PURE__ */ f(Pe, { children: [
5382
+ T === "summary" && Gt && /* @__PURE__ */ i(wl, { s: St }),
5383
+ T === "export" && /* @__PURE__ */ i(ml, { audio: ot ? { name: Ke, meta: ht && ne.canSpeak || Ue ? `MP3${W ? ` · ${Tt(W)}` : ""}` : "ORIGINAL AUDIO", onClick: _t } : null, formats: Vt, onExport: lt })
5384
+ ] }), Bi = (T) => /* @__PURE__ */ i(el, { index: D.idx, total: Math.max(1, se.length), frac: D.dur > 0 ? Math.min(1, D.t / D.dur) : 0, glideMs: D.wordSync ? 0 : 220, atLabel: Tt(D.t), durLabel: Tt(D.dur), stepLabel: T ? `${D.idx + 1} / ${se.length}` : "", onSeek: ne.relang ? Wl : D.seekRow, onSeekFrac: ne.relang ? void 0 : D.seekFrac, onScrubStart: D.hold, onScrubEnd: D.release }), Es = {
5381
5385
  live: !1,
5382
5386
  atEdge: !1,
5383
5387
  edgeFrac: null,
@@ -5390,24 +5394,24 @@ function Yc(t) {
5390
5394
  var pe;
5391
5395
  ne.relang || (pe = D.seekFrac) == null || pe.call(D, T);
5392
5396
  }
5393
- }, [Bi, Hi] = hc(ne.on && !!D.preparing && D.playing, 1500), xn = ne.on && ((br = D.error) == null ? void 0 : br.code) === "voice_not_started", Dn = ne.canSpeak && !ne.error && !xn, rn = re ? ((xr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === re)) == null ? void 0 : xr.name) ?? _e.label : "", tt = P ? Mc({ lang: re, langName: rn, translating: Ve && !!re, translateFailed: Ae, voiceFailed: xn, relang: ne.relang, starting: ne.on ? D.starting : null, slowLine: Bi, lineSince: Hi }) : null, Sn = !!Qe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && ne.relang), Ys = !Sn || !tt ? null : tt.kind === "translating" ? `Translating into ${rn || "the new language"}…` : `Preparing the ${rn || "translated"} voice…`, an = !Sn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), _s = vs({ ...ne.langList, keepOpen: !0, open: I === "lang", onClose: () => oe("main") }), Us = Fa(H, ne.on), Vi = u && Us.bed && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred) : null, Rs = no(Vi, { t: ss(D, se), playing: D.playing && !an && !(D.timed && D.preparing), muted: D.muted }), Wi = u && Us.speech && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred, "speech") : null, An = fi(Wi, { t: ss(D, se), playing: !ne.on && D.playing, muted: D.muted }), En = !ne.on && An.on;
5397
+ }, [Hi, Vi] = gc(ne.on && !!D.preparing && D.playing, 1500), xn = ne.on && ((br = D.error) == null ? void 0 : br.code) === "voice_not_started", Dn = ne.canSpeak && !ne.error && !xn, rn = re ? ((xr = gt == null ? void 0 : gt.languages.find((T) => T.code === re)) == null ? void 0 : xr.name) ?? _e.label : "", tt = P ? Mc({ lang: re, langName: rn, translating: Ve && !!re, translateFailed: Ae, voiceFailed: xn, relang: ne.relang, starting: ne.on ? D.starting : null, slowLine: Hi, lineSince: Vi }) : null, Sn = !!Qe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && ne.relang), Ys = !Sn || !tt ? null : tt.kind === "translating" ? `Translating into ${rn || "the new language"}…` : `Preparing the ${rn || "translated"} voice…`, an = !Sn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), _s = vs({ ...ne.langList, keepOpen: !0, open: I === "lang", onClose: () => oe("main") }), Us = Ga(H, ne.on), Wi = u && Us.bed && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred) : null, Rs = so(Wi, { t: ss(D, se), playing: D.playing && !an && !(D.timed && D.preparing), muted: D.muted }), Fi = u && Us.speech && ot && B && (!Ce || st) ? Ar(e.origin, B, e.cred, "speech") : null, An = Ni(Fi, { t: ss(D, se), playing: !ne.on && D.playing, muted: D.muted }), En = !ne.on && An.on;
5394
5398
  Y(() => {
5395
5399
  var T;
5396
5400
  rt.setVideoSound(!(He && (ne.on || En))), (T = Ge.silence) == null || T.call(Ge, !He && En);
5397
5401
  }, [He, ne.on, En, st]);
5398
- const Yn = ot ? ne.on ? Rs : An.state : "unavailable", _n = Be && Dn && !!re, Fi = _n ? [`Translated${ne.hasClone ? ye ? ", cloned voices" : ", synthetic voices" : ""}`, !H && ot && Rs !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : H && Yn !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
5402
+ const Yn = ot ? ne.on ? Rs : An.state : "unavailable", _n = Be && Dn && !!re, Gi = _n ? [`Translated${ne.hasClone ? ye ? ", cloned voices" : ", synthetic voices" : ""}`, !H && ot && Rs !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : H && Yn !== "unavailable" ? "Original speech, background removed" : "Original sound", Zi = () => {
5399
5403
  if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
5400
5404
  Ye(re);
5401
5405
  return;
5402
5406
  }
5403
5407
  et.current = !0, D.toggle();
5404
- }, Zi = () => {
5408
+ }, qi = () => {
5405
5409
  const T = D.idx;
5406
5410
  D.pause(), ie(null), et.current = !0, Lt.playRow(T);
5407
5411
  }, Ps = { prevOn: D.idx > 0, nextOn: D.idx < se.length - 1, onPrev: D.prev, onNext: D.next, playing: D.playing, playable: kt, playTitle: ne.playTitle ?? (D.playing ? "Pause" : "Play"), onPlay: () => {
5408
5412
  et.current = !0, D.toggle();
5409
5413
  }, busy: ne.relang && !Qe || an };
5410
- Mo(kt ? { playing: D.playing, toggle: () => {
5414
+ go(kt ? { playing: D.playing, toggle: () => {
5411
5415
  et.current = !0, D.toggle();
5412
5416
  }, next: D.next, prev: D.prev } : null, ze);
5413
5417
  const Un = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Rn = (T, pe) => !_e.can || !R.language ? null : u ? /* @__PURE__ */ f("button", { type: "button", className: "gfull__btn", title: at ? `${_e.label ?? _e.code}: still being prepared` : _e.label ?? _e.code, "aria-label": `Language: ${_e.label ?? _e.code}`, "aria-busy": at || void 0, onClick: () => {
@@ -5416,28 +5420,28 @@ function Yc(t) {
5416
5420
  /* @__PURE__ */ i("span", { style: { fontSize: pe === "sm" ? 17 : 21, lineHeight: 1 }, children: _e.flag }),
5417
5421
  at && /* @__PURE__ */ i("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ i(ct, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
5418
5422
  ] }) : /* @__PURE__ */ i(wn, { flag: _e.flag, code: _e.code, label: _e.label, bordered: !1, size: pe, onClick: _e.onClick, style: T }), Qs = { on: !1, title: "Voices", onClick: () => {
5419
- } }, [qi, Ki] = O(!1);
5423
+ } }, [Ki, Ji] = O(!1);
5420
5424
  Y(() => {
5421
- D.t > 0.3 && Ki(!0);
5425
+ D.t > 0.3 && Ji(!0);
5422
5426
  }, [D.t]);
5423
5427
  const $s = Qe && /* @__PURE__ */ f(Pe, { children: [
5424
- /* @__PURE__ */ i(Al, { ytId: Qe, title: Ke, t: Pi, playing: D.playing && !an, waiting: ne.on && !!D.timed && !!D.preparing, seekN: D.seekN, onTime: (T) => {
5428
+ /* @__PURE__ */ i(El, { ytId: Qe, title: Ke, t: Qi, playing: D.playing && !an, waiting: ne.on && !!D.timed && !!D.preparing, seekN: D.seekN, onTime: (T) => {
5425
5429
  var pe, Re, Fe;
5426
5430
  return (Fe = D.videoAt) == null ? void 0 : Fe.call(D, T - (((Re = (pe = n == null ? void 0 : n.job) == null ? void 0 : pe.crop) == null ? void 0 : Re.startS) ?? 0));
5427
5431
  }, onToggle: D.has ? nn : void 0, onAd: On, lead: He ? rt.lead : void 0 }),
5428
- /* @__PURE__ */ i("div", { className: "vsp-poster", "aria-hidden": "true", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)`, opacity: qi ? 0 : 1 } })
5429
- ] }), Bs = At && Qe && !P ? /* @__PURE__ */ i(wl, { ytId: Qe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: $s, children: /* @__PURE__ */ i(oc, { pos: Es, transport: Ps, chip: Rn({ ...Un, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Qs, onFull: () => {
5430
- qt(!0), x(!0);
5431
- }, copied: null }) }) : null, Je = D.wordSync ? Go(se, D.idx, D.t) ? se[D.idx] : void 0 : se[D.idx];
5432
+ /* @__PURE__ */ i("div", { className: "vsp-poster", "aria-hidden": "true", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)`, opacity: Ki ? 0 : 1 }, children: !D.playing && /* @__PURE__ */ i("span", { className: "vsp-poster__play", children: /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "42%", height: "42%", fill: "currentColor", style: { marginLeft: "6%" }, children: Zr }) }) })
5433
+ ] }), Bs = At && Qe && !P ? /* @__PURE__ */ i(Ll, { ytId: Qe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: $s, children: /* @__PURE__ */ i(oc, { pos: Es, transport: Ps, chip: Rn({ ...Un, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Qs, onFull: () => {
5434
+ qt(!0), b(!0);
5435
+ }, copied: null }) }) : null, Je = D.wordSync ? Zo(se, D.idx, D.t) ? se[D.idx] : void 0 : se[D.idx];
5432
5436
  for (const T of se) for (const [pe, Re] of Object.entries(T.translations)) Re && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Re);
5433
- const Hs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Pn = (T, pe) => !T || !pe || T.language === pe || !!Hs(T, pe), mt = Pn(Je, re) ? re : Pn(Je, $.current) ? $.current : re;
5434
- Je && Pn(Je, mt) && ($.current = mt);
5435
- const Vs = Je && mt && Je.language !== mt ? Hs(Je, mt) : null, Ji = Je && Vs && mt && !Je.translations[mt] ? Object.assign([...se], { [D.idx]: { ...Je, translations: { ...Je.translations, [mt]: Vs } } }) : se, on = Je ? Ci(Ji, D.idx, mt) : [], ln = Le ? Le === "on" : !u || ne.on || !$e || $e === ee, Ws = ln ? Gr(D, D.idx, on) : null, Fs = on.map((T, pe) => ({ t: T.text, sp: pe < on.length - 1 ? " " : "", dim: Ws != null && pe > Ws })), cn = le ? le === "on" : u ? !1 : zo(G, se, ue == null ? void 0 : ue.settings), Gs = { lang: re, subtitles: we, speakerLabels: cn, wordHighlight: ln, translateAudio: Be, voices: ye ? "cloned" : "synthetic", removeBackground: H }, Xi = JSON.stringify(Gs), un = z(t.onSettingsChange);
5437
+ const Hs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Pn = (T, pe) => !T || !pe || T.language === pe || !!Hs(T, pe), yt = Pn(Je, re) ? re : Pn(Je, $.current) ? $.current : re;
5438
+ Je && Pn(Je, yt) && ($.current = yt);
5439
+ const Vs = Je && yt && Je.language !== yt ? Hs(Je, yt) : null, Xi = Je && Vs && yt && !Je.translations[yt] ? Object.assign([...se], { [D.idx]: { ...Je, translations: { ...Je.translations, [yt]: Vs } } }) : se, on = Je ? bi(Xi, D.idx, yt) : [], ln = Le ? Le === "on" : !u || ne.on || !$e || $e === ee, Ws = ln ? Gr(D, D.idx, on) : null, Fs = on.map((T, pe) => ({ t: T.text, sp: pe < on.length - 1 ? " " : "", dim: Ws != null && pe > Ws })), cn = le ? le === "on" : u ? !1 : Io(G, se, ue == null ? void 0 : ue.settings), Gs = { lang: re, subtitles: we, speakerLabels: cn, wordHighlight: ln, translateAudio: Be, voices: ye ? "cloned" : "synthetic", removeBackground: H }, ea = JSON.stringify(Gs), un = z(t.onSettingsChange);
5436
5440
  un.current = t.onSettingsChange, Y(() => {
5437
5441
  var T;
5438
5442
  (T = un.current) == null || T.call(un, Gs);
5439
- }, [Xi]);
5440
- const dn = Je && Je.speaker >= 0 && cn ? Is(G, Je.speaker) : null, [ea, Zs] = O(!1), [Qn, qs] = O(null), [ta, Ks] = O(null), $n = z(void 0);
5443
+ }, [ea]);
5444
+ const dn = Je && Je.speaker >= 0 && cn ? Is(G, Je.speaker) : null, [ta, Zs] = O(!1), [Qn, qs] = O(null), [na, Ks] = O(null), $n = z(void 0);
5441
5445
  Y(() => () => window.clearTimeout($n.current), []);
5442
5446
  const Bn = z(void 0);
5443
5447
  Y(() => () => window.clearTimeout(Bn.current), []);
@@ -5461,11 +5465,11 @@ function Yc(t) {
5461
5465
  const T = Mn.current;
5462
5466
  T == null || !D.playing || (Mn.current = null, Math.abs(D.t - T) > 2 && Hn(T));
5463
5467
  }, [D.playing]);
5464
- const na = (T) => {
5468
+ const sa = (T) => {
5465
5469
  et.current = !0, Mn.current = null, Hn(Math.max(0, T));
5466
5470
  };
5467
5471
  t.handle.current = {
5468
- seek: (T) => na(T),
5472
+ seek: (T) => sa(T),
5469
5473
  play: () => {
5470
5474
  et.current = !0, Ze.current.playing || Ze.current.toggle();
5471
5475
  },
@@ -5474,6 +5478,9 @@ function Yc(t) {
5474
5478
  },
5475
5479
  toggle: () => {
5476
5480
  et.current = !0, Ze.current.toggle();
5481
+ },
5482
+ toggleMute: () => {
5483
+ vt(!1), Ze.current.toggleMute();
5477
5484
  }
5478
5485
  }, Y(() => () => {
5479
5486
  t.handle.current = null;
@@ -5486,68 +5493,68 @@ function Yc(t) {
5486
5493
  const pe = () => {
5487
5494
  const Fe = er.current;
5488
5495
  if (!Fe) return;
5489
- const yt = Ze.current, gt = { t: yt.t, dur: yt.dur, playing: yt.playing, idx: yt.idx, seekN: yt.seekN, lang: tr.current }, Nn = `${gt.t.toFixed(2)}|${gt.dur}|${gt.playing}|${gt.idx}|${gt.seekN}|${gt.lang}`;
5490
- Nn !== T && (T = Nn, Fe(gt));
5496
+ const ft = Ze.current, Mt = { t: ft.t, dur: ft.dur, playing: ft.playing, idx: ft.idx, seekN: ft.seekN, lang: tr.current, muted: ft.muted }, Nn = `${Mt.t.toFixed(2)}|${Mt.dur}|${Mt.playing}|${Mt.idx}|${Mt.seekN}|${Mt.lang}|${Mt.muted}`;
5497
+ Nn !== T && (T = Nn, Fe(Mt));
5491
5498
  };
5492
5499
  pe();
5493
5500
  const Re = window.setInterval(pe, Ac);
5494
5501
  return () => window.clearInterval(Re);
5495
5502
  }, []);
5496
- const sa = () => bs(Js(null), Ke, () => {
5503
+ const ra = () => bs(Js(null), Ke, () => {
5497
5504
  window.clearTimeout(Bn.current), Zs(!0), Bn.current = window.setTimeout(() => Zs(!1), 2200);
5498
5505
  }), nr = (T, pe, Re) => {
5499
- const Fe = gs.find((Nn) => Nn.key === T), yt = Qn === T, gt = ta === T;
5500
- return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": yt || void 0, style: Qn && !yt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5506
+ const Fe = hs.find((Nn) => Nn.key === T), ft = Qn === T, Mt = na === T;
5507
+ return /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", "aria-busy": ft || void 0, style: Qn && !ft ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5501
5508
  Qn || (qs(T), Promise.resolve().then(() => lt(T)).then(() => {
5502
5509
  Ks(T), window.clearTimeout($n.current), $n.current = window.setTimeout(() => Ks(null), 1600);
5503
5510
  }).catch(() => {
5504
5511
  }).finally(() => qs(null)));
5505
5512
  }, children: [
5506
- yt ? /* @__PURE__ */ i(ct, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: Fe.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5513
+ ft ? /* @__PURE__ */ i(ct, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(de, { d: Fe.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
5507
5514
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5508
5515
  /* @__PURE__ */ i("div", { className: "srow__t", children: pe }),
5509
5516
  /* @__PURE__ */ i("div", { className: "srow__s", children: Re })
5510
5517
  ] }),
5511
- /* @__PURE__ */ i(de, { d: gt ? q.check : q.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: gt ? "var(--brand)" : "var(--ink-62)" } })
5518
+ /* @__PURE__ */ i(de, { d: Mt ? q.check : q.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: Mt ? "var(--brand)" : "var(--ink-62)" } })
5512
5519
  ] });
5513
- }, ra = /* @__PURE__ */ f("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5520
+ }, ia = /* @__PURE__ */ f("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5514
5521
  " ",
5515
5522
  /* @__PURE__ */ f("button", { type: "button", onClick: () => oe("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
5516
5523
  /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 18, sw: 1.8 }),
5517
5524
  "Back"
5518
5525
  ] })
5519
- ] }), hn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[I], gn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Vn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ia, titleNode: I === "main" ? void 0 : ra, doneLabel: Ut.done, kind: I === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: I === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
5526
+ ] }), gn = /* @__PURE__ */ i(de, { d: q.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[I], hn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Vn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: aa, titleNode: I === "main" ? void 0 : ia, doneLabel: Ut.done, kind: I === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(os, { children: I === "lang" ? /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column" }, children: [
5520
5527
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: _s.search }),
5521
5528
  _s.list
5522
- ] }) : I === "subs" ? /* @__PURE__ */ f("div", { style: gn, children: [
5529
+ ] }) : I === "subs" ? /* @__PURE__ */ f("div", { style: hn, children: [
5523
5530
  /* @__PURE__ */ f("div", { className: "srow", children: [
5524
5531
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5525
5532
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show subtitles" }),
5526
5533
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Captions over the video" })
5527
5534
  ] }),
5528
- /* @__PURE__ */ i(ft, { checked: we, onChange: Ee, label: "Show subtitles" })
5535
+ /* @__PURE__ */ i(Nt, { checked: we, onChange: Ee, label: "Show subtitles" })
5529
5536
  ] }),
5530
5537
  /* @__PURE__ */ f("div", { className: "srow", children: [
5531
5538
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5532
5539
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Show speaker labels" }),
5533
5540
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Who is speaking, before each line" })
5534
5541
  ] }),
5535
- /* @__PURE__ */ i(ft, { checked: cn, onChange: (T) => ve(T ? "on" : "off"), label: "Show speaker labels" })
5542
+ /* @__PURE__ */ i(Nt, { checked: cn, onChange: (T) => ve(T ? "on" : "off"), label: "Show speaker labels" })
5536
5543
  ] }),
5537
5544
  /* @__PURE__ */ f("div", { className: "srow", children: [
5538
5545
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5539
5546
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Highlight words" }),
5540
5547
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Follow each word as it is spoken" })
5541
5548
  ] }),
5542
- /* @__PURE__ */ i(ft, { checked: ln, onChange: (T) => Te(T ? "on" : "off"), label: "Highlight words" })
5549
+ /* @__PURE__ */ i(Nt, { checked: ln, onChange: (T) => Te(T ? "on" : "off"), label: "Highlight words" })
5543
5550
  ] })
5544
- ] }) : I === "audio" ? /* @__PURE__ */ f("div", { style: gn, children: [
5551
+ ] }) : I === "audio" ? /* @__PURE__ */ f("div", { style: hn, children: [
5545
5552
  /* @__PURE__ */ f("div", { className: "srow", children: [
5546
5553
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5547
5554
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Translate audio" }),
5548
5555
  /* @__PURE__ */ i("div", { className: "srow__s", children: re ? Dn ? "Hear the translation read aloud instead of the original speech" : ne.canSpeak ? "Not available right now" : "Not available in this language" : "Pick a language to hear the translation read aloud" })
5549
5556
  ] }),
5550
- /* @__PURE__ */ i(ft, { checked: _n, onChange: Oe, label: "Translate audio", disabled: !Dn || !re })
5557
+ /* @__PURE__ */ i(Nt, { checked: _n, onChange: Oe, label: "Translate audio", disabled: !Dn || !re })
5551
5558
  ] }),
5552
5559
  _n && ne.hasClone && /* @__PURE__ */ f("div", { className: "srow", children: [
5553
5560
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5559,35 +5566,35 @@ function Yc(t) {
5559
5566
  /* @__PURE__ */ f("div", { className: "srow", children: [
5560
5567
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5561
5568
  /* @__PURE__ */ i("div", { className: "srow__t", children: Ln }),
5562
- /* @__PURE__ */ i("div", { className: "srow__s", children: Wa(H, Yn, "video", ne.on ? 0 : An.untilS) })
5569
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Fa(H, Yn, "video", ne.on ? 0 : An.untilS) })
5563
5570
  ] }),
5564
- /* @__PURE__ */ i(ft, { checked: H && ot, onChange: X, label: Ln, disabled: !ot || Yn === "unavailable" && !H })
5571
+ /* @__PURE__ */ i(Nt, { checked: H && ot, onChange: X, label: Ln, disabled: !ot || Yn === "unavailable" && !H })
5565
5572
  ] })
5566
- ] }) : I === "export" ? /* @__PURE__ */ f("div", { style: gn, children: [
5573
+ ] }) : I === "export" ? /* @__PURE__ */ f("div", { style: hn, children: [
5567
5574
  nr("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
5568
5575
  nr("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
5569
- ] }) : /* @__PURE__ */ i("div", { style: gn, children: [
5576
+ ] }) : /* @__PURE__ */ i("div", { style: hn, children: [
5570
5577
  _e.can && R.language && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("lang"), children: [
5571
5578
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5572
5579
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
5573
5580
  /* @__PURE__ */ i("div", { className: "srow__s", children: re ? `Translated to ${_e.label ?? re.toUpperCase()}` : "Original language" })
5574
5581
  ] }),
5575
5582
  /* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: _e.flag }),
5576
- hn
5583
+ gn
5577
5584
  ] }, "lang"),
5578
5585
  R.subtitles && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("subs"), children: [
5579
5586
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5580
5587
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
5581
5588
  /* @__PURE__ */ i("div", { className: "srow__s", children: we ? "On · speaker labels and word highlighting" : "Off" })
5582
5589
  ] }),
5583
- hn
5590
+ gn
5584
5591
  ] }, "subs"),
5585
5592
  R.audio && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("audio"), children: [
5586
5593
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
5587
5594
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5588
- /* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
5595
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Gi })
5589
5596
  ] }),
5590
- hn
5597
+ gn
5591
5598
  ] }, "audio"),
5592
5599
  R.export && Vt && !!B && /* @__PURE__ */ f("div", { className: "srow srow--tap", role: "button", onClick: () => oe("export"), children: [
5593
5600
  /* @__PURE__ */ f("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5597,7 +5604,7 @@ function Yc(t) {
5597
5604
  ] }),
5598
5605
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
5599
5606
  ] }),
5600
- hn
5607
+ gn
5601
5608
  ] }, "export")
5602
5609
  ].filter(Boolean).flatMap((T, pe) => pe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${pe}`), T] : [T]) }) }) }) : /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: Ut.settings, doneLabel: Ut.done, drawer: r, children: /* @__PURE__ */ f("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
5603
5610
  _e.can && /* @__PURE__ */ f(Pe, { children: [
@@ -5615,8 +5622,8 @@ function Yc(t) {
5615
5622
  /* @__PURE__ */ i("div", { className: "sdiv" })
5616
5623
  ] }),
5617
5624
  t.settingsExtra
5618
- ] }) }), zt = P && At && Qe && /* @__PURE__ */ i(
5619
- Si,
5625
+ ] }) }), It = P && At && Qe && /* @__PURE__ */ i(
5626
+ Ai,
5620
5627
  {
5621
5628
  page: (t.layout ?? "embed") === "page",
5622
5629
  picture: $s,
@@ -5627,7 +5634,7 @@ function Yc(t) {
5627
5634
  cc: R.subtitles ? { on: we, onToggle: () => Ee((T) => !T) } : void 0,
5628
5635
  noFull: !R.fullscreen,
5629
5636
  ad: In,
5630
- wait: tt && !Sn ? /* @__PURE__ */ i(fc, { state: tt, line: an ? Fs.map((T) => T.t + T.sp).join("") : null, onRetry: Gi, onOriginal: Zi }) : D.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5637
+ wait: tt && !Sn ? /* @__PURE__ */ i(fc, { state: tt, line: an ? Fs.map((T) => T.t + T.sp).join("") : null, onRetry: Zi, onOriginal: qi }) : D.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
5631
5638
  pct: Ce ? Math.round(U) : null,
5632
5639
  sub: we && Je ? { who: dn ? zs(G, Je.speaker) : null, color: dn ? dn.fg ?? `var(--lane-${dn.lane})` : "#fff", words: Fs, cursor: Gr(D, D.idx, on) } : null,
5633
5640
  chip: Rn(r ? Un : { ...Un, width: 64, padding: "0 6px" }, r ? void 0 : "sm"),
@@ -5637,12 +5644,12 @@ function Yc(t) {
5637
5644
  voices: null,
5638
5645
  voicesBtn: u ? null : Qs,
5639
5646
  sheetOpen: ne.sheetsOpen || j,
5640
- onShare: u && R.share ? sa : void 0,
5647
+ onShare: u && R.share ? ra : void 0,
5641
5648
  onSettings: u && R.settings ? () => {
5642
5649
  ne.closePicker(), S((T) => !T);
5643
5650
  } : void 0,
5644
5651
  paused: t.compact ? null : { title: Ke, summary: St.state === "ready" ? St.summary ?? null : null, share: R.share ? { url: Js, at: D.t } : null },
5645
- copied: ea ? /* @__PURE__ */ f("div", { className: "gfull__toast", "aria-live": "polite", children: [
5652
+ copied: ta ? /* @__PURE__ */ f("div", { className: "gfull__toast", "aria-live": "polite", children: [
5646
5653
  /* @__PURE__ */ i(de, { d: q.check, size: 13, sw: 2 }),
5647
5654
  "Link copied"
5648
5655
  ] }) : en ? /* @__PURE__ */ f("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
@@ -5651,7 +5658,7 @@ function Yc(t) {
5651
5658
  ] }) : Ys ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5652
5659
  /* @__PURE__ */ i(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5653
5660
  Ys
5654
- ] }) : ne.on && (He ? Ot.missing != null : D.silent) ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5661
+ ] }) : ne.on && (He ? Ct.missing != null : D.silent) ? /* @__PURE__ */ f("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
5655
5662
  /* @__PURE__ */ i(ct, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
5656
5663
  `${rn || "Translated"} voice is still being prepared · playing with subtitles`
5657
5664
  ] }) : null,
@@ -5659,12 +5666,12 @@ function Yc(t) {
5659
5666
  qt(!0), Cn();
5660
5667
  },
5661
5668
  onClose: u ? void 0 : () => {
5662
- qt(!1), x(!1);
5669
+ qt(!1), b(!1);
5663
5670
  }
5664
5671
  }
5665
5672
  );
5666
5673
  Y(() => {
5667
- !u && P && !At && (qt(!1), x(!1));
5674
+ !u && P && !At && (qt(!1), b(!1));
5668
5675
  }, [u, P, At]);
5669
5676
  const sr = Ce && /* @__PURE__ */ f("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
5670
5677
  /* @__PURE__ */ f("div", { className: "pubprog__row", children: [
@@ -5674,20 +5681,20 @@ function Yc(t) {
5674
5681
  /* @__PURE__ */ i("span", { className: "s", children: Ft })
5675
5682
  ] }),
5676
5683
  !r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
5677
- ] }), Wn = s && /* @__PURE__ */ i("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." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: Ct, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: jt, wordHl: ln }), Fn = /* @__PURE__ */ i(Jo, { error: g ?? me ?? (xn && P ? null : D.error) ?? ne.error, onClose: () => {
5684
+ ] }), Wn = s && /* @__PURE__ */ i("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." }), rr = /* @__PURE__ */ i(ql, { model: G, rows: se, player: D, tail: Wt, tailFg: it, running: Ce, desk: r, feedRef: bt, listener: !0, showLabels: cn, find: p, findOpen: !r && w, lang: $e, warm: Q, onVisible: zt, wordHl: ln }), Fn = /* @__PURE__ */ i(Xo, { error: h ?? me ?? (xn && P ? null : D.error) ?? ne.error, onClose: () => {
5678
5685
  M(null), V(), D.clearError(), ne.clearError();
5679
5686
  } }), ir = [W ? Tt(W) : null, ee ? ee.toUpperCase() : null, fe || "Read-only copy"].filter(Boolean).join(" · "), ar = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: ne.noVoice ? ne.noVoiceNote : /* @__PURE__ */ f(Pe, { children: [
5680
5687
  /* @__PURE__ */ f("div", { className: "ctrans__row", children: [
5681
5688
  /* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
5682
5689
  /* @__PURE__ */ f("div", { className: "ctrans__mid", children: [
5683
5690
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: D.idx <= 0 ? 0.3 : 1 }, onClick: D.prev, children: /* @__PURE__ */ i(de, { d: q.chevronLeft, size: 16, sw: 1.8 }) }),
5684
- /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": ne.relang ? "Preparing audio" : D.playing ? "Pause" : "Play", title: ne.relang ? "Preparing audio…" : ne.playTitle ?? (D.playing ? "Pause" : "Play"), disabled: !kt, onClick: D.toggle, children: ne.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: D.playing ? void 0 : { marginLeft: 2 }, children: D.playing ? El : Yl }) }),
5691
+ /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": ne.relang ? "Preparing audio" : D.playing ? "Pause" : "Play", title: ne.relang ? "Preparing audio…" : ne.playTitle ?? (D.playing ? "Pause" : "Play"), disabled: !kt, onClick: D.toggle, children: ne.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: D.playing ? void 0 : { marginLeft: 2 }, children: D.playing ? Yl : Zr }) }),
5685
5692
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: D.idx >= se.length - 1 ? 0.3 : 1 }, onClick: D.next, children: /* @__PURE__ */ i(de, { d: q.chevronRight, size: 16, sw: 1.8 }) })
5686
5693
  ] }),
5687
5694
  /* @__PURE__ */ i("span", { className: "ctrans__mute", children: sn(36) })
5688
5695
  ] }),
5689
- /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: $i(T) })
5690
- ] }) }), aa = vl("ga", { tabs: Rt, cur: N, pref: (Dr = Rt[0]) == null ? void 0 : Dr.key, onPick: m }), or = Math.max(0, Math.min(100, Math.round(U))), oa = _ && /* @__PURE__ */ f("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5696
+ /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Bi(T) })
5697
+ ] }) }), oa = jl("ga", { tabs: Rt, cur: N, pref: (Dr = Rt[0]) == null ? void 0 : Dr.key, onPick: m }), or = Math.max(0, Math.min(100, Math.round(U))), la = _ && /* @__PURE__ */ f("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5691
5698
  Qe && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Qe}/hqdefault.jpg)` } }),
5692
5699
  /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ f(Pe, { children: [
5693
5700
  Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
@@ -5704,16 +5711,16 @@ function Yc(t) {
5704
5711
  var T;
5705
5712
  (T = fn.current) == null || T.call(fn, lr);
5706
5713
  }, [lr]);
5707
- const [la, Gn] = O(!1), Zn = !!zt && !_ && (He ? !!D.ended : !D.playing && D.dur > 0 && D.t >= D.dur - 0.5);
5714
+ const [ca, Gn] = O(!1), Zn = !!It && !_ && (He ? !!D.ended : !D.playing && D.dur > 0 && D.t >= D.dur - 0.5);
5708
5715
  Y(() => {
5709
5716
  Zn || Gn(!1);
5710
5717
  }, [Zn]);
5711
- const ca = t.endCard !== !1 && Zn && !la && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Gn(!0), onReplay: () => {
5718
+ const ua = t.endCard !== !1 && Zn && !ca && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Gn(!0), onReplay: () => {
5712
5719
  Gn(!0), et.current = !0, D.seekFrac ? D.seekFrac(0) : D.seekRow(0), D.playing || D.toggle();
5713
5720
  } });
5714
5721
  if (u) return /* @__PURE__ */ f(Pe, { children: [
5715
- s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) : oa || zt || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5716
- ca,
5722
+ s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Wn }) : la || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5723
+ ua,
5717
5724
  Fn
5718
5725
  ] });
5719
5726
  if (r) {
@@ -5741,28 +5748,28 @@ function Yc(t) {
5741
5748
  Ss
5742
5749
  ] })
5743
5750
  ] }),
5744
- pe && /* @__PURE__ */ f(Il, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5751
+ pe && /* @__PURE__ */ f(Ol, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5745
5752
  !ne.sidePanel && T,
5746
5753
  !ne.sidePanel && Bs,
5747
- !ne.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(jl, { col: aa, order: ["summary", "export"], onPick: m, grip: { summary: 40, export: 28 }, render: (Re) => /* @__PURE__ */ i(Sr, { panel: !0, children: As(Re) }) }) }),
5754
+ !ne.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(zl, { col: oa, order: ["summary", "export"], onPick: m, grip: { summary: 40, export: 28 }, render: (Re) => /* @__PURE__ */ i(Sr, { panel: !0, children: As(Re) }) }) }),
5748
5755
  ne.sidePanel
5749
5756
  ] })
5750
5757
  ] }),
5751
- !zt && ne.sheets,
5752
- !(u && zt) && Vn,
5753
- zt,
5758
+ !It && ne.sheets,
5759
+ !(u && It) && Vn,
5760
+ It,
5754
5761
  Fn
5755
5762
  ] });
5756
5763
  }
5757
- const ua = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ f(Sr, { panel: !0, children: [
5758
- /* @__PURE__ */ i(Ii, { tabs: Rt, current: N, onPick: m, gap: N !== "none" }),
5764
+ const da = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ f(Sr, { panel: !0, children: [
5765
+ /* @__PURE__ */ i(Oi, { tabs: Rt, current: N, onPick: m, gap: N !== "none" }),
5759
5766
  N !== "none" && As(N)
5760
5767
  ] }) });
5761
5768
  return /* @__PURE__ */ f(Pe, { children: [
5762
5769
  /* @__PURE__ */ i(cc, { dark: a, title: n ? Ke : "", subline: n ? ir : "", onOptions: () => S(!0), optionsActive: j }),
5763
5770
  Wn,
5764
5771
  sr,
5765
- !s && ua,
5772
+ !s && da,
5766
5773
  !s && Bs,
5767
5774
  !s && /* @__PURE__ */ f("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5768
5775
  Ht,
@@ -5776,60 +5783,60 @@ function Yc(t) {
5776
5783
  /* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Ss })
5777
5784
  ] })
5778
5785
  ] }),
5779
- !zt && ne.sheets,
5780
- !(u && zt) && Vn,
5781
- zt,
5786
+ !It && ne.sheets,
5787
+ !(u && It) && Vn,
5788
+ It,
5782
5789
  Fn
5783
5790
  ] });
5784
5791
  }
5785
5792
  export {
5786
- pl as ExportPanel,
5787
- Si as FullVideo,
5793
+ ml as ExportPanel,
5794
+ Ai as FullVideo,
5788
5795
  oc as MiniPlayer,
5789
5796
  _l as MuteButton,
5790
5797
  Wl as NO_SEEK,
5791
- El as PAUSE_D,
5792
- Yl as PLAY_D,
5798
+ Yl as PAUSE_D,
5799
+ Zr as PLAY_D,
5793
5800
  Gl as PUB_SIDE,
5794
5801
  Vc as PanelSeek,
5795
- Oo as PlayerApiProvider,
5802
+ Co as PlayerApiProvider,
5796
5803
  Ln as REMOVE_BG_LABEL,
5797
- Ha as REMOVE_BG_NOTE,
5798
- Xo as ReplayScrub,
5799
- ol as SpeakerCast,
5800
- Tl as SummaryPanel,
5804
+ Va as REMOVE_BG_NOTE,
5805
+ el as ReplayScrub,
5806
+ ll as SpeakerCast,
5807
+ wl as SummaryPanel,
5801
5808
  Hc as Transport,
5802
5809
  Kl as TxFind,
5803
5810
  ql as TxLines,
5804
5811
  Wc as VocalStackPlayer,
5805
- ll as VoiceSheetBody,
5806
- Al as YtFollow,
5807
- Wa as bedNote,
5812
+ cl as VoiceSheetBody,
5813
+ El as YtFollow,
5814
+ Fa as bedNote,
5808
5815
  qt as browserFull,
5809
5816
  Et as lineEnd,
5810
- Ci as lineWords,
5817
+ bi as lineWords,
5811
5818
  ss as pictureT,
5812
5819
  yn as placePosition,
5813
5820
  Tn as realFull,
5814
5821
  Bc as setErrorReporter,
5815
- qr as setFullTarget,
5816
- Sl as snapPosition,
5822
+ Kr as setFullTarget,
5823
+ Al as snapPosition,
5817
5824
  Gr as spokenWordOf,
5818
- Fa as trackPlan,
5819
- Ti as useApi,
5825
+ Ga as trackPlan,
5826
+ wi as useApi,
5820
5827
  hl as useArchiveVoice,
5821
- no as useBackgroundBed,
5828
+ so as useBackgroundBed,
5822
5829
  $l as useDuck,
5823
5830
  Jl as useFindPull,
5824
5831
  Ul as useFlash,
5825
5832
  Yt as usePlayerApi,
5826
- fi as useSeparatedTrack,
5827
- ml as useSummaryIn,
5828
- Ro as useTranscript,
5833
+ Ni as useSeparatedTrack,
5834
+ yl as useSummaryIn,
5835
+ Po as useTranscript,
5829
5836
  Hl as useTxPlayer,
5830
5837
  Zl as useTxVoice,
5831
- sl as useViewportTranslation,
5832
- dl as useVoiceCatalogue,
5838
+ rl as useViewportTranslation,
5839
+ Ml as useVoiceCatalogue,
5833
5840
  Bl as useYtLead
5834
5841
  };
5835
5842
  //# sourceMappingURL=index.js.map