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