@shotstack/shotstack-studio 2.0.0-beta.37 → 2.0.0-beta.39
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/internal.es.js +675 -665
- package/dist/internal.umd.js +9 -9
- package/dist/shotstack-studio.es.js +427 -418
- package/dist/shotstack-studio.umd.js +101 -101
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as G from "pixi.js";
|
|
2
2
|
import { Filter as og, deprecation as lg, GpuProgram as cg, GlProgram as dg, Color as ug } from "pixi.js";
|
|
3
3
|
import * as fg from "howler";
|
|
4
|
-
import * as
|
|
4
|
+
import * as Vl from "opentype.js";
|
|
5
5
|
import "pixi.js/app";
|
|
6
6
|
import "pixi.js/events";
|
|
7
7
|
import "pixi.js/graphics";
|
|
@@ -10,7 +10,7 @@ import "pixi.js/text-html";
|
|
|
10
10
|
import "pixi.js/sprite-tiling";
|
|
11
11
|
import "pixi.js/filters";
|
|
12
12
|
import "pixi.js/mesh";
|
|
13
|
-
const hg = "2.0.0-beta.
|
|
13
|
+
const hg = "2.0.0-beta.39", pg = {
|
|
14
14
|
version: hg
|
|
15
15
|
};
|
|
16
16
|
class gg {
|
|
@@ -534,6 +534,8 @@ const W = {
|
|
|
534
534
|
CanvasBackgroundClicked: "canvas:backgroundClicked",
|
|
535
535
|
// Font capability detection
|
|
536
536
|
FontCapabilitiesChanged: "font:capabilitiesChanged",
|
|
537
|
+
// Toolbar updates
|
|
538
|
+
ToolbarButtonsChanged: "toolbar:buttonsChanged",
|
|
537
539
|
// Resolution - document to resolved edit transformation
|
|
538
540
|
Resolved: "resolved",
|
|
539
541
|
// Edit → Canvas visual sync
|
|
@@ -603,7 +605,7 @@ function vg(s, e, t) {
|
|
|
603
605
|
function dd(s) {
|
|
604
606
|
return s * 1e3;
|
|
605
607
|
}
|
|
606
|
-
function
|
|
608
|
+
function _l(s) {
|
|
607
609
|
return s / 1e3;
|
|
608
610
|
}
|
|
609
611
|
function Ts(s) {
|
|
@@ -16621,7 +16623,7 @@ const Cn = [
|
|
|
16621
16623
|
weight: 400,
|
|
16622
16624
|
isVariable: !1
|
|
16623
16625
|
}
|
|
16624
|
-
],
|
|
16626
|
+
], Ml = new Map(Cn.map((s) => [s.filename, s])), fc = new Map(Cn.map((s) => [s.displayName, s])), dt = "https://templates.shotstack.io/basic/asset/font", Wr = {
|
|
16625
16627
|
Arapey: `${dt}/arapey-regular.ttf`,
|
|
16626
16628
|
"Clear Sans": `${dt}/clearsans-regular.ttf`,
|
|
16627
16629
|
"Clear Sans Bold": `${dt}/clearsans-bold.ttf`,
|
|
@@ -16675,7 +16677,7 @@ function os(s) {
|
|
|
16675
16677
|
return { baseFontFamily: s, fontWeight: 400 };
|
|
16676
16678
|
}
|
|
16677
16679
|
function kn(s) {
|
|
16678
|
-
const e =
|
|
16680
|
+
const e = Ml.get(s);
|
|
16679
16681
|
if (e)
|
|
16680
16682
|
return e.url;
|
|
16681
16683
|
if (Wr[s])
|
|
@@ -16903,7 +16905,7 @@ fn outlineMaxAlphaAtPos(uv: vec2<f32>) -> f32 {
|
|
|
16903
16905
|
}
|
|
16904
16906
|
|
|
16905
16907
|
const DOUBLE_PI: f32 = 3.14159265358979323846264 * 2.;`, Ug = Object.defineProperty, Zg = (s, e, t) => e in s ? Ug(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, Pi = (s, e, t) => (Zg(s, typeof e != "symbol" ? e + "" : e, t), t);
|
|
16906
|
-
const
|
|
16908
|
+
const eo = class Ii extends og {
|
|
16907
16909
|
/** @ignore */
|
|
16908
16910
|
constructor(...e) {
|
|
16909
16911
|
let t = e[0] ?? {};
|
|
@@ -17009,16 +17011,16 @@ const $n = class Ii extends og {
|
|
|
17009
17011
|
this.uniforms.uKnockout = e ? 1 : 0;
|
|
17010
17012
|
}
|
|
17011
17013
|
};
|
|
17012
|
-
Pi(
|
|
17014
|
+
Pi(eo, "DEFAULT_OPTIONS", {
|
|
17013
17015
|
thickness: 1,
|
|
17014
17016
|
color: 0,
|
|
17015
17017
|
alpha: 1,
|
|
17016
17018
|
quality: 0.1,
|
|
17017
17019
|
knockout: !1
|
|
17018
17020
|
});
|
|
17019
|
-
Pi(
|
|
17020
|
-
Pi(
|
|
17021
|
-
let pr =
|
|
17021
|
+
Pi(eo, "MIN_SAMPLES", 1);
|
|
17022
|
+
Pi(eo, "MAX_SAMPLES", 100);
|
|
17023
|
+
let pr = eo;
|
|
17022
17024
|
class Sn extends Ot {
|
|
17023
17025
|
static loadedFonts = /* @__PURE__ */ new Set();
|
|
17024
17026
|
cues = [];
|
|
@@ -17327,7 +17329,7 @@ const Gg = /* @__PURE__ */ new Set(["text-to-image", "image-to-video", "text-to-
|
|
|
17327
17329
|
function oi(s) {
|
|
17328
17330
|
return typeof s == "object" && s !== null && "type" in s && typeof s.type == "string" && Gg.has(s.type);
|
|
17329
17331
|
}
|
|
17330
|
-
function
|
|
17332
|
+
function Mo(s) {
|
|
17331
17333
|
return "id" in s && typeof s.id == "string";
|
|
17332
17334
|
}
|
|
17333
17335
|
const ud = /* @__PURE__ */ new WeakMap();
|
|
@@ -17336,12 +17338,12 @@ function qg(s) {
|
|
|
17336
17338
|
return e || (e = [...s].sort((t, i) => t.start - i.start), ud.set(s, e)), e;
|
|
17337
17339
|
}
|
|
17338
17340
|
function hc(s, e) {
|
|
17339
|
-
const t = s.find((n) =>
|
|
17340
|
-
if (!t || !
|
|
17341
|
+
const t = s.find((n) => Mo(n) && n.id === e);
|
|
17342
|
+
if (!t || !Mo(t) || !t.asset || !oi(t.asset)) return null;
|
|
17341
17343
|
const i = t.asset.type, a = qg(s);
|
|
17342
17344
|
let r = 0;
|
|
17343
17345
|
for (const n of a) {
|
|
17344
|
-
if (
|
|
17346
|
+
if (Mo(n) && n.id === e) break;
|
|
17345
17347
|
n.asset && oi(n.asset) && n.asset.type === i && (r += 1);
|
|
17346
17348
|
}
|
|
17347
17349
|
return r + 1;
|
|
@@ -17532,8 +17534,8 @@ function Jg(s) {
|
|
|
17532
17534
|
}
|
|
17533
17535
|
];
|
|
17534
17536
|
}
|
|
17535
|
-
const
|
|
17536
|
-
class
|
|
17537
|
+
const Lo = 64, us = 72, fd = 42;
|
|
17538
|
+
class Ll {
|
|
17537
17539
|
constructor(e) {
|
|
17538
17540
|
this.options = e, this.container = new G.Container(), this.build(), this.startAnimation();
|
|
17539
17541
|
}
|
|
@@ -17594,12 +17596,12 @@ class Ml {
|
|
|
17594
17596
|
* Render all aurora layers as vertical strip columns.
|
|
17595
17597
|
*/
|
|
17596
17598
|
drawAurora() {
|
|
17597
|
-
const { width: e, height: t } = this.options, i = this.time, a = e /
|
|
17599
|
+
const { width: e, height: t } = this.options, i = this.time, a = e / Lo;
|
|
17598
17600
|
for (const r of this.layers) {
|
|
17599
17601
|
r.graphics.clear();
|
|
17600
17602
|
const n = Math.sin(i * 0.3 + r.phase * 1.7) * 0.5 + 0.5, o = r.baseAlpha * (0.7 + 0.3 * n), l = i * r.scrollSpeed;
|
|
17601
|
-
for (let c = 0; c <
|
|
17602
|
-
const u = c /
|
|
17603
|
+
for (let c = 0; c < Lo; c += 1) {
|
|
17604
|
+
const u = c / Lo * Math.PI * 2 + l, f = Qg(u, i, r.phase, r.waves), p = (r.baseY + f) * t, g = 0.6 + 0.4 * Math.sin(u * 3.7 + i * 0.2 + r.phase * 2.3), w = r.rayHeight * t * g, C = 0.4 + 0.6 * (Math.sin(u * 5 + i * 0.15 + r.phase * 3.1) * 0.5 + 0.5) ** 0.7, v = o * C, k = c * a;
|
|
17603
17605
|
r.graphics.rect(k, p, a + 1, w), r.graphics.fill({ color: r.color, alpha: v });
|
|
17604
17606
|
}
|
|
17605
17607
|
}
|
|
@@ -17659,7 +17661,7 @@ class $g extends Ot {
|
|
|
17659
17661
|
await super.load();
|
|
17660
17662
|
const e = this.getDisplaySize(), t = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((o) => o.clips) ?? [], i = hc(t, this.clipId ?? ""), { asset: a } = this.clipConfiguration, r = oi(a) && a.prompt || "", n = oi(a) ? a.type : "image-to-video";
|
|
17661
17663
|
try {
|
|
17662
|
-
await this.loadTexture(), this.aiOverlay = new
|
|
17664
|
+
await this.loadTexture(), this.aiOverlay = new Ll({
|
|
17663
17665
|
mode: "badge",
|
|
17664
17666
|
icon: "video",
|
|
17665
17667
|
width: e.width,
|
|
@@ -17669,7 +17671,7 @@ class $g extends Ot {
|
|
|
17669
17671
|
assetType: n
|
|
17670
17672
|
});
|
|
17671
17673
|
} catch {
|
|
17672
|
-
this.placeholder = ah(e.width, e.height), this.contentContainer.addChild(this.placeholder), this.aiOverlay = new
|
|
17674
|
+
this.placeholder = ah(e.width, e.height), this.contentContainer.addChild(this.placeholder), this.aiOverlay = new Ll({
|
|
17673
17675
|
mode: "panel",
|
|
17674
17676
|
icon: "video",
|
|
17675
17677
|
width: e.width,
|
|
@@ -17813,10 +17815,10 @@ function oh(s) {
|
|
|
17813
17815
|
const e = Object.values(s).filter((i) => typeof i == "number");
|
|
17814
17816
|
return Object.entries(s).filter(([i, a]) => e.indexOf(+i) === -1).map(([i, a]) => a);
|
|
17815
17817
|
}
|
|
17816
|
-
function
|
|
17818
|
+
function Bl(s, e) {
|
|
17817
17819
|
return typeof e == "bigint" ? e.toString() : e;
|
|
17818
17820
|
}
|
|
17819
|
-
function
|
|
17821
|
+
function to(s) {
|
|
17820
17822
|
return {
|
|
17821
17823
|
get value() {
|
|
17822
17824
|
{
|
|
@@ -17887,7 +17889,7 @@ const lh = "captureStackTrace" in Error ? Error.captureStackTrace : (...s) => {
|
|
|
17887
17889
|
function gr(s) {
|
|
17888
17890
|
return typeof s == "object" && s !== null && !Array.isArray(s);
|
|
17889
17891
|
}
|
|
17890
|
-
const im =
|
|
17892
|
+
const im = to(() => {
|
|
17891
17893
|
if (typeof navigator < "u" && navigator?.userAgent?.includes("Cloudflare"))
|
|
17892
17894
|
return !1;
|
|
17893
17895
|
try {
|
|
@@ -18115,7 +18117,7 @@ const dh = (s, e) => {
|
|
|
18115
18117
|
}), Object.defineProperty(s, "issues", {
|
|
18116
18118
|
value: e,
|
|
18117
18119
|
enumerable: !1
|
|
18118
|
-
}), s.message = JSON.stringify(e,
|
|
18120
|
+
}), s.message = JSON.stringify(e, Bl, 2), Object.defineProperty(s, "toString", {
|
|
18119
18121
|
value: () => s.message,
|
|
18120
18122
|
enumerable: !1
|
|
18121
18123
|
});
|
|
@@ -18164,7 +18166,7 @@ const yc = (s) => (e, t, i, a) => {
|
|
|
18164
18166
|
throw lh(o, a?.callee), o;
|
|
18165
18167
|
}
|
|
18166
18168
|
return n.value;
|
|
18167
|
-
},
|
|
18169
|
+
}, so = (s) => (e, t, i) => {
|
|
18168
18170
|
const a = i ? { ...i, async: !1 } : { async: !1 }, r = e._zod.run({ value: t, issues: [] }, a);
|
|
18169
18171
|
if (r instanceof Promise)
|
|
18170
18172
|
throw new pa();
|
|
@@ -18172,26 +18174,26 @@ const yc = (s) => (e, t, i, a) => {
|
|
|
18172
18174
|
success: !1,
|
|
18173
18175
|
error: new (s ?? uh)(r.issues.map((n) => fi(n, a, ui())))
|
|
18174
18176
|
} : { success: !0, data: r.value };
|
|
18175
|
-
}, mm = /* @__PURE__ */
|
|
18177
|
+
}, mm = /* @__PURE__ */ so(fh), io = (s) => async (e, t, i) => {
|
|
18176
18178
|
const a = i ? Object.assign(i, { async: !0 }) : { async: !0 };
|
|
18177
18179
|
let r = e._zod.run({ value: t, issues: [] }, a);
|
|
18178
18180
|
return r instanceof Promise && (r = await r), r.issues.length ? {
|
|
18179
18181
|
success: !1,
|
|
18180
18182
|
error: new s(r.issues.map((n) => fi(n, a, ui())))
|
|
18181
18183
|
} : { success: !0, data: r.value };
|
|
18182
|
-
}, ym = /* @__PURE__ */
|
|
18184
|
+
}, ym = /* @__PURE__ */ io(fh), bm = (s) => (e, t, i) => {
|
|
18183
18185
|
const a = i ? Object.assign(i, { direction: "backward" }) : { direction: "backward" };
|
|
18184
18186
|
return yc(s)(e, t, a);
|
|
18185
18187
|
}, wm = (s) => (e, t, i) => yc(s)(e, t, i), vm = (s) => async (e, t, i) => {
|
|
18186
18188
|
const a = i ? Object.assign(i, { direction: "backward" }) : { direction: "backward" };
|
|
18187
18189
|
return bc(s)(e, t, a);
|
|
18188
18190
|
}, xm = (s) => async (e, t, i) => bc(s)(e, t, i), Cm = (s) => (e, t, i) => {
|
|
18189
|
-
const a = i ? Object.assign(i, { direction: "backward" }) : { direction: "backward" };
|
|
18190
|
-
return to(s)(e, t, a);
|
|
18191
|
-
}, km = (s) => (e, t, i) => to(s)(e, t, i), Sm = (s) => async (e, t, i) => {
|
|
18192
18191
|
const a = i ? Object.assign(i, { direction: "backward" }) : { direction: "backward" };
|
|
18193
18192
|
return so(s)(e, t, a);
|
|
18194
|
-
},
|
|
18193
|
+
}, km = (s) => (e, t, i) => so(s)(e, t, i), Sm = (s) => async (e, t, i) => {
|
|
18194
|
+
const a = i ? Object.assign(i, { direction: "backward" }) : { direction: "backward" };
|
|
18195
|
+
return io(s)(e, t, a);
|
|
18196
|
+
}, Am = (s) => async (e, t, i) => io(s)(e, t, i), Im = /^[cC][^\s-]{8,}$/, Tm = /^[0-9a-z]+$/, Em = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/, Nm = /^[0-9a-vA-V]{20}$/, Pm = /^[A-Za-z0-9]{27}$/, Fm = /^[a-zA-Z0-9_-]{21}$/, Vm = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/, _m = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/, gd = (s) => s ? new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${s}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`) : /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/, Mm = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/, Lm = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";
|
|
18195
18197
|
function Bm() {
|
|
18196
18198
|
return new RegExp(Lm, "u");
|
|
18197
18199
|
}
|
|
@@ -18399,7 +18401,7 @@ const qm = (s) => {
|
|
|
18399
18401
|
continue: !e.abort
|
|
18400
18402
|
});
|
|
18401
18403
|
};
|
|
18402
|
-
}),
|
|
18404
|
+
}), ao = /* @__PURE__ */ U("$ZodCheckStringFormat", (s, e) => {
|
|
18403
18405
|
var t, i;
|
|
18404
18406
|
Wt.init(s, e), s._zod.onattach.push((a) => {
|
|
18405
18407
|
const r = a._zod.bag;
|
|
@@ -18417,7 +18419,7 @@ const qm = (s) => {
|
|
|
18417
18419
|
}) : (i = s._zod).check ?? (i.check = () => {
|
|
18418
18420
|
});
|
|
18419
18421
|
}), iy = /* @__PURE__ */ U("$ZodCheckRegex", (s, e) => {
|
|
18420
|
-
|
|
18422
|
+
ao.init(s, e), s._zod.check = (t) => {
|
|
18421
18423
|
e.pattern.lastIndex = 0, !e.pattern.test(t.value) && t.issues.push({
|
|
18422
18424
|
origin: "string",
|
|
18423
18425
|
code: "invalid_format",
|
|
@@ -18429,9 +18431,9 @@ const qm = (s) => {
|
|
|
18429
18431
|
});
|
|
18430
18432
|
};
|
|
18431
18433
|
}), ay = /* @__PURE__ */ U("$ZodCheckLowerCase", (s, e) => {
|
|
18432
|
-
e.pattern ?? (e.pattern = Km),
|
|
18434
|
+
e.pattern ?? (e.pattern = Km), ao.init(s, e);
|
|
18433
18435
|
}), ry = /* @__PURE__ */ U("$ZodCheckUpperCase", (s, e) => {
|
|
18434
|
-
e.pattern ?? (e.pattern = Qm),
|
|
18436
|
+
e.pattern ?? (e.pattern = Qm), ao.init(s, e);
|
|
18435
18437
|
}), ny = /* @__PURE__ */ U("$ZodCheckIncludes", (s, e) => {
|
|
18436
18438
|
Wt.init(s, e);
|
|
18437
18439
|
const t = xa(e.includes), i = new RegExp(typeof e.position == "number" ? `^.{${e.position}}${t}` : t);
|
|
@@ -18604,7 +18606,7 @@ const uy = {
|
|
|
18604
18606
|
}), t;
|
|
18605
18607
|
};
|
|
18606
18608
|
}), ot = /* @__PURE__ */ U("$ZodStringFormat", (s, e) => {
|
|
18607
|
-
|
|
18609
|
+
ao.init(s, e), wc.init(s, e);
|
|
18608
18610
|
}), fy = /* @__PURE__ */ U("$ZodGUID", (s, e) => {
|
|
18609
18611
|
e.pattern ?? (e.pattern = _m), ot.init(s, e);
|
|
18610
18612
|
}), hy = /* @__PURE__ */ U("$ZodUUID", (s, e) => {
|
|
@@ -18924,7 +18926,7 @@ const Wy = /* @__PURE__ */ U("$ZodObject", (s, e) => {
|
|
|
18924
18926
|
}
|
|
18925
18927
|
});
|
|
18926
18928
|
}
|
|
18927
|
-
const i =
|
|
18929
|
+
const i = to(() => Ch(e));
|
|
18928
18930
|
Xe(s._zod, "propValues", () => {
|
|
18929
18931
|
const o = e.shape, l = {};
|
|
18930
18932
|
for (const c in o) {
|
|
@@ -18959,7 +18961,7 @@ const Wy = /* @__PURE__ */ U("$ZodObject", (s, e) => {
|
|
|
18959
18961
|
};
|
|
18960
18962
|
}), Hy = /* @__PURE__ */ U("$ZodObjectJIT", (s, e) => {
|
|
18961
18963
|
Wy.init(s, e);
|
|
18962
|
-
const t = s._zod.parse, i =
|
|
18964
|
+
const t = s._zod.parse, i = to(() => Ch(e)), a = (f) => {
|
|
18963
18965
|
const p = new dy(["shape", "payload", "ctx"]), g = i.value, w = (x) => {
|
|
18964
18966
|
const T = pd(x);
|
|
18965
18967
|
return `shape[${T}]._zod.run({ value: input[${T}], issues: [] }, ctx)`;
|
|
@@ -19086,7 +19088,7 @@ const Sh = /* @__PURE__ */ U("$ZodUnion", (s, e) => {
|
|
|
19086
19088
|
}
|
|
19087
19089
|
return a;
|
|
19088
19090
|
});
|
|
19089
|
-
const i =
|
|
19091
|
+
const i = to(() => {
|
|
19090
19092
|
const a = e.options, r = /* @__PURE__ */ new Map();
|
|
19091
19093
|
for (const n of a) {
|
|
19092
19094
|
const o = n._zod.propValues?.[e.discriminator];
|
|
@@ -19126,7 +19128,7 @@ const Sh = /* @__PURE__ */ U("$ZodUnion", (s, e) => {
|
|
|
19126
19128
|
return r instanceof Promise || n instanceof Promise ? Promise.all([r, n]).then(([l, c]) => bd(t, l, c)) : bd(t, r, n);
|
|
19127
19129
|
};
|
|
19128
19130
|
});
|
|
19129
|
-
function
|
|
19131
|
+
function Ol(s, e) {
|
|
19130
19132
|
if (s === e)
|
|
19131
19133
|
return { valid: !0, data: s };
|
|
19132
19134
|
if (s instanceof Date && e instanceof Date && +s == +e)
|
|
@@ -19134,7 +19136,7 @@ function Bl(s, e) {
|
|
|
19134
19136
|
if (va(s) && va(e)) {
|
|
19135
19137
|
const t = Object.keys(e), i = Object.keys(s).filter((r) => t.indexOf(r) !== -1), a = { ...s, ...e };
|
|
19136
19138
|
for (const r of i) {
|
|
19137
|
-
const n =
|
|
19139
|
+
const n = Ol(s[r], e[r]);
|
|
19138
19140
|
if (!n.valid)
|
|
19139
19141
|
return {
|
|
19140
19142
|
valid: !1,
|
|
@@ -19149,7 +19151,7 @@ function Bl(s, e) {
|
|
|
19149
19151
|
return { valid: !1, mergeErrorPath: [] };
|
|
19150
19152
|
const t = [];
|
|
19151
19153
|
for (let i = 0; i < s.length; i++) {
|
|
19152
|
-
const a = s[i], r = e[i], n =
|
|
19154
|
+
const a = s[i], r = e[i], n = Ol(a, r);
|
|
19153
19155
|
if (!n.valid)
|
|
19154
19156
|
return {
|
|
19155
19157
|
valid: !1,
|
|
@@ -19180,7 +19182,7 @@ function bd(s, e, t) {
|
|
|
19180
19182
|
const r = [...i].filter(([, o]) => o.l && o.r).map(([o]) => o);
|
|
19181
19183
|
if (r.length && a && s.issues.push({ ...a, keys: r }), oa(s))
|
|
19182
19184
|
return s;
|
|
19183
|
-
const n =
|
|
19185
|
+
const n = Ol(e.value, t.value);
|
|
19184
19186
|
if (!n.valid)
|
|
19185
19187
|
throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);
|
|
19186
19188
|
return s.value = n.data, s;
|
|
@@ -19765,7 +19767,7 @@ function Id(s, e) {
|
|
|
19765
19767
|
});
|
|
19766
19768
|
}
|
|
19767
19769
|
// @__NO_SIDE_EFFECTS__
|
|
19768
|
-
function
|
|
19770
|
+
function Bo(s, e) {
|
|
19769
19771
|
return new bh({
|
|
19770
19772
|
check: "less_than",
|
|
19771
19773
|
...pe(e),
|
|
@@ -19783,7 +19785,7 @@ function Td(s, e) {
|
|
|
19783
19785
|
});
|
|
19784
19786
|
}
|
|
19785
19787
|
// @__NO_SIDE_EFFECTS__
|
|
19786
|
-
function
|
|
19788
|
+
function Oo(s, e) {
|
|
19787
19789
|
return new wh({
|
|
19788
19790
|
check: "greater_than",
|
|
19789
19791
|
...pe(e),
|
|
@@ -20375,13 +20377,13 @@ const _w = (s, e) => {
|
|
|
20375
20377
|
},
|
|
20376
20378
|
addIssue: {
|
|
20377
20379
|
value: (t) => {
|
|
20378
|
-
s.issues.push(t), s.message = JSON.stringify(s.issues,
|
|
20380
|
+
s.issues.push(t), s.message = JSON.stringify(s.issues, Bl, 2);
|
|
20379
20381
|
}
|
|
20380
20382
|
// enumerable: false,
|
|
20381
20383
|
},
|
|
20382
20384
|
addIssues: {
|
|
20383
20385
|
value: (t) => {
|
|
20384
|
-
s.issues.push(...t), s.message = JSON.stringify(s.issues,
|
|
20386
|
+
s.issues.push(...t), s.message = JSON.stringify(s.issues, Bl, 2);
|
|
20385
20387
|
}
|
|
20386
20388
|
// enumerable: false,
|
|
20387
20389
|
},
|
|
@@ -20394,7 +20396,7 @@ const _w = (s, e) => {
|
|
|
20394
20396
|
});
|
|
20395
20397
|
}, $t = U("ZodError", _w, {
|
|
20396
20398
|
Parent: Error
|
|
20397
|
-
}), Mw = /* @__PURE__ */ yc($t), Lw = /* @__PURE__ */ bc($t), Bw = /* @__PURE__ */
|
|
20399
|
+
}), Mw = /* @__PURE__ */ yc($t), Lw = /* @__PURE__ */ bc($t), Bw = /* @__PURE__ */ so($t), Ow = /* @__PURE__ */ io($t), Rw = /* @__PURE__ */ bm($t), Dw = /* @__PURE__ */ wm($t), zw = /* @__PURE__ */ vm($t), Uw = /* @__PURE__ */ xm($t), Zw = /* @__PURE__ */ Cm($t), Ww = /* @__PURE__ */ km($t), Hw = /* @__PURE__ */ Sm($t), Gw = /* @__PURE__ */ Am($t), lt = /* @__PURE__ */ U("ZodType", (s, e) => (nt.init(s, e), Object.assign(s["~standard"], {
|
|
20398
20400
|
jsonSchema: {
|
|
20399
20401
|
input: Tn(s, "input"),
|
|
20400
20402
|
output: Tn(s, "output")
|
|
@@ -20406,7 +20408,7 @@ const _w = (s, e) => {
|
|
|
20406
20408
|
]
|
|
20407
20409
|
}), {
|
|
20408
20410
|
parent: !0
|
|
20409
|
-
}), s.with = s.check, s.clone = (t, i) => bi(s, t, i), s.brand = () => s, s.register = (t, i) => (t.add(s, i), s), s.parse = (t, i) => Mw(s, t, i, { callee: s.parse }), s.safeParse = (t, i) => Bw(s, t, i), s.parseAsync = async (t, i) => Lw(s, t, i, { callee: s.parseAsync }), s.safeParseAsync = async (t, i) => Ow(s, t, i), s.spa = s.safeParseAsync, s.encode = (t, i) => Rw(s, t, i), s.decode = (t, i) => Dw(s, t, i), s.encodeAsync = async (t, i) => zw(s, t, i), s.decodeAsync = async (t, i) => Uw(s, t, i), s.safeEncode = (t, i) => Zw(s, t, i), s.safeDecode = (t, i) => Ww(s, t, i), s.safeEncodeAsync = async (t, i) => Hw(s, t, i), s.safeDecodeAsync = async (t, i) => Gw(s, t, i), s.refine = (t, i) => s.check(O1(t, i)), s.superRefine = (t) => s.check(R1(t)), s.overwrite = (t) => s.check(/* @__PURE__ */ Ea(t)), s.optional = () => m(s), s.exactOptional = () => S1(s), s.nullable = () => Fd(s), s.nullish = () => m(Fd(s)), s.nonoptional = (t) => P1(s, t), s.array = () => Le(s), s.or = (t) => S([s, t]), s.and = (t) => w1(s, t), s.transform = (t) =>
|
|
20411
|
+
}), s.with = s.check, s.clone = (t, i) => bi(s, t, i), s.brand = () => s, s.register = (t, i) => (t.add(s, i), s), s.parse = (t, i) => Mw(s, t, i, { callee: s.parse }), s.safeParse = (t, i) => Bw(s, t, i), s.parseAsync = async (t, i) => Lw(s, t, i, { callee: s.parseAsync }), s.safeParseAsync = async (t, i) => Ow(s, t, i), s.spa = s.safeParseAsync, s.encode = (t, i) => Rw(s, t, i), s.decode = (t, i) => Dw(s, t, i), s.encodeAsync = async (t, i) => zw(s, t, i), s.decodeAsync = async (t, i) => Uw(s, t, i), s.safeEncode = (t, i) => Zw(s, t, i), s.safeDecode = (t, i) => Ww(s, t, i), s.safeEncodeAsync = async (t, i) => Hw(s, t, i), s.safeDecodeAsync = async (t, i) => Gw(s, t, i), s.refine = (t, i) => s.check(O1(t, i)), s.superRefine = (t) => s.check(R1(t)), s.overwrite = (t) => s.check(/* @__PURE__ */ Ea(t)), s.optional = () => m(s), s.exactOptional = () => S1(s), s.nullable = () => Fd(s), s.nullish = () => m(Fd(s)), s.nonoptional = (t) => P1(s, t), s.array = () => Le(s), s.or = (t) => S([s, t]), s.and = (t) => w1(s, t), s.transform = (t) => zl(s, Bh(t)), s.default = (t) => T1(s, t), s.prefault = (t) => N1(s, t), s.catch = (t) => V1(s, t), s.pipe = (t) => zl(s, t), s.readonly = () => L1(s), s.describe = (t) => {
|
|
20410
20412
|
const i = s.clone();
|
|
20411
20413
|
return Ja.add(i, { description: t }), i;
|
|
20412
20414
|
}, Object.defineProperty(s, "description", {
|
|
@@ -20470,7 +20472,7 @@ const ct = /* @__PURE__ */ U("ZodStringFormat", (s, e) => {
|
|
|
20470
20472
|
}), c1 = /* @__PURE__ */ U("ZodJWT", (s, e) => {
|
|
20471
20473
|
By.init(s, e), ct.init(s, e);
|
|
20472
20474
|
}), _h = /* @__PURE__ */ U("ZodNumber", (s, e) => {
|
|
20473
|
-
xh.init(s, e), lt.init(s, e), s._zod.processJSONSchema = (i, a, r) => aw(s, i, a), s.gt = (i, a) => s.check(/* @__PURE__ */ Td(i, a)), s.gte = (i, a) => s.check(/* @__PURE__ */
|
|
20475
|
+
xh.init(s, e), lt.init(s, e), s._zod.processJSONSchema = (i, a, r) => aw(s, i, a), s.gt = (i, a) => s.check(/* @__PURE__ */ Td(i, a)), s.gte = (i, a) => s.check(/* @__PURE__ */ Oo(i, a)), s.min = (i, a) => s.check(/* @__PURE__ */ Oo(i, a)), s.lt = (i, a) => s.check(/* @__PURE__ */ Id(i, a)), s.lte = (i, a) => s.check(/* @__PURE__ */ Bo(i, a)), s.max = (i, a) => s.check(/* @__PURE__ */ Bo(i, a)), s.int = (i) => s.check(Pd(i)), s.safe = (i) => s.check(Pd(i)), s.positive = (i) => s.check(/* @__PURE__ */ Td(0, i)), s.nonnegative = (i) => s.check(/* @__PURE__ */ Oo(0, i)), s.negative = (i) => s.check(/* @__PURE__ */ Id(0, i)), s.nonpositive = (i) => s.check(/* @__PURE__ */ Bo(0, i)), s.multipleOf = (i, a) => s.check(/* @__PURE__ */ Ed(i, a)), s.step = (i, a) => s.check(/* @__PURE__ */ Ed(i, a)), s.finite = () => s;
|
|
20474
20476
|
const t = s._zod.bag;
|
|
20475
20477
|
s.minValue = Math.max(t.minimum ?? Number.NEGATIVE_INFINITY, t.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null, s.maxValue = Math.min(t.maximum ?? Number.POSITIVE_INFINITY, t.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null, s.isInt = (t.format ?? "").includes("int") || Number.isSafeInteger(t.multipleOf ?? 0.5), s.isFinite = !0, s.format = t.format ?? null;
|
|
20476
20478
|
});
|
|
@@ -20492,7 +20494,7 @@ function st(s) {
|
|
|
20492
20494
|
const f1 = /* @__PURE__ */ U("ZodNull", (s, e) => {
|
|
20493
20495
|
Dy.init(s, e), lt.init(s, e), s._zod.processJSONSchema = (t, i, a) => nw(s, t, i);
|
|
20494
20496
|
});
|
|
20495
|
-
function
|
|
20497
|
+
function Rl(s) {
|
|
20496
20498
|
return /* @__PURE__ */ Ob(f1, s);
|
|
20497
20499
|
}
|
|
20498
20500
|
const h1 = /* @__PURE__ */ U("ZodUnknown", (s, e) => {
|
|
@@ -20537,7 +20539,7 @@ function S(s, e) {
|
|
|
20537
20539
|
const y1 = /* @__PURE__ */ U("ZodDiscriminatedUnion", (s, e) => {
|
|
20538
20540
|
Mh.init(s, e), Gy.init(s, e);
|
|
20539
20541
|
});
|
|
20540
|
-
function
|
|
20542
|
+
function ro(s, e, t) {
|
|
20541
20543
|
return new y1({
|
|
20542
20544
|
type: "union",
|
|
20543
20545
|
options: e,
|
|
@@ -20566,7 +20568,7 @@ function Lh(s, e, t) {
|
|
|
20566
20568
|
...pe(t)
|
|
20567
20569
|
});
|
|
20568
20570
|
}
|
|
20569
|
-
const
|
|
20571
|
+
const Dl = /* @__PURE__ */ U("ZodEnum", (s, e) => {
|
|
20570
20572
|
jy.init(s, e), lt.init(s, e), s._zod.processJSONSchema = (i, a, r) => cw(s, i, a), s.enum = e.entries, s.options = Object.values(e.entries);
|
|
20571
20573
|
const t = new Set(Object.keys(e.entries));
|
|
20572
20574
|
s.extract = (i, a) => {
|
|
@@ -20576,7 +20578,7 @@ const Rl = /* @__PURE__ */ U("ZodEnum", (s, e) => {
|
|
|
20576
20578
|
r[n] = e.entries[n];
|
|
20577
20579
|
else
|
|
20578
20580
|
throw new Error(`Key ${n} not found in enum`);
|
|
20579
|
-
return new
|
|
20581
|
+
return new Dl({
|
|
20580
20582
|
...e,
|
|
20581
20583
|
checks: [],
|
|
20582
20584
|
...pe(a),
|
|
@@ -20589,7 +20591,7 @@ const Rl = /* @__PURE__ */ U("ZodEnum", (s, e) => {
|
|
|
20589
20591
|
delete r[n];
|
|
20590
20592
|
else
|
|
20591
20593
|
throw new Error(`Key ${n} not found in enum`);
|
|
20592
|
-
return new
|
|
20594
|
+
return new Dl({
|
|
20593
20595
|
...e,
|
|
20594
20596
|
checks: [],
|
|
20595
20597
|
...pe(a),
|
|
@@ -20599,7 +20601,7 @@ const Rl = /* @__PURE__ */ U("ZodEnum", (s, e) => {
|
|
|
20599
20601
|
});
|
|
20600
20602
|
function z(s, e) {
|
|
20601
20603
|
const t = Array.isArray(s) ? Object.fromEntries(s.map((i) => [i, i])) : s;
|
|
20602
|
-
return new
|
|
20604
|
+
return new Dl({
|
|
20603
20605
|
type: "enum",
|
|
20604
20606
|
entries: t,
|
|
20605
20607
|
...pe(e)
|
|
@@ -20717,7 +20719,7 @@ function V1(s, e) {
|
|
|
20717
20719
|
const _1 = /* @__PURE__ */ U("ZodPipe", (s, e) => {
|
|
20718
20720
|
ib.init(s, e), lt.init(s, e), s._zod.processJSONSchema = (t, i, a) => kw(s, t, i, a), s.in = e.in, s.out = e.out;
|
|
20719
20721
|
});
|
|
20720
|
-
function
|
|
20722
|
+
function zl(s, e) {
|
|
20721
20723
|
return new _1({
|
|
20722
20724
|
type: "pipe",
|
|
20723
20725
|
in: s,
|
|
@@ -20744,7 +20746,7 @@ function R1(s) {
|
|
|
20744
20746
|
return /* @__PURE__ */ $b(s);
|
|
20745
20747
|
}
|
|
20746
20748
|
function V(s, e) {
|
|
20747
|
-
return
|
|
20749
|
+
return zl(Bh(s), e);
|
|
20748
20750
|
}
|
|
20749
20751
|
const ga = {
|
|
20750
20752
|
custom: "custom"
|
|
@@ -21215,7 +21217,7 @@ const rv = A({
|
|
|
21215
21217
|
A({
|
|
21216
21218
|
provider: Se("stabilityAiGeneratedAsset_StabilityAiGeneratedAsset")
|
|
21217
21219
|
}).and(hv)
|
|
21218
|
-
]),
|
|
21220
|
+
]), no = A({
|
|
21219
21221
|
top: m(S([V((s) => {
|
|
21220
21222
|
if (!(s === "" || s === null || s === void 0))
|
|
21221
21223
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
@@ -21286,7 +21288,7 @@ const rv = A({
|
|
|
21286
21288
|
}).strict(), Ev = A({
|
|
21287
21289
|
provider: Se("vimeo"),
|
|
21288
21290
|
options: m(Tv)
|
|
21289
|
-
}).strict(),
|
|
21291
|
+
}).strict(), oo = ro("provider", [
|
|
21290
21292
|
kv,
|
|
21291
21293
|
vv,
|
|
21292
21294
|
Cv,
|
|
@@ -21294,7 +21296,7 @@ const rv = A({
|
|
|
21294
21296
|
bv,
|
|
21295
21297
|
Ev,
|
|
21296
21298
|
Av
|
|
21297
|
-
]), Nv =
|
|
21299
|
+
]), Nv = oo, Pv = A({
|
|
21298
21300
|
horizontal: m(st()),
|
|
21299
21301
|
vertical: m(st())
|
|
21300
21302
|
}).strict(), Fv = A({
|
|
@@ -21326,7 +21328,7 @@ const rv = A({
|
|
|
21326
21328
|
}).strict(), _v = A({
|
|
21327
21329
|
type: z(["image"]),
|
|
21328
21330
|
src: y().min(1).regex(/\S/),
|
|
21329
|
-
crop: m(
|
|
21331
|
+
crop: m(no)
|
|
21330
21332
|
}).strict(), Mv = A({
|
|
21331
21333
|
type: z(["image-to-video"]),
|
|
21332
21334
|
src: y().min(1),
|
|
@@ -21336,7 +21338,7 @@ const rv = A({
|
|
|
21336
21338
|
if (!(s === "" || s === null || s === void 0))
|
|
21337
21339
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
21338
21340
|
}, I().gte(0).lte(10)), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
21339
|
-
crop: m(
|
|
21341
|
+
crop: m(no)
|
|
21340
21342
|
}).strict(), Lv = A({
|
|
21341
21343
|
preset: z([
|
|
21342
21344
|
"conference",
|
|
@@ -21400,7 +21402,7 @@ const Wv = A({
|
|
|
21400
21402
|
}, I()), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
21401
21403
|
}).strict(), Dh = A({
|
|
21402
21404
|
find: y(),
|
|
21403
|
-
replace: S([y(), I(), st(),
|
|
21405
|
+
replace: S([y(), I(), st(), Rl(), Lh(y(), hi()), Le(hi())])
|
|
21404
21406
|
}).strict(), qv = A({
|
|
21405
21407
|
capture: S([V((s) => {
|
|
21406
21408
|
if (!(s === "" || s === null || s === void 0))
|
|
@@ -21702,7 +21704,7 @@ A({
|
|
|
21702
21704
|
const g2 = A({
|
|
21703
21705
|
url: y(),
|
|
21704
21706
|
id: y(),
|
|
21705
|
-
destinations: Le(
|
|
21707
|
+
destinations: Le(oo)
|
|
21706
21708
|
}).strict(), m2 = A({
|
|
21707
21709
|
type: z(["shape"]),
|
|
21708
21710
|
shape: z(["rectangle", "circle", "line"]),
|
|
@@ -21897,7 +21899,7 @@ A({
|
|
|
21897
21899
|
const C2 = A({
|
|
21898
21900
|
url: m(y()),
|
|
21899
21901
|
outputs: m(b2),
|
|
21900
|
-
destinations: m(
|
|
21902
|
+
destinations: m(oo),
|
|
21901
21903
|
callback: m(y())
|
|
21902
21904
|
}).strict(), k2 = A({
|
|
21903
21905
|
src: y().min(1).regex(/\S/),
|
|
@@ -21955,7 +21957,7 @@ const C2 = A({
|
|
|
21955
21957
|
if (!(s === "" || s === null || s === void 0))
|
|
21956
21958
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
21957
21959
|
}, I().gte(0).lte(1)), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
21958
|
-
}).strict(), E2 =
|
|
21960
|
+
}).strict(), E2 = ro("type", [
|
|
21959
21961
|
T2,
|
|
21960
21962
|
S2,
|
|
21961
21963
|
A2
|
|
@@ -22119,7 +22121,7 @@ const C2 = A({
|
|
|
22119
22121
|
if (!(s === "" || s === null || s === void 0))
|
|
22120
22122
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
22121
22123
|
}, I().gte(1).lte(2048)), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
22122
|
-
}).strict(), Z2 =
|
|
22124
|
+
}).strict(), Z2 = ro("type", [
|
|
22123
22125
|
D2,
|
|
22124
22126
|
V2,
|
|
22125
22127
|
M2,
|
|
@@ -22249,7 +22251,7 @@ const C2 = A({
|
|
|
22249
22251
|
if (!(s === "" || s === null || s === void 0))
|
|
22250
22252
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
22251
22253
|
}, I().int()), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
22252
|
-
crop: m(
|
|
22254
|
+
crop: m(no)
|
|
22253
22255
|
}).strict(), J2 = A({
|
|
22254
22256
|
capture: S([V((s) => {
|
|
22255
22257
|
if (!(s === "" || s === null || s === void 0))
|
|
@@ -22284,8 +22286,8 @@ const C2 = A({
|
|
|
22284
22286
|
range: m(Yv),
|
|
22285
22287
|
poster: m(qv),
|
|
22286
22288
|
thumbnail: m(J2),
|
|
22287
|
-
destinations: m(Le(
|
|
22288
|
-
}).strict(),
|
|
22289
|
+
destinations: m(Le(oo))
|
|
22290
|
+
}).strict(), lo = Xh, $2 = A({
|
|
22289
22291
|
in: m(z([
|
|
22290
22292
|
"none",
|
|
22291
22293
|
"fade",
|
|
@@ -22573,9 +22575,9 @@ const C2 = A({
|
|
|
22573
22575
|
if (!(s === "" || s === null || s === void 0))
|
|
22574
22576
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
22575
22577
|
}, I().gte(0).lte(10)), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
22576
|
-
crop: m(
|
|
22578
|
+
crop: m(no),
|
|
22577
22579
|
chromaKey: m(W1)
|
|
22578
|
-
}).strict(), ox =
|
|
22580
|
+
}).strict(), ox = ro("type", [
|
|
22579
22581
|
nx,
|
|
22580
22582
|
_v,
|
|
22581
22583
|
K2,
|
|
@@ -22714,8 +22716,8 @@ const C2 = A({
|
|
|
22714
22716
|
return Array.isArray(s) ? s : typeof s == "string" ? /^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(s) ? s : Number(s) : s;
|
|
22715
22717
|
}, I()), y().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
22716
22718
|
url: m(y()),
|
|
22717
|
-
poster: m(S([y(),
|
|
22718
|
-
thumbnail: m(S([y(),
|
|
22719
|
+
poster: m(S([y(), Rl()])),
|
|
22720
|
+
thumbnail: m(S([y(), Rl()])),
|
|
22719
22721
|
data: m(Er),
|
|
22720
22722
|
created: m(y()),
|
|
22721
22723
|
updated: m(y())
|
|
@@ -22865,8 +22867,8 @@ A({
|
|
|
22865
22867
|
}),
|
|
22866
22868
|
query: m(Ee())
|
|
22867
22869
|
}).strict();
|
|
22868
|
-
const fx = Nv, hx = y2, px =
|
|
22869
|
-
clips: Le(
|
|
22870
|
+
const fx = Nv, hx = y2, px = lo.shape.format, gx = lo.shape.fps.unwrap(), mx = lo.shape.resolution, yx = lo.shape.aspectRatio, bx = y().regex(/^#[0-9A-Fa-f]{6}$|^#[0-9A-Fa-f]{8}$/), Ul = En.extend({ id: y() }), wx = $h.extend({
|
|
22871
|
+
clips: Le(Ul).min(1)
|
|
22870
22872
|
});
|
|
22871
22873
|
$a.extend({
|
|
22872
22874
|
timeline: cx.extend({
|
|
@@ -23145,17 +23147,17 @@ class Je extends N {
|
|
|
23145
23147
|
_currentOffset: 0,
|
|
23146
23148
|
_length: a
|
|
23147
23149
|
});
|
|
23148
|
-
const r = new
|
|
23150
|
+
const r = new Ro(this.type, a, e, t);
|
|
23149
23151
|
return e.pos += a * this.type.size(null, t), r;
|
|
23150
23152
|
}
|
|
23151
23153
|
size(e, t) {
|
|
23152
|
-
return e instanceof
|
|
23154
|
+
return e instanceof Ro && (e = e.toArray()), super.size(e, t);
|
|
23153
23155
|
}
|
|
23154
23156
|
encode(e, t, i) {
|
|
23155
|
-
return t instanceof
|
|
23157
|
+
return t instanceof Ro && (t = t.toArray()), super.encode(e, t, i);
|
|
23156
23158
|
}
|
|
23157
23159
|
}
|
|
23158
|
-
class
|
|
23160
|
+
class Ro {
|
|
23159
23161
|
constructor(e, t, i, a) {
|
|
23160
23162
|
this.type = e, this.length = t, this.stream = i, this.ctx = a, this.base = this.stream.pos, this.items = [];
|
|
23161
23163
|
}
|
|
@@ -23258,7 +23260,7 @@ class je extends Ys {
|
|
|
23258
23260
|
decode(e, t) {
|
|
23259
23261
|
let i, a, { encoding: r } = this;
|
|
23260
23262
|
typeof r == "function" && (r = r.call(t, t) || "ascii");
|
|
23261
|
-
let n =
|
|
23263
|
+
let n = Do(r);
|
|
23262
23264
|
if (this.length != null)
|
|
23263
23265
|
i = Ns(this.length, e, t);
|
|
23264
23266
|
else {
|
|
@@ -23276,15 +23278,15 @@ class je extends Ys {
|
|
|
23276
23278
|
let { encoding: i } = this;
|
|
23277
23279
|
typeof i == "function" && (i = i.call(t?.val, t?.val) || "ascii"), i === "utf16be" && (i = "utf16le");
|
|
23278
23280
|
let a = Md(e, i);
|
|
23279
|
-
return this.length instanceof Ge && (a += this.length.size()), this.length == null && (a +=
|
|
23281
|
+
return this.length instanceof Ge && (a += this.length.size()), this.length == null && (a += Do(i)), a;
|
|
23280
23282
|
}
|
|
23281
23283
|
encode(e, t, i) {
|
|
23282
23284
|
let { encoding: a } = this;
|
|
23283
23285
|
if (typeof a == "function" && (a = a.call(i?.val, i?.val) || "ascii"), this.length instanceof Ge && this.length.encode(e, Md(t, a)), e.writeString(t, a), this.length == null)
|
|
23284
|
-
return
|
|
23286
|
+
return Do(a) == 2 ? e.writeUInt16LE(0) : e.writeUInt8(0);
|
|
23285
23287
|
}
|
|
23286
23288
|
}
|
|
23287
|
-
function
|
|
23289
|
+
function Do(s) {
|
|
23288
23290
|
switch (s) {
|
|
23289
23291
|
case "ascii":
|
|
23290
23292
|
case "utf8":
|
|
@@ -23501,7 +23503,7 @@ class P extends Ys {
|
|
|
23501
23503
|
}
|
|
23502
23504
|
let { type: a } = this;
|
|
23503
23505
|
if (a == null) {
|
|
23504
|
-
if (!(e instanceof
|
|
23506
|
+
if (!(e instanceof Zl))
|
|
23505
23507
|
throw new Error("Must be a VoidPointer");
|
|
23506
23508
|
({ type: a } = e), e = e.value;
|
|
23507
23509
|
}
|
|
@@ -23535,7 +23537,7 @@ class P extends Ys {
|
|
|
23535
23537
|
this.options.relativeTo && (a += this.relativeToGetter(r.val)), this.offsetType.encode(e, i.pointerOffset - a);
|
|
23536
23538
|
let { type: n } = this;
|
|
23537
23539
|
if (n == null) {
|
|
23538
|
-
if (!(t instanceof
|
|
23540
|
+
if (!(t instanceof Zl))
|
|
23539
23541
|
throw new Error("Must be a VoidPointer");
|
|
23540
23542
|
({ type: n } = t), t = t.value;
|
|
23541
23543
|
}
|
|
@@ -23546,7 +23548,7 @@ class P extends Ys {
|
|
|
23546
23548
|
}), i.pointerOffset += n.size(t, r);
|
|
23547
23549
|
}
|
|
23548
23550
|
}
|
|
23549
|
-
class
|
|
23551
|
+
class Zl {
|
|
23550
23552
|
constructor(e, t) {
|
|
23551
23553
|
this.type = e, this.value = t;
|
|
23552
23554
|
}
|
|
@@ -23593,9 +23595,9 @@ var Nr = {};
|
|
|
23593
23595
|
Nr.byteLength = Dx;
|
|
23594
23596
|
Nr.toByteArray = Ux;
|
|
23595
23597
|
Nr.fromByteArray = Hx;
|
|
23596
|
-
var Cs = [], Qt = [], Ox = typeof Uint8Array < "u" ? Uint8Array : Array,
|
|
23597
|
-
for (var ea = 0, Rx =
|
|
23598
|
-
Cs[ea] =
|
|
23598
|
+
var Cs = [], Qt = [], Ox = typeof Uint8Array < "u" ? Uint8Array : Array, zo = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
23599
|
+
for (var ea = 0, Rx = zo.length; ea < Rx; ++ea)
|
|
23600
|
+
Cs[ea] = zo[ea], Qt[zo.charCodeAt(ea)] = ea;
|
|
23599
23601
|
Qt[45] = 62;
|
|
23600
23602
|
Qt[95] = 63;
|
|
23601
23603
|
function ip(s) {
|
|
@@ -23683,7 +23685,7 @@ function Yx(s, e) {
|
|
|
23683
23685
|
for (e.table[5] = 32, t = 0; t < 32; ++t) e.trans[t] = t;
|
|
23684
23686
|
}
|
|
23685
23687
|
var Od = new Uint16Array(16);
|
|
23686
|
-
function
|
|
23688
|
+
function Uo(s, e, t, i) {
|
|
23687
23689
|
var a, r;
|
|
23688
23690
|
for (a = 0; a < 16; ++a) s.table[a] = 0;
|
|
23689
23691
|
for (a = 0; a < i; ++a) s.table[e[t + a]]++;
|
|
@@ -23705,7 +23707,7 @@ function vs(s, e, t) {
|
|
|
23705
23707
|
var i = s.tag & 65535 >>> 16 - e;
|
|
23706
23708
|
return s.tag >>>= e, s.bitcount -= e, i + t;
|
|
23707
23709
|
}
|
|
23708
|
-
function
|
|
23710
|
+
function Wl(s, e) {
|
|
23709
23711
|
for (; s.bitcount < 24; )
|
|
23710
23712
|
s.tag |= s.source[s.sourceIndex++] << s.bitcount, s.bitcount += 8;
|
|
23711
23713
|
var t = 0, i = 0, a = 0, r = s.tag;
|
|
@@ -23721,8 +23723,8 @@ function Xx(s, e, t) {
|
|
|
23721
23723
|
var c = vs(s, 3, 0);
|
|
23722
23724
|
fs[qx[n]] = c;
|
|
23723
23725
|
}
|
|
23724
|
-
for (
|
|
23725
|
-
var d =
|
|
23726
|
+
for (Uo(Bd, fs, 0, 19), o = 0; o < i + a; ) {
|
|
23727
|
+
var d = Wl(s, Bd);
|
|
23726
23728
|
switch (d) {
|
|
23727
23729
|
case 16:
|
|
23728
23730
|
var u = fs[o - 1];
|
|
@@ -23742,18 +23744,18 @@ function Xx(s, e, t) {
|
|
|
23742
23744
|
break;
|
|
23743
23745
|
}
|
|
23744
23746
|
}
|
|
23745
|
-
|
|
23747
|
+
Uo(e, fs, 0, i), Uo(t, fs, i, a);
|
|
23746
23748
|
}
|
|
23747
23749
|
function Rd(s, e, t) {
|
|
23748
23750
|
for (; ; ) {
|
|
23749
|
-
var i =
|
|
23751
|
+
var i = Wl(s, e);
|
|
23750
23752
|
if (i === 256)
|
|
23751
23753
|
return Tc;
|
|
23752
23754
|
if (i < 256)
|
|
23753
23755
|
s.dest[s.destLen++] = i;
|
|
23754
23756
|
else {
|
|
23755
23757
|
var a, r, n, o;
|
|
23756
|
-
for (i -= 257, a = vs(s, Ec[i], Nc[i]), r =
|
|
23758
|
+
for (i -= 257, a = vs(s, Ec[i], Nc[i]), r = Wl(s, t), n = s.destLen - vs(s, op[r], lp[r]), o = n; o < n + a; ++o)
|
|
23757
23759
|
s.dest[s.destLen++] = s.dest[o];
|
|
23758
23760
|
}
|
|
23759
23761
|
}
|
|
@@ -23807,7 +23809,7 @@ const Jx = /* @__PURE__ */ Na(dp), $x = new Uint8Array(new Uint32Array([30541989
|
|
|
23807
23809
|
var s4 = {
|
|
23808
23810
|
swap32LE: t4
|
|
23809
23811
|
};
|
|
23810
|
-
const zd = dp, { swap32LE: i4 } = s4, Pc = 11, Oi = 5, a4 = Pc - Oi, r4 = 65536 >> Pc, n4 = 1 << a4, o4 = n4 - 1, un = 2, l4 = 1 << Oi,
|
|
23812
|
+
const zd = dp, { swap32LE: i4 } = s4, Pc = 11, Oi = 5, a4 = Pc - Oi, r4 = 65536 >> Pc, n4 = 1 << a4, o4 = n4 - 1, un = 2, l4 = 1 << Oi, Zo = l4 - 1, up = 65536 >> Oi, c4 = 1024 >> Oi, d4 = up + c4, u4 = d4, f4 = 32, h4 = u4 + f4, p4 = 1 << un;
|
|
23811
23813
|
class g4 {
|
|
23812
23814
|
constructor(e) {
|
|
23813
23815
|
const t = typeof e.readUInt32BE == "function" && typeof e.slice == "function";
|
|
@@ -23825,18 +23827,18 @@ class g4 {
|
|
|
23825
23827
|
}
|
|
23826
23828
|
get(e) {
|
|
23827
23829
|
let t;
|
|
23828
|
-
return e < 0 || e > 1114111 ? this.errorValue : e < 55296 || e > 56319 && e <= 65535 ? (t = (this.data[e >> Oi] << un) + (e &
|
|
23830
|
+
return e < 0 || e > 1114111 ? this.errorValue : e < 55296 || e > 56319 && e <= 65535 ? (t = (this.data[e >> Oi] << un) + (e & Zo), this.data[t]) : e <= 65535 ? (t = (this.data[up + (e - 55296 >> Oi)] << un) + (e & Zo), this.data[t]) : e < this.highStart ? (t = this.data[h4 - r4 + (e >> Pc)], t = this.data[t + (e >> Oi & o4)], t = (t << un) + (e & Zo), this.data[t]) : this.data[this.data.length - p4];
|
|
23829
23831
|
}
|
|
23830
23832
|
}
|
|
23831
23833
|
var m4 = g4;
|
|
23832
|
-
const
|
|
23834
|
+
const co = /* @__PURE__ */ Na(m4);
|
|
23833
23835
|
function Hi(s) {
|
|
23834
23836
|
return s && s.__esModule ? s.default : s;
|
|
23835
23837
|
}
|
|
23836
23838
|
var wi = {};
|
|
23837
23839
|
wi = JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');
|
|
23838
|
-
const Fc = new lo(Nr.toByteArray("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")), y4 = Math.log2 || ((s) => Math.log(s) / Math.LN2), co = (s) => y4(s) + 1 | 0, b4 = co((/* @__PURE__ */ Hi(wi)).categories.length - 1), fp = co((/* @__PURE__ */ Hi(wi)).combiningClasses.length - 1), Vc = co((/* @__PURE__ */ Hi(wi)).scripts.length - 1), _c = co((/* @__PURE__ */ Hi(wi)).eaw.length - 1), Mc = 10, w4 = fp + Vc + _c + Mc, v4 = Vc + _c + Mc, x4 = _c + Mc, C4 = (1 << b4) - 1, k4 = (1 << fp) - 1, S4 = (1 << Vc) - 1;
|
|
23839
|
-
function
|
|
23840
|
+
const Fc = new co(Nr.toByteArray("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")), y4 = Math.log2 || ((s) => Math.log(s) / Math.LN2), uo = (s) => y4(s) + 1 | 0, b4 = uo((/* @__PURE__ */ Hi(wi)).categories.length - 1), fp = uo((/* @__PURE__ */ Hi(wi)).combiningClasses.length - 1), Vc = uo((/* @__PURE__ */ Hi(wi)).scripts.length - 1), _c = uo((/* @__PURE__ */ Hi(wi)).eaw.length - 1), Mc = 10, w4 = fp + Vc + _c + Mc, v4 = Vc + _c + Mc, x4 = _c + Mc, C4 = (1 << b4) - 1, k4 = (1 << fp) - 1, S4 = (1 << Vc) - 1;
|
|
23841
|
+
function fo(s) {
|
|
23840
23842
|
const e = Fc.get(s);
|
|
23841
23843
|
return (/* @__PURE__ */ Hi(wi)).categories[e >> w4 & C4];
|
|
23842
23844
|
}
|
|
@@ -23849,13 +23851,13 @@ function hp(s) {
|
|
|
23849
23851
|
return (/* @__PURE__ */ Hi(wi)).scripts[e >> x4 & S4];
|
|
23850
23852
|
}
|
|
23851
23853
|
function Ud(s) {
|
|
23852
|
-
return
|
|
23854
|
+
return fo(s) === "Nd";
|
|
23853
23855
|
}
|
|
23854
23856
|
function pp(s) {
|
|
23855
|
-
const e =
|
|
23857
|
+
const e = fo(s);
|
|
23856
23858
|
return e === "Mn" || e === "Me" || e === "Mc";
|
|
23857
23859
|
}
|
|
23858
|
-
var
|
|
23860
|
+
var Wo = 1, Ho = 0;
|
|
23859
23861
|
class I4 {
|
|
23860
23862
|
constructor(e) {
|
|
23861
23863
|
this.stateTable = e.stateTable, this.accepting = e.accepting, this.tags = e.tags;
|
|
@@ -23868,9 +23870,9 @@ class I4 {
|
|
|
23868
23870
|
var t = this;
|
|
23869
23871
|
return {
|
|
23870
23872
|
*[Symbol.iterator]() {
|
|
23871
|
-
for (var i =
|
|
23873
|
+
for (var i = Wo, a = null, r = null, n = null, o = 0; o < e.length; o++) {
|
|
23872
23874
|
var l = e[o];
|
|
23873
|
-
n = i, i = t.stateTable[i][l], i ===
|
|
23875
|
+
n = i, i = t.stateTable[i][l], i === Ho && (a != null && r != null && r >= a && (yield [a, r, t.tags[n]]), i = t.stateTable[Wo][l], a = null), i !== Ho && a == null && (a = o), t.accepting[i] && (r = o), i === Ho && (i = Wo);
|
|
23874
23876
|
}
|
|
23875
23877
|
a != null && r != null && r >= a && (yield [a, r, t.tags[i]]);
|
|
23876
23878
|
}
|
|
@@ -24018,7 +24020,7 @@ var mp = { exports: {} };
|
|
|
24018
24020
|
s.exports && (s.exports = e);
|
|
24019
24021
|
})(mp);
|
|
24020
24022
|
var E4 = mp.exports;
|
|
24021
|
-
const
|
|
24023
|
+
const Go = /* @__PURE__ */ Na(E4);
|
|
24022
24024
|
var Wa = {}, Fn = {};
|
|
24023
24025
|
function yp(s) {
|
|
24024
24026
|
this.buffer = s, this.pos = 0;
|
|
@@ -24109,19 +24111,19 @@ Gi.prototype.readBits = function(s) {
|
|
|
24109
24111
|
var e = this.val_ >>> this.bit_pos_ & P4[s];
|
|
24110
24112
|
return this.bit_pos_ += s, e;
|
|
24111
24113
|
};
|
|
24112
|
-
var F4 = Gi, Ks = {},
|
|
24114
|
+
var F4 = Gi, Ks = {}, qo = {}, Yo, Zd;
|
|
24113
24115
|
function V4() {
|
|
24114
|
-
return Zd || (Zd = 1, qo = "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"), qo;
|
|
24116
|
+
return Zd || (Zd = 1, Yo = "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"), Yo;
|
|
24115
24117
|
}
|
|
24116
24118
|
var Wd;
|
|
24117
24119
|
function _4() {
|
|
24118
|
-
if (Wd) return
|
|
24120
|
+
if (Wd) return qo;
|
|
24119
24121
|
Wd = 1;
|
|
24120
24122
|
var s = Nr;
|
|
24121
|
-
return
|
|
24123
|
+
return qo.init = function() {
|
|
24122
24124
|
var e = xp().BrotliDecompressBuffer, t = s.toByteArray(V4());
|
|
24123
24125
|
return e(t);
|
|
24124
|
-
},
|
|
24126
|
+
}, qo;
|
|
24125
24127
|
}
|
|
24126
24128
|
var Hd;
|
|
24127
24129
|
function vp() {
|
|
@@ -26622,8 +26624,8 @@ function xp() {
|
|
|
26622
26624
|
}
|
|
26623
26625
|
Wa.BrotliDecompressBuffer = Ue;
|
|
26624
26626
|
function bt(X, D) {
|
|
26625
|
-
var O, B = 0, ne = 0, fe = 0, le, ue = 0, Te, de, ie, Ne, rt = [16, 15, 11, 4], kt = 0, $e = 0, pt = 0, gt = [new Y(0, 0), new Y(0, 0), new Y(0, 0)], Nt, Rt, Fe,
|
|
26626
|
-
Fe = new t(X), fe = Q(Fe), le = (1 << fe) - 16, Te = 1 << fe, de = Te - 1, ie = new Uint8Array(Te +
|
|
26627
|
+
var O, B = 0, ne = 0, fe = 0, le, ue = 0, Te, de, ie, Ne, rt = [16, 15, 11, 4], kt = 0, $e = 0, pt = 0, gt = [new Y(0, 0), new Y(0, 0), new Y(0, 0)], Nt, Rt, Fe, To = 128 + t.READ_SIZE;
|
|
26628
|
+
Fe = new t(X), fe = Q(Fe), le = (1 << fe) - 16, Te = 1 << fe, de = Te - 1, ie = new Uint8Array(Te + To + i.maxDictionaryWordLength), Ne = Te, Nt = [], Rt = [];
|
|
26627
26629
|
for (var ji = 0; ji < 3 * k; ji++)
|
|
26628
26630
|
Nt[ji] = new a(0, 0), Rt[ji] = new a(0, 0);
|
|
26629
26631
|
for (; !ne; ) {
|
|
@@ -26659,11 +26661,11 @@ function xp() {
|
|
|
26659
26661
|
Fe.readMoreInput(), Xs[O] = Fe.readBits(2) << 1;
|
|
26660
26662
|
var zr = Ie(Gt[0] << g, Fe);
|
|
26661
26663
|
Or = zr.num_htrees, Br = zr.context_map;
|
|
26662
|
-
var
|
|
26663
|
-
for (Ba =
|
|
26664
|
+
var Eo = Ie(Gt[2] << w, Fe);
|
|
26665
|
+
for (Ba = Eo.num_htrees, Rr = Eo.context_map, gt[0] = new Y(u, Or), gt[1] = new Y(f, Gt[1]), gt[2] = new Y(Xi, Ba), O = 0; O < 3; ++O)
|
|
26664
26666
|
gt[O].decode(Fe);
|
|
26665
26667
|
for (Ki = 0, Oa = 0, qe = Xs[es[0]], oe = n.lookupOffsets[qe], De = n.lookupOffsets[qe + 1], Qe = gt[1].htrees[0]; wt > 0; ) {
|
|
26666
|
-
var Ur, Ra,
|
|
26668
|
+
var Ur, Ra, No, Po, Fo, Dt, Yt, Ms, Da, $i, za;
|
|
26667
26669
|
for (Fe.readMoreInput(), Kt[1] === 0 && (ke(
|
|
26668
26670
|
Gt[1],
|
|
26669
26671
|
Nt,
|
|
@@ -26672,7 +26674,7 @@ function xp() {
|
|
|
26672
26674
|
_s,
|
|
26673
26675
|
xi,
|
|
26674
26676
|
Fe
|
|
26675
|
-
), Kt[1] = Ce(Rt, k, Fe), Qe = gt[1].htrees[es[1]]), --Kt[1], Ur = re(gt[1].codes, Qe, Fe), Ra = Ur >> 6, Ra >= 2 ? (Ra -= 2, Yt = -1) : Yt = 0,
|
|
26677
|
+
), Kt[1] = Ce(Rt, k, Fe), Qe = gt[1].htrees[es[1]]), --Kt[1], Ur = re(gt[1].codes, Qe, Fe), Ra = Ur >> 6, Ra >= 2 ? (Ra -= 2, Yt = -1) : Yt = 0, No = o.kInsertRangeLut[Ra] + (Ur >> 3 & 7), Po = o.kCopyRangeLut[Ra] + (Ur & 7), Fo = o.kInsertLengthPrefixCode[No].offset + Fe.readBits(o.kInsertLengthPrefixCode[No].nbits), Dt = o.kCopyLengthPrefixCode[Po].offset + Fe.readBits(o.kCopyLengthPrefixCode[Po].nbits), $e = ie[B - 1 & de], pt = ie[B - 2 & de], $i = 0; $i < Fo; ++$i)
|
|
26676
26678
|
Fe.readMoreInput(), Kt[0] === 0 && (ke(
|
|
26677
26679
|
Gt[0],
|
|
26678
26680
|
Nt,
|
|
@@ -26682,7 +26684,7 @@ function xp() {
|
|
|
26682
26684
|
xi,
|
|
26683
26685
|
Fe
|
|
26684
26686
|
), Kt[0] = Ce(Rt, 0, Fe), Dr = es[0] << g, Ki = Dr, qe = Xs[es[0]], oe = n.lookupOffsets[qe], De = n.lookupOffsets[qe + 1]), Da = n.lookup[oe + $e] | n.lookup[De + pt], ts = Br[Ki + Da], --Kt[0], pt = $e, $e = re(gt[0].codes, gt[0].htrees[ts], Fe), ie[B & de] = $e, (B & de) === de && D.write(ie, Te), ++B;
|
|
26685
|
-
if (wt -=
|
|
26687
|
+
if (wt -= Fo, wt <= 0) break;
|
|
26686
26688
|
if (Yt < 0) {
|
|
26687
26689
|
var Da;
|
|
26688
26690
|
if (Fe.readMoreInput(), Kt[2] === 0 && (ke(
|
|
@@ -26694,8 +26696,8 @@ function xp() {
|
|
|
26694
26696
|
xi,
|
|
26695
26697
|
Fe
|
|
26696
26698
|
), Kt[2] = Ce(Rt, 2 * k, Fe), Qi = es[2] << w, Oa = Qi), --Kt[2], Da = (Dt > 4 ? 3 : Dt - 2) & 255, E = Rr[Oa + Da], Yt = re(gt[2].codes, gt[2].htrees[E], Fe), Yt >= qt) {
|
|
26697
|
-
var
|
|
26698
|
-
Yt -= qt, nd = Yt & Lr, Yt >>= js,
|
|
26699
|
+
var Vo, nd, Ua;
|
|
26700
|
+
Yt -= qt, nd = Yt & Lr, Yt >>= js, Vo = (Yt >> 1) + 1, Ua = (2 + (Yt & 1) << Vo) - 4, Yt = qt + (Ua + Fe.readBits(Vo) << js) + nd;
|
|
26699
26701
|
}
|
|
26700
26702
|
}
|
|
26701
26703
|
if (Ms = we(Yt, rt, kt), Ms < 0)
|
|
@@ -26704,8 +26706,8 @@ function xp() {
|
|
|
26704
26706
|
if (Dt >= i.minDictionaryWordLength && Dt <= i.maxDictionaryWordLength) {
|
|
26705
26707
|
var Ua = i.offsetsByLength[Dt], od = Ms - ue - 1, ld = i.sizeBitsByLength[Dt], rg = (1 << ld) - 1, ng = od & rg, cd = od >> ld;
|
|
26706
26708
|
if (Ua += ng * Dt, cd < l.kNumTransforms) {
|
|
26707
|
-
var
|
|
26708
|
-
if (za +=
|
|
26709
|
+
var _o = l.transformDictionaryWord(ie, za, Ua, Dt, cd);
|
|
26710
|
+
if (za += _o, B += _o, wt -= _o, za >= Ne) {
|
|
26709
26711
|
D.write(ie, Te);
|
|
26710
26712
|
for (var Zr = 0; Zr < za - Ne; Zr++)
|
|
26711
26713
|
ie[Zr] = ie[Ne + Zr];
|
|
@@ -26734,7 +26736,7 @@ const O4 = /* @__PURE__ */ Na(B4);
|
|
|
26734
26736
|
function Pr(s, e, t, i) {
|
|
26735
26737
|
Object.defineProperty(s, e, { get: t, set: i, enumerable: !0, configurable: !0 });
|
|
26736
26738
|
}
|
|
26737
|
-
function
|
|
26739
|
+
function ho(s) {
|
|
26738
26740
|
return s && s.__esModule ? s.default : s;
|
|
26739
26741
|
}
|
|
26740
26742
|
var Fr = {};
|
|
@@ -26743,13 +26745,13 @@ Pr(Fr, "registerFormat", () => Fa);
|
|
|
26743
26745
|
Pr(Fr, "create", () => Cp);
|
|
26744
26746
|
Pr(Fr, "defaultLanguage", () => _n);
|
|
26745
26747
|
Pr(Fr, "setDefaultLanguage", () => D4);
|
|
26746
|
-
let R4 = !1,
|
|
26748
|
+
let R4 = !1, Hl = [];
|
|
26747
26749
|
function Fa(s) {
|
|
26748
|
-
|
|
26750
|
+
Hl.push(s);
|
|
26749
26751
|
}
|
|
26750
26752
|
function Cp(s, e) {
|
|
26751
|
-
for (let t = 0; t <
|
|
26752
|
-
let i =
|
|
26753
|
+
for (let t = 0; t < Hl.length; t++) {
|
|
26754
|
+
let i = Hl[t];
|
|
26753
26755
|
if (i.probe(s)) {
|
|
26754
26756
|
let a = new i(new It(s));
|
|
26755
26757
|
return e ? a.getFont(e) : a;
|
|
@@ -26793,7 +26795,7 @@ let z4 = new _({
|
|
|
26793
26795
|
entryCount: h,
|
|
26794
26796
|
idDelta: H,
|
|
26795
26797
|
idRangeOffset: h
|
|
26796
|
-
}),
|
|
26798
|
+
}), jo = new _({
|
|
26797
26799
|
startCharCode: F,
|
|
26798
26800
|
endCharCode: F,
|
|
26799
26801
|
glyphID: F
|
|
@@ -26853,7 +26855,7 @@ let z4 = new _({
|
|
|
26853
26855
|
language: h,
|
|
26854
26856
|
is32: new Je(se, 8192),
|
|
26855
26857
|
nGroups: F,
|
|
26856
|
-
groups: new Je(
|
|
26858
|
+
groups: new Je(jo, "nGroups")
|
|
26857
26859
|
},
|
|
26858
26860
|
10: {
|
|
26859
26861
|
reserved: new at(h),
|
|
@@ -26868,14 +26870,14 @@ let z4 = new _({
|
|
|
26868
26870
|
length: F,
|
|
26869
26871
|
language: F,
|
|
26870
26872
|
nGroups: F,
|
|
26871
|
-
groups: new Je(
|
|
26873
|
+
groups: new Je(jo, "nGroups")
|
|
26872
26874
|
},
|
|
26873
26875
|
13: {
|
|
26874
26876
|
reserved: new at(h),
|
|
26875
26877
|
length: F,
|
|
26876
26878
|
language: F,
|
|
26877
26879
|
nGroups: F,
|
|
26878
|
-
groups: new Je(
|
|
26880
|
+
groups: new Je(jo, "nGroups")
|
|
26879
26881
|
},
|
|
26880
26882
|
14: {
|
|
26881
26883
|
length: F,
|
|
@@ -26980,22 +26982,22 @@ const eC = /* @__PURE__ */ new Set([
|
|
|
26980
26982
|
"x-mac-ce": "ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",
|
|
26981
26983
|
"x-mac-romanian": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ",
|
|
26982
26984
|
"x-mac-turkish": "ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"
|
|
26983
|
-
},
|
|
26985
|
+
}, Xo = /* @__PURE__ */ new Map();
|
|
26984
26986
|
function sC(s) {
|
|
26985
|
-
let e =
|
|
26987
|
+
let e = Xo.get(s);
|
|
26986
26988
|
if (e) return e;
|
|
26987
26989
|
let t = tC[s];
|
|
26988
26990
|
if (t) {
|
|
26989
26991
|
let i = /* @__PURE__ */ new Map();
|
|
26990
26992
|
for (let a = 0; a < t.length; a++) i.set(t.charCodeAt(a), 128 + a);
|
|
26991
|
-
return
|
|
26993
|
+
return Xo.set(s, i), i;
|
|
26992
26994
|
}
|
|
26993
26995
|
if (eC.has(s)) {
|
|
26994
26996
|
let i = new TextDecoder(s), a = new Uint8Array(128);
|
|
26995
26997
|
for (let o = 0; o < 128; o++) a[o] = 128 + o;
|
|
26996
26998
|
let r = /* @__PURE__ */ new Map(), n = i.decode(a);
|
|
26997
26999
|
for (let o = 0; o < 128; o++) r.set(n.charCodeAt(o), 128 + o);
|
|
26998
|
-
return
|
|
27000
|
+
return Xo.set(s, r), r;
|
|
26999
27001
|
}
|
|
27000
27002
|
}
|
|
27001
27003
|
const iC = [
|
|
@@ -27465,7 +27467,7 @@ var Mn = new _e(h, {
|
|
|
27465
27467
|
langTags: new N(rC, "langTagCount")
|
|
27466
27468
|
}
|
|
27467
27469
|
}), nC = Mn;
|
|
27468
|
-
const
|
|
27470
|
+
const Gl = [
|
|
27469
27471
|
"copyright",
|
|
27470
27472
|
"fontFamily",
|
|
27471
27473
|
"fontSubfamily",
|
|
@@ -27495,7 +27497,7 @@ Mn.process = function(s) {
|
|
|
27495
27497
|
for (let t of this.records) {
|
|
27496
27498
|
let i = aC[t.platformID][t.languageID];
|
|
27497
27499
|
i == null && this.langTags != null && t.languageID >= 32768 && (i = this.langTags[t.languageID - 32768].tag), i == null && (i = t.platformID + "-" + t.languageID);
|
|
27498
|
-
let a = t.nameID >= 256 ? "fontFeatures" :
|
|
27500
|
+
let a = t.nameID >= 256 ? "fontFeatures" : Gl[t.nameID] || t.nameID;
|
|
27499
27501
|
e[a] == null && (e[a] = {});
|
|
27500
27502
|
let r = e[a];
|
|
27501
27503
|
t.nameID >= 256 && (r = r[t.nameID] || (r[t.nameID] = {})), (typeof t.string == "string" || typeof r[i] != "string") && (r[i] = t.string);
|
|
@@ -27512,14 +27514,14 @@ Mn.preEncode = function() {
|
|
|
27512
27514
|
platformID: 3,
|
|
27513
27515
|
encodingID: 1,
|
|
27514
27516
|
languageID: 1033,
|
|
27515
|
-
nameID:
|
|
27517
|
+
nameID: Gl.indexOf(e),
|
|
27516
27518
|
length: t.en.length * 2,
|
|
27517
27519
|
string: t.en
|
|
27518
27520
|
}), e === "postscriptName" && s.push({
|
|
27519
27521
|
platformID: 1,
|
|
27520
27522
|
encodingID: 0,
|
|
27521
27523
|
languageID: 0,
|
|
27522
|
-
nameID:
|
|
27524
|
+
nameID: Gl.indexOf(e),
|
|
27523
27525
|
length: t.en.length,
|
|
27524
27526
|
string: t.en
|
|
27525
27527
|
}));
|
|
@@ -27613,8 +27615,8 @@ var Sp = new _e(h, {
|
|
|
27613
27615
|
usUpperOpticalPointSize: h
|
|
27614
27616
|
}
|
|
27615
27617
|
});
|
|
27616
|
-
let
|
|
27617
|
-
|
|
27618
|
+
let Ko = Sp.versions;
|
|
27619
|
+
Ko[3] = Ko[4] = Ko[2];
|
|
27618
27620
|
var oC = Sp, lC = new _e(ht, {
|
|
27619
27621
|
header: {
|
|
27620
27622
|
italicAngle: ht,
|
|
@@ -27757,7 +27759,7 @@ const Ga = 15, Qd = [
|
|
|
27757
27759
|
"E-": 12,
|
|
27758
27760
|
"-": 14
|
|
27759
27761
|
};
|
|
27760
|
-
class
|
|
27762
|
+
class Qo {
|
|
27761
27763
|
static decode(e, t) {
|
|
27762
27764
|
if (32 <= t && t <= 246) return t - 139;
|
|
27763
27765
|
if (247 <= t && t <= 250) return (t - 247) * 256 + e.readUInt8() + 108;
|
|
@@ -27804,7 +27806,7 @@ class Ko {
|
|
|
27804
27806
|
} else return -107 <= i && i <= 107 ? e.writeUInt8(i + 139) : 108 <= i && i <= 1131 ? (i -= 108, e.writeUInt8((i >> 8) + 247), e.writeUInt8(i & 255)) : -1131 <= i && i <= -108 ? (i = -i - 108, e.writeUInt8((i >> 8) + 251), e.writeUInt8(i & 255)) : -32768 <= i && i <= 32767 ? (e.writeUInt8(28), e.writeInt16BE(i)) : (e.writeUInt8(29), e.writeInt32BE(i));
|
|
27805
27807
|
}
|
|
27806
27808
|
}
|
|
27807
|
-
class
|
|
27809
|
+
class po {
|
|
27808
27810
|
decodeOperands(e, t, i, a) {
|
|
27809
27811
|
if (Array.isArray(e)) return a.map((r, n) => this.decodeOperands(e[n], t, i, [
|
|
27810
27812
|
r
|
|
@@ -27852,7 +27854,7 @@ class ho {
|
|
|
27852
27854
|
if (!o) throw new Error(`Unknown operator ${n}`);
|
|
27853
27855
|
let l = this.decodeOperands(o[2], e, a, r);
|
|
27854
27856
|
l != null && (l instanceof Ic ? Object.defineProperty(a, o[1], l) : a[o[1]] = l), r = [];
|
|
27855
|
-
} else r.push(
|
|
27857
|
+
} else r.push(Qo.decode(e, n));
|
|
27856
27858
|
}
|
|
27857
27859
|
return a;
|
|
27858
27860
|
}
|
|
@@ -27867,7 +27869,7 @@ class ho {
|
|
|
27867
27869
|
let o = this.fields[n], l = e[o[1]];
|
|
27868
27870
|
if (l == null || Ld(l, o[3])) continue;
|
|
27869
27871
|
let c = this.encodeOperands(o[2], null, a, l);
|
|
27870
|
-
for (let u of c) r +=
|
|
27872
|
+
for (let u of c) r += Qo.size(u);
|
|
27871
27873
|
let d = Array.isArray(o[0]) ? o[0] : [
|
|
27872
27874
|
o[0]
|
|
27873
27875
|
];
|
|
@@ -27888,7 +27890,7 @@ class ho {
|
|
|
27888
27890
|
let o = t[n[1]];
|
|
27889
27891
|
if (o == null || Ld(o, n[3])) continue;
|
|
27890
27892
|
let l = this.encodeOperands(n[2], e, a, o);
|
|
27891
|
-
for (let d of l)
|
|
27893
|
+
for (let d of l) Qo.encode(e, d);
|
|
27892
27894
|
let c = Array.isArray(n[0]) ? n[0] : [
|
|
27893
27895
|
n[0]
|
|
27894
27896
|
];
|
|
@@ -27946,7 +27948,7 @@ class pC {
|
|
|
27946
27948
|
for (; i.length > a; ) i.pop();
|
|
27947
27949
|
}
|
|
27948
27950
|
}
|
|
27949
|
-
var
|
|
27951
|
+
var ql = new po([
|
|
27950
27952
|
// key name type default
|
|
27951
27953
|
[
|
|
27952
27954
|
6,
|
|
@@ -29648,7 +29650,7 @@ let SC = new _({
|
|
|
29648
29650
|
regionIndexCount: h,
|
|
29649
29651
|
regionIndexes: new N(h, "regionIndexCount"),
|
|
29650
29652
|
deltaSets: new N(_C, "itemCount")
|
|
29651
|
-
}),
|
|
29653
|
+
}), go = new _({
|
|
29652
29654
|
format: h,
|
|
29653
29655
|
variationRegionList: new P(F, VC),
|
|
29654
29656
|
variationDataCount: h,
|
|
@@ -29775,27 +29777,27 @@ let HC = new _e(se, {
|
|
|
29775
29777
|
ranges: new N(YC, "nRanges"),
|
|
29776
29778
|
sentinel: F
|
|
29777
29779
|
}
|
|
29778
|
-
}),
|
|
29780
|
+
}), Jo = new ns(ql);
|
|
29779
29781
|
class Op {
|
|
29780
29782
|
decode(e, t, i) {
|
|
29781
|
-
return t.length = i[0],
|
|
29783
|
+
return t.length = i[0], Jo.decode(e, t, [
|
|
29782
29784
|
i[1]
|
|
29783
29785
|
]);
|
|
29784
29786
|
}
|
|
29785
29787
|
size(e, t) {
|
|
29786
29788
|
return [
|
|
29787
|
-
|
|
29788
|
-
|
|
29789
|
+
ql.size(e, t, !1),
|
|
29790
|
+
Jo.size(e, t)[0]
|
|
29789
29791
|
];
|
|
29790
29792
|
}
|
|
29791
29793
|
encode(e, t, i) {
|
|
29792
29794
|
return [
|
|
29793
|
-
|
|
29794
|
-
|
|
29795
|
+
ql.size(t, i, !1),
|
|
29796
|
+
Jo.encode(e, t, i)[0]
|
|
29795
29797
|
];
|
|
29796
29798
|
}
|
|
29797
29799
|
}
|
|
29798
|
-
let Rp = new
|
|
29800
|
+
let Rp = new po([
|
|
29799
29801
|
// key name type(s) default
|
|
29800
29802
|
[
|
|
29801
29803
|
18,
|
|
@@ -29837,7 +29839,7 @@ let Rp = new ho([
|
|
|
29837
29839
|
"number",
|
|
29838
29840
|
0
|
|
29839
29841
|
]
|
|
29840
|
-
]), jC = new
|
|
29842
|
+
]), jC = new po([
|
|
29841
29843
|
// key name type(s) default
|
|
29842
29844
|
[
|
|
29843
29845
|
[
|
|
@@ -30128,8 +30130,8 @@ let Rp = new ho([
|
|
|
30128
30130
|
]
|
|
30129
30131
|
]), XC = new _({
|
|
30130
30132
|
length: h,
|
|
30131
|
-
itemVariationStore:
|
|
30132
|
-
}), KC = new
|
|
30133
|
+
itemVariationStore: go
|
|
30134
|
+
}), KC = new po([
|
|
30133
30135
|
[
|
|
30134
30136
|
[
|
|
30135
30137
|
12,
|
|
@@ -30312,7 +30314,7 @@ let da = new _({
|
|
|
30312
30314
|
});
|
|
30313
30315
|
class iu {
|
|
30314
30316
|
}
|
|
30315
|
-
class
|
|
30317
|
+
class $o {
|
|
30316
30318
|
}
|
|
30317
30319
|
new _e("version", {
|
|
30318
30320
|
1: {
|
|
@@ -30321,12 +30323,12 @@ new _e("version", {
|
|
|
30321
30323
|
},
|
|
30322
30324
|
2: {
|
|
30323
30325
|
metrics: Yr,
|
|
30324
|
-
data:
|
|
30326
|
+
data: $o
|
|
30325
30327
|
},
|
|
30326
30328
|
// format 3 is deprecated
|
|
30327
30329
|
// format 4 is not supported by Microsoft
|
|
30328
30330
|
5: {
|
|
30329
|
-
data:
|
|
30331
|
+
data: $o
|
|
30330
30332
|
},
|
|
30331
30333
|
6: {
|
|
30332
30334
|
metrics: da,
|
|
@@ -30334,7 +30336,7 @@ new _e("version", {
|
|
|
30334
30336
|
},
|
|
30335
30337
|
7: {
|
|
30336
30338
|
metrics: da,
|
|
30337
|
-
data:
|
|
30339
|
+
data: $o
|
|
30338
30340
|
},
|
|
30339
30341
|
8: {
|
|
30340
30342
|
metrics: Yr,
|
|
@@ -30548,7 +30550,7 @@ var wk = new _e(F, {
|
|
|
30548
30550
|
},
|
|
30549
30551
|
65536: {},
|
|
30550
30552
|
65537: {
|
|
30551
|
-
itemVariationStore: new P(F,
|
|
30553
|
+
itemVariationStore: new P(F, go)
|
|
30552
30554
|
}
|
|
30553
30555
|
});
|
|
30554
30556
|
let vk = new N(h, h), xk = new _({
|
|
@@ -30588,7 +30590,7 @@ var Ak = new _e(F, {
|
|
|
30588
30590
|
},
|
|
30589
30591
|
65539: {
|
|
30590
30592
|
markGlyphSetsDef: new P(h, nu),
|
|
30591
|
-
itemVariationStore: new P(F,
|
|
30593
|
+
itemVariationStore: new P(F, go)
|
|
30592
30594
|
}
|
|
30593
30595
|
});
|
|
30594
30596
|
let ta = new ls(h, [
|
|
@@ -30679,7 +30681,7 @@ let Tk = new _({
|
|
|
30679
30681
|
markAnchor: new P(h, wr, {
|
|
30680
30682
|
type: "parent"
|
|
30681
30683
|
})
|
|
30682
|
-
}),
|
|
30684
|
+
}), el = new N(Fk, h), Vk = new N(new P(h, wr), (s) => s.parent.classCount), ou = new N(Vk, h), _k = new N(new P(h, wr), (s) => s.parent.parent.classCount), Mk = new N(_k, h), Lk = new N(new P(h, Mk), h), vr = new _e("lookupType", {
|
|
30683
30685
|
1: new _e(h, {
|
|
30684
30686
|
1: {
|
|
30685
30687
|
coverage: new P(h, Ye),
|
|
@@ -30723,7 +30725,7 @@ let Tk = new _({
|
|
|
30723
30725
|
markCoverage: new P(h, Ye),
|
|
30724
30726
|
baseCoverage: new P(h, Ye),
|
|
30725
30727
|
classCount: h,
|
|
30726
|
-
markArray: new P(h,
|
|
30728
|
+
markArray: new P(h, el),
|
|
30727
30729
|
baseArray: new P(h, ou)
|
|
30728
30730
|
},
|
|
30729
30731
|
5: {
|
|
@@ -30731,7 +30733,7 @@ let Tk = new _({
|
|
|
30731
30733
|
markCoverage: new P(h, Ye),
|
|
30732
30734
|
ligatureCoverage: new P(h, Ye),
|
|
30733
30735
|
classCount: h,
|
|
30734
|
-
markArray: new P(h,
|
|
30736
|
+
markArray: new P(h, el),
|
|
30735
30737
|
ligatureArray: new P(h, Lk)
|
|
30736
30738
|
},
|
|
30737
30739
|
6: {
|
|
@@ -30739,7 +30741,7 @@ let Tk = new _({
|
|
|
30739
30741
|
mark1Coverage: new P(h, Ye),
|
|
30740
30742
|
mark2Coverage: new P(h, Ye),
|
|
30741
30743
|
classCount: h,
|
|
30742
|
-
mark1Array: new P(h,
|
|
30744
|
+
mark1Array: new P(h, el),
|
|
30743
30745
|
mark2Array: new P(h, ou)
|
|
30744
30746
|
},
|
|
30745
30747
|
7: Fp,
|
|
@@ -30766,7 +30768,7 @@ let Zp = new N(h, h), Ok = Zp, Rk = new _({
|
|
|
30766
30768
|
glyph: h,
|
|
30767
30769
|
compCount: h,
|
|
30768
30770
|
components: new N(h, (s) => s.compCount - 1)
|
|
30769
|
-
}), Dk = new N(new P(h, Rk), h),
|
|
30771
|
+
}), Dk = new N(new P(h, Rk), h), Yl = new _e("lookupType", {
|
|
30770
30772
|
1: new _e(h, {
|
|
30771
30773
|
1: {
|
|
30772
30774
|
coverage: new P(h, Ye),
|
|
@@ -30813,12 +30815,12 @@ let Zp = new N(h, h), Ok = Zp, Rk = new _({
|
|
|
30813
30815
|
substitutes: new N(h, "glyphCount")
|
|
30814
30816
|
}
|
|
30815
30817
|
});
|
|
30816
|
-
|
|
30818
|
+
Yl.versions[7].extension.type = Yl;
|
|
30817
30819
|
var zk = new _e(F, {
|
|
30818
30820
|
header: {
|
|
30819
30821
|
scriptList: new P(h, Ep),
|
|
30820
30822
|
featureList: new P(h, Pp),
|
|
30821
|
-
lookupList: new P(h, new Ln(
|
|
30823
|
+
lookupList: new P(h, new Ln(Yl))
|
|
30822
30824
|
},
|
|
30823
30825
|
65536: {},
|
|
30824
30826
|
65537: {
|
|
@@ -30879,7 +30881,7 @@ let Yk = new _({
|
|
|
30879
30881
|
entry: new qk((s) => ((s.parent.entryFormat & 48) >> 4) + 1),
|
|
30880
30882
|
outerIndex: (s) => s.entry >> (s.parent.entryFormat & 15) + 1,
|
|
30881
30883
|
innerIndex: (s) => s.entry & (1 << (s.parent.entryFormat & 15) + 1) - 1
|
|
30882
|
-
}),
|
|
30884
|
+
}), tl = new _({
|
|
30883
30885
|
entryFormat: h,
|
|
30884
30886
|
mapCount: h,
|
|
30885
30887
|
mapData: new N(Yk, "mapCount")
|
|
@@ -30887,10 +30889,10 @@ let Yk = new _({
|
|
|
30887
30889
|
var jk = new _({
|
|
30888
30890
|
majorVersion: h,
|
|
30889
30891
|
minorVersion: h,
|
|
30890
|
-
itemVariationStore: new P(F,
|
|
30891
|
-
advanceWidthMapping: new P(F,
|
|
30892
|
-
LSBMapping: new P(F,
|
|
30893
|
-
RSBMapping: new P(F,
|
|
30892
|
+
itemVariationStore: new P(F, go),
|
|
30893
|
+
advanceWidthMapping: new P(F, tl),
|
|
30894
|
+
LSBMapping: new P(F, tl),
|
|
30895
|
+
RSBMapping: new P(F, tl)
|
|
30894
30896
|
});
|
|
30895
30897
|
let Xk = new _({
|
|
30896
30898
|
format: F,
|
|
@@ -31533,7 +31535,7 @@ Rc.preEncode = function() {
|
|
|
31533
31535
|
a && t.push({
|
|
31534
31536
|
tag: i,
|
|
31535
31537
|
checkSum: 0,
|
|
31536
|
-
offset: new
|
|
31538
|
+
offset: new Zl(Bn[i], a),
|
|
31537
31539
|
length: Bn[i].size(a)
|
|
31538
31540
|
});
|
|
31539
31541
|
}
|
|
@@ -31559,7 +31561,7 @@ function ra(s, e) {
|
|
|
31559
31561
|
for (; s < e; ) t.push(s++);
|
|
31560
31562
|
return t;
|
|
31561
31563
|
}
|
|
31562
|
-
const
|
|
31564
|
+
const mo = new TextDecoder("ascii"), hu = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", er = new Uint8Array(256);
|
|
31563
31565
|
for (let s = 0; s < hu.length; s++) er[hu.charCodeAt(s)] = s;
|
|
31564
31566
|
function Dc(s) {
|
|
31565
31567
|
let e = s.length * 0.75;
|
|
@@ -32128,14 +32130,14 @@ const ka = {
|
|
|
32128
32130
|
Inherited: "zinh",
|
|
32129
32131
|
Common: "zyyy",
|
|
32130
32132
|
Unknown: "zzzz"
|
|
32131
|
-
},
|
|
32133
|
+
}, jl = {};
|
|
32132
32134
|
for (let s in ka) {
|
|
32133
32135
|
let e = ka[s];
|
|
32134
|
-
if (Array.isArray(e)) for (let t of e)
|
|
32135
|
-
else
|
|
32136
|
+
if (Array.isArray(e)) for (let t of e) jl[t] = s;
|
|
32137
|
+
else jl[e] = s;
|
|
32136
32138
|
}
|
|
32137
32139
|
function $3(s) {
|
|
32138
|
-
return
|
|
32140
|
+
return jl[s];
|
|
32139
32141
|
}
|
|
32140
32142
|
function eS(s) {
|
|
32141
32143
|
let e = s.length, t = 0;
|
|
@@ -33253,7 +33255,7 @@ class mi {
|
|
|
33253
33255
|
}
|
|
33254
33256
|
}
|
|
33255
33257
|
Ht(mi, "zeroMarkWidths", "AFTER_GPOS");
|
|
33256
|
-
const PS = new
|
|
33258
|
+
const PS = new co(Dc("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==")), vu = [
|
|
33257
33259
|
"isol",
|
|
33258
33260
|
"fina",
|
|
33259
33261
|
"fin2",
|
|
@@ -33261,10 +33263,10 @@ const PS = new lo(Dc("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCY
|
|
|
33261
33263
|
"medi",
|
|
33262
33264
|
"med2",
|
|
33263
33265
|
"init"
|
|
33264
|
-
],
|
|
33266
|
+
], Xl = {
|
|
33265
33267
|
Non_Joining: 0,
|
|
33266
33268
|
Transparent: 6
|
|
33267
|
-
}, et = "isol", Js = "fina",
|
|
33269
|
+
}, et = "isol", Js = "fina", sl = "fin2", FS = "fin3", Xr = "medi", Kr = "med2", Qr = "init", Be = null, VS = [
|
|
33268
33270
|
// Non_Joining, Left_Joining, Right_Joining, Dual_Joining, ALAPH, DALATH RISH
|
|
33269
33271
|
// State 0: prev was U, not willing to join.
|
|
33270
33272
|
[
|
|
@@ -33323,7 +33325,7 @@ const PS = new lo(Dc("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCY
|
|
|
33323
33325
|
],
|
|
33324
33326
|
[
|
|
33325
33327
|
Be,
|
|
33326
|
-
|
|
33328
|
+
sl,
|
|
33327
33329
|
5
|
|
33328
33330
|
],
|
|
33329
33331
|
[
|
|
@@ -33422,7 +33424,7 @@ const PS = new lo(Dc("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCY
|
|
|
33422
33424
|
],
|
|
33423
33425
|
[
|
|
33424
33426
|
Kr,
|
|
33425
|
-
|
|
33427
|
+
sl,
|
|
33426
33428
|
5
|
|
33427
33429
|
],
|
|
33428
33430
|
[
|
|
@@ -33455,7 +33457,7 @@ const PS = new lo(Dc("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCY
|
|
|
33455
33457
|
],
|
|
33456
33458
|
[
|
|
33457
33459
|
et,
|
|
33458
|
-
|
|
33460
|
+
sl,
|
|
33459
33461
|
5
|
|
33460
33462
|
],
|
|
33461
33463
|
[
|
|
@@ -33517,7 +33519,7 @@ class $s extends mi {
|
|
|
33517
33519
|
let l, c;
|
|
33518
33520
|
var n = t[o];
|
|
33519
33521
|
let d = _S(n.codePoints[0]);
|
|
33520
|
-
if (d ===
|
|
33522
|
+
if (d === Xl.Transparent) {
|
|
33521
33523
|
r[o] = Be;
|
|
33522
33524
|
continue;
|
|
33523
33525
|
}
|
|
@@ -33533,8 +33535,8 @@ class $s extends mi {
|
|
|
33533
33535
|
function _S(s) {
|
|
33534
33536
|
let e = PS.get(s);
|
|
33535
33537
|
if (e) return e - 1;
|
|
33536
|
-
let t =
|
|
33537
|
-
return t === "Mn" || t === "Me" || t === "Cf" ?
|
|
33538
|
+
let t = fo(s);
|
|
33539
|
+
return t === "Mn" || t === "Me" || t === "Cf" ? Xl.Transparent : Xl.Non_Joining;
|
|
33538
33540
|
}
|
|
33539
33541
|
class MS {
|
|
33540
33542
|
reset(e = {}, t = 0) {
|
|
@@ -33810,13 +33812,13 @@ class Yp extends mi {
|
|
|
33810
33812
|
case Bs:
|
|
33811
33813
|
e.font.hasGlyphForCodePoint(o) || (a = Kp(t, a, e.font));
|
|
33812
33814
|
break;
|
|
33813
|
-
case
|
|
33815
|
+
case Kl:
|
|
33814
33816
|
a = e5(t, a, e.font);
|
|
33815
33817
|
break;
|
|
33816
|
-
case
|
|
33818
|
+
case Ql:
|
|
33817
33819
|
s5(t, a, e.font);
|
|
33818
33820
|
break;
|
|
33819
|
-
case
|
|
33821
|
+
case Jl:
|
|
33820
33822
|
a = i5(t, a, e.font);
|
|
33821
33823
|
break;
|
|
33822
33824
|
}
|
|
@@ -33825,11 +33827,11 @@ class Yp extends mi {
|
|
|
33825
33827
|
}
|
|
33826
33828
|
}
|
|
33827
33829
|
Ht(Yp, "zeroMarkWidths", "NONE");
|
|
33828
|
-
const Sa = 44032, jp = 55204, BS = jp - Sa + 1,
|
|
33830
|
+
const Sa = 44032, jp = 55204, BS = jp - Sa + 1, yo = 4352, bo = 4449, Ri = 4519, OS = 19, Dn = 21, xr = 28, RS = yo + OS - 1, DS = bo + Dn - 1, zS = Ri + xr - 1, xu = 9676, US = (s) => 4352 <= s && s <= 4447 || 43360 <= s && s <= 43388, ZS = (s) => 4448 <= s && s <= 4519 || 55216 <= s && s <= 55238, WS = (s) => 4520 <= s && s <= 4607 || 55243 <= s && s <= 55291, HS = (s) => 12334 <= s && s <= 12335, GS = (s) => Sa <= s && s <= jp, qS = (s) => s - Sa < BS && (s - Sa) % xr === 0, YS = (s) => yo <= s && s <= RS, jS = (s) => bo <= s && s <= DS, XS = (s) => 1 <= s && s <= zS, KS = 0, QS = 1, zn = 2, Uc = 3, Un = 4, Xp = 5, JS = 6;
|
|
33829
33831
|
function Zn(s) {
|
|
33830
33832
|
return US(s) ? QS : ZS(s) ? zn : WS(s) ? Uc : qS(s) ? Un : GS(s) ? Xp : HS(s) ? JS : KS;
|
|
33831
33833
|
}
|
|
33832
|
-
const zt = 0, Bs = 1,
|
|
33834
|
+
const zt = 0, Bs = 1, Kl = 2, Ql = 4, Jl = 5, $S = [
|
|
33833
33835
|
// X L V T LV LVT M
|
|
33834
33836
|
// State 0: start state
|
|
33835
33837
|
[
|
|
@@ -33858,7 +33860,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33858
33860
|
3
|
|
33859
33861
|
],
|
|
33860
33862
|
[
|
|
33861
|
-
|
|
33863
|
+
Jl,
|
|
33862
33864
|
0
|
|
33863
33865
|
]
|
|
33864
33866
|
],
|
|
@@ -33873,7 +33875,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33873
33875
|
1
|
|
33874
33876
|
],
|
|
33875
33877
|
[
|
|
33876
|
-
|
|
33878
|
+
Kl,
|
|
33877
33879
|
2
|
|
33878
33880
|
],
|
|
33879
33881
|
[
|
|
@@ -33889,7 +33891,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33889
33891
|
3
|
|
33890
33892
|
],
|
|
33891
33893
|
[
|
|
33892
|
-
|
|
33894
|
+
Jl,
|
|
33893
33895
|
0
|
|
33894
33896
|
]
|
|
33895
33897
|
],
|
|
@@ -33908,7 +33910,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33908
33910
|
0
|
|
33909
33911
|
],
|
|
33910
33912
|
[
|
|
33911
|
-
|
|
33913
|
+
Kl,
|
|
33912
33914
|
3
|
|
33913
33915
|
],
|
|
33914
33916
|
[
|
|
@@ -33920,7 +33922,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33920
33922
|
3
|
|
33921
33923
|
],
|
|
33922
33924
|
[
|
|
33923
|
-
|
|
33925
|
+
Ql,
|
|
33924
33926
|
0
|
|
33925
33927
|
]
|
|
33926
33928
|
],
|
|
@@ -33951,7 +33953,7 @@ const zt = 0, Bs = 1, Xl = 2, Kl = 4, Ql = 5, $S = [
|
|
|
33951
33953
|
3
|
|
33952
33954
|
],
|
|
33953
33955
|
[
|
|
33954
|
-
|
|
33956
|
+
Ql,
|
|
33955
33957
|
0
|
|
33956
33958
|
]
|
|
33957
33959
|
]
|
|
@@ -33964,7 +33966,7 @@ function nr(s, e, t) {
|
|
|
33964
33966
|
function Kp(s, e, t) {
|
|
33965
33967
|
let i = s[e], r = i.codePoints[0] - Sa, n = Ri + r % xr;
|
|
33966
33968
|
r = r / xr | 0;
|
|
33967
|
-
let o =
|
|
33969
|
+
let o = yo + r / Dn | 0, l = bo + r % Dn;
|
|
33968
33970
|
if (!t.hasGlyphForCodePoint(o) || !t.hasGlyphForCodePoint(l) || n !== Ri && !t.hasGlyphForCodePoint(n)) return e;
|
|
33969
33971
|
let c = nr(t, o, i.features);
|
|
33970
33972
|
c.features.ljmo = !0;
|
|
@@ -33987,7 +33989,7 @@ function e5(s, e, t) {
|
|
|
33987
33989
|
else {
|
|
33988
33990
|
r === zn ? (c = s[e - 1], d = i) : (c = s[e - 2], d = s[e - 1], u = i);
|
|
33989
33991
|
let p = c.codePoints[0], g = d.codePoints[0];
|
|
33990
|
-
YS(p) && jS(g) && (l = Sa + ((p -
|
|
33992
|
+
YS(p) && jS(g) && (l = Sa + ((p - yo) * Dn + (g - bo)) * xr);
|
|
33991
33993
|
}
|
|
33992
33994
|
let f = u && u.codePoints[0] || Ri;
|
|
33993
33995
|
if (l != null && (f === Ri || XS(f))) {
|
|
@@ -34026,8 +34028,8 @@ function i5(s, e, t) {
|
|
|
34026
34028
|
}
|
|
34027
34029
|
var Qp = {};
|
|
34028
34030
|
Qp = JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');
|
|
34029
|
-
var
|
|
34030
|
-
|
|
34031
|
+
var wo = {};
|
|
34032
|
+
wo = JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');
|
|
34031
34033
|
const Me = {
|
|
34032
34034
|
X: 1,
|
|
34033
34035
|
C: 2,
|
|
@@ -34180,7 +34182,7 @@ const Me = {
|
|
|
34180
34182
|
6081,
|
|
34181
34183
|
6085
|
|
34182
34184
|
]
|
|
34183
|
-
}, { decompositions: n5 } = /* @__PURE__ */
|
|
34185
|
+
}, { decompositions: n5 } = /* @__PURE__ */ ho(wo), $p = new co(Dc("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")), o5 = new gp(/* @__PURE__ */ ho(Qp));
|
|
34184
34186
|
class mt extends mi {
|
|
34185
34187
|
static planFeatures(e) {
|
|
34186
34188
|
e.addStage(l5), e.addStage([
|
|
@@ -34220,7 +34222,7 @@ class mt extends mi {
|
|
|
34220
34222
|
}
|
|
34221
34223
|
}
|
|
34222
34224
|
Ht(mt, "zeroMarkWidths", "NONE");
|
|
34223
|
-
function
|
|
34225
|
+
function $l(s) {
|
|
34224
34226
|
return $p.get(s.codePoints[0]) >> 8;
|
|
34225
34227
|
}
|
|
34226
34228
|
function e0(s) {
|
|
@@ -34233,13 +34235,13 @@ class pn {
|
|
|
34233
34235
|
}
|
|
34234
34236
|
function l5(s, e) {
|
|
34235
34237
|
let t = 0, i = 0;
|
|
34236
|
-
for (let [a, r, n] of o5.match(e.map(
|
|
34238
|
+
for (let [a, r, n] of o5.match(e.map($l))) {
|
|
34237
34239
|
if (a > i) {
|
|
34238
34240
|
++t;
|
|
34239
34241
|
for (let o = i; o < a; o++) e[o].shaperInfo = new pn(Me.X, ye.End, "non_indic_cluster", t);
|
|
34240
34242
|
}
|
|
34241
34243
|
++t;
|
|
34242
|
-
for (let o = a; o <= r; o++) e[o].shaperInfo = new pn(1 <<
|
|
34244
|
+
for (let o = a; o <= r; o++) e[o].shaperInfo = new pn(1 << $l(e[o]), e0(e[o]), n[0], t);
|
|
34243
34245
|
i = r + 1;
|
|
34244
34246
|
}
|
|
34245
34247
|
if (i < e.length) {
|
|
@@ -34287,7 +34289,7 @@ function d5(s, e, t) {
|
|
|
34287
34289
|
let x = new cs(s, r, [
|
|
34288
34290
|
9676
|
|
34289
34291
|
]);
|
|
34290
|
-
x.shaperInfo = new pn(1 <<
|
|
34292
|
+
x.shaperInfo = new pn(1 << $l(x), e0(x), e[o].shaperInfo.syllableType, e[o].shaperInfo.syllable);
|
|
34291
34293
|
let T = o;
|
|
34292
34294
|
for (; T < l && e[T].shaperInfo.category === Me.Repha; ) T++;
|
|
34293
34295
|
e.splice(T++, 0, x), l++;
|
|
@@ -34490,7 +34492,7 @@ function u5(s, e, t) {
|
|
|
34490
34492
|
break;
|
|
34491
34493
|
}
|
|
34492
34494
|
}
|
|
34493
|
-
e[r].shaperInfo.position === ye.Pre_M && (!r || !/Cf|Mn/.test(
|
|
34495
|
+
e[r].shaperInfo.position === ye.Pre_M && (!r || !/Cf|Mn/.test(fo(e[r - 1].codePoints[0]))) && (e[r].features.init = !0);
|
|
34494
34496
|
}
|
|
34495
34497
|
}
|
|
34496
34498
|
function Wn(s, e) {
|
|
@@ -34499,7 +34501,7 @@ function Wn(s, e) {
|
|
|
34499
34501
|
for (; ++e < s.length && s[e].shaperInfo.syllable === t; ) ;
|
|
34500
34502
|
return e;
|
|
34501
34503
|
}
|
|
34502
|
-
const { categories: f5, decompositions: ku } = /* @__PURE__ */
|
|
34504
|
+
const { categories: f5, decompositions: ku } = /* @__PURE__ */ ho(wo), h5 = new co(Dc("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")), p5 = new gp(/* @__PURE__ */ ho(wo));
|
|
34503
34505
|
class Ve extends mi {
|
|
34504
34506
|
static planFeatures(e) {
|
|
34505
34507
|
e.addStage(m5), e.addStage([
|
|
@@ -35606,7 +35608,7 @@ class R5 {
|
|
|
35606
35608
|
this.glyphID = e, this.dx = t, this.dy = i, this.pos = 0, this.scaleX = this.scaleY = 1, this.scale01 = this.scale10 = 0;
|
|
35607
35609
|
}
|
|
35608
35610
|
}
|
|
35609
|
-
class
|
|
35611
|
+
class vo extends Ps {
|
|
35610
35612
|
// Parses just the glyph header and returns the bounding box
|
|
35611
35613
|
_getCBox(e) {
|
|
35612
35614
|
if (this._font._variationProcessor && !e) return this.path.cbox;
|
|
@@ -36014,7 +36016,7 @@ let z5 = new _({
|
|
|
36014
36016
|
type: new je(4),
|
|
36015
36017
|
data: new Is((s) => s.parent.buflen - s._currentOffset)
|
|
36016
36018
|
});
|
|
36017
|
-
class U5 extends
|
|
36019
|
+
class U5 extends vo {
|
|
36018
36020
|
/**
|
|
36019
36021
|
* Returns an object representing a glyph image at the given point size.
|
|
36020
36022
|
* The object has a data property with a Buffer containing the actual image data,
|
|
@@ -36407,11 +36409,11 @@ class aA extends t0 {
|
|
|
36407
36409
|
};
|
|
36408
36410
|
let e = 0;
|
|
36409
36411
|
for (; e < this.glyphs.length; ) this._addGlyph(this.glyphs[e++]);
|
|
36410
|
-
let t =
|
|
36412
|
+
let t = Go(this.font.maxp);
|
|
36411
36413
|
t.numGlyphs = this.glyf.length, this.loca.offsets.push(this.offset);
|
|
36412
|
-
let i =
|
|
36414
|
+
let i = Go(this.font.head);
|
|
36413
36415
|
i.indexToLocFormat = this.loca.version;
|
|
36414
|
-
let a =
|
|
36416
|
+
let a = Go(this.font.hhea);
|
|
36415
36417
|
return a.numberOfMetrics = this.hmtx.metrics.length, Hp.toBuffer({
|
|
36416
36418
|
tables: {
|
|
36417
36419
|
head: i,
|
|
@@ -36548,7 +36550,7 @@ class rA extends t0 {
|
|
|
36548
36550
|
}
|
|
36549
36551
|
class _t {
|
|
36550
36552
|
static probe(e) {
|
|
36551
|
-
let t =
|
|
36553
|
+
let t = mo.decode(e.slice(0, 4));
|
|
36552
36554
|
return t === "true" || t === "OTTO" || t === "\0\0\0";
|
|
36553
36555
|
}
|
|
36554
36556
|
setDefaultLanguage(e = null) {
|
|
@@ -36802,7 +36804,7 @@ class _t {
|
|
|
36802
36804
|
return this._layoutEngine.getAvailableFeatures(e, t);
|
|
36803
36805
|
}
|
|
36804
36806
|
_getBaseGlyph(e, t = []) {
|
|
36805
|
-
return this._glyphs[e] || (this.directory.tables.glyf ? this._glyphs[e] = new
|
|
36807
|
+
return this._glyphs[e] || (this.directory.tables.glyf ? this._glyphs[e] = new vo(e, t, this) : (this.directory.tables["CFF "] || this.directory.tables.CFF2) && (this._glyphs[e] = new D5(e, t, this))), this._glyphs[e] || null;
|
|
36806
36808
|
}
|
|
36807
36809
|
/**
|
|
36808
36810
|
* Returns a glyph object for the given glyph id.
|
|
@@ -36952,7 +36954,7 @@ s0.process = function() {
|
|
|
36952
36954
|
var oA = s0;
|
|
36953
36955
|
class lA extends _t {
|
|
36954
36956
|
static probe(e) {
|
|
36955
|
-
return
|
|
36957
|
+
return mo.decode(e.slice(0, 4)) === "wOFF";
|
|
36956
36958
|
}
|
|
36957
36959
|
_decodeDirectory() {
|
|
36958
36960
|
this.directory = oA.decode(this.stream, {
|
|
@@ -36973,7 +36975,7 @@ class lA extends _t {
|
|
|
36973
36975
|
super(...e), Ht(this, "type", "WOFF");
|
|
36974
36976
|
}
|
|
36975
36977
|
}
|
|
36976
|
-
class cA extends
|
|
36978
|
+
class cA extends vo {
|
|
36977
36979
|
_decode() {
|
|
36978
36980
|
return this._font._transformedGlyphs[this.id];
|
|
36979
36981
|
}
|
|
@@ -37101,7 +37103,7 @@ i0.process = function() {
|
|
|
37101
37103
|
var fA = i0;
|
|
37102
37104
|
class hA extends _t {
|
|
37103
37105
|
static probe(e) {
|
|
37104
|
-
return
|
|
37106
|
+
return mo.decode(e.slice(0, 4)) === "wOF2";
|
|
37105
37107
|
}
|
|
37106
37108
|
_decodeDirectory() {
|
|
37107
37109
|
this.directory = fA.decode(this.stream), this._dataPos = this.stream.pos;
|
|
@@ -37136,16 +37138,16 @@ class hA extends _t {
|
|
|
37136
37138
|
if (r.numberOfContours = n, n > 0) {
|
|
37137
37139
|
let o = [], l = 0;
|
|
37138
37140
|
for (let c = 0; c < n; c++) {
|
|
37139
|
-
let d =
|
|
37141
|
+
let d = il(e.nPoints);
|
|
37140
37142
|
l += d, o.push(l);
|
|
37141
37143
|
}
|
|
37142
37144
|
r.points = bA(e.flags, e.glyphs, l);
|
|
37143
37145
|
for (let c = 0; c < n; c++) r.points[o[c] - 1].endContour = !0;
|
|
37144
|
-
var i =
|
|
37145
|
-
} else if (n < 0 &&
|
|
37146
|
+
var i = il(e.glyphs);
|
|
37147
|
+
} else if (n < 0 && vo.prototype._decodeComposite.call({
|
|
37146
37148
|
_font: this
|
|
37147
37149
|
}, r, e.composites))
|
|
37148
|
-
var i =
|
|
37150
|
+
var i = il(e.glyphs);
|
|
37149
37151
|
t.push(r);
|
|
37150
37152
|
}
|
|
37151
37153
|
this._transformedGlyphs = t;
|
|
@@ -37182,7 +37184,7 @@ let pA = new _({
|
|
|
37182
37184
|
instructions: new ki("instructionStreamSize")
|
|
37183
37185
|
});
|
|
37184
37186
|
const gA = 253, mA = 254, yA = 255, Ru = 253;
|
|
37185
|
-
function
|
|
37187
|
+
function il(s) {
|
|
37186
37188
|
let e = s.readUInt8();
|
|
37187
37189
|
return e === gA ? s.readUInt16BE() : e === yA ? s.readUInt8() + Ru : e === mA ? s.readUInt8() + Ru * 2 : e;
|
|
37188
37190
|
}
|
|
@@ -37228,7 +37230,7 @@ let wA = new _e(F, {
|
|
|
37228
37230
|
});
|
|
37229
37231
|
class vA {
|
|
37230
37232
|
static probe(e) {
|
|
37231
|
-
return
|
|
37233
|
+
return mo.decode(e.slice(0, 4)) === "ttcf";
|
|
37232
37234
|
}
|
|
37233
37235
|
getFont(e) {
|
|
37234
37236
|
for (let t of this.header.offsets) {
|
|
@@ -38251,7 +38253,7 @@ function QA(s) {
|
|
|
38251
38253
|
}
|
|
38252
38254
|
return i === 1 / 0 ? { x: 0, y: 0, w: 0, h: 0 } : { x: i, y: a, w: r - i, h: n - a };
|
|
38253
38255
|
}
|
|
38254
|
-
var
|
|
38256
|
+
var ec = 0.999;
|
|
38255
38257
|
function JA(s, e, t) {
|
|
38256
38258
|
if (!t.anim || !t.anim.preset) return s;
|
|
38257
38259
|
const { preset: i } = t.anim, a = e.reduce((l, c) => l + c.glyphs.length, 0);
|
|
@@ -38297,7 +38299,7 @@ function JA(s, e, t) {
|
|
|
38297
38299
|
return s;
|
|
38298
38300
|
}
|
|
38299
38301
|
}
|
|
38300
|
-
var Hn = (s) => s.op === "FillPath" && s.isShadow === !0,
|
|
38302
|
+
var Hn = (s) => s.op === "FillPath" && s.isShadow === !0, xo = (s) => s.op === "FillPath" && !s.isShadow;
|
|
38301
38303
|
function $A(s) {
|
|
38302
38304
|
for (const e of s)
|
|
38303
38305
|
if (e.op === "FillPath") {
|
|
@@ -38316,13 +38318,13 @@ function eI(s, e, t, i, a, r, n) {
|
|
|
38316
38318
|
let u = 0;
|
|
38317
38319
|
for (let g = 0; g < Math.min(d, l.length); g++)
|
|
38318
38320
|
u += l[g].glyphCount;
|
|
38319
|
-
const f = Hu(s, u), p = t >=
|
|
38321
|
+
const f = Hu(s, u), p = t >= ec ? f : f.filter((g) => g.op !== "DecorationLine");
|
|
38320
38322
|
return t < 1 && u > 0 ? Gu(p, u, a) : p;
|
|
38321
38323
|
} else {
|
|
38322
38324
|
const l = e.reduce((f, p) => f + p.glyphs.length, 0), c = Math.floor(t * l);
|
|
38323
38325
|
if (c === 0)
|
|
38324
38326
|
return s.filter((f) => f.op === "BeginFrame" || f.op === "Rectangle" || f.op === "RectangleStroke");
|
|
38325
|
-
const d = Hu(s, c), u = t >=
|
|
38327
|
+
const d = Hu(s, c), u = t >= ec ? d : d.filter((f) => f.op !== "DecorationLine");
|
|
38326
38328
|
return t < 1 && c > 0 ? Gu(u, c, a) : u;
|
|
38327
38329
|
}
|
|
38328
38330
|
}
|
|
@@ -38354,8 +38356,8 @@ function tI(s, e, t, i, a, r) {
|
|
|
38354
38356
|
d.op === "FillPath" ? k.fill.kind === "solid" ? k.fill = { ...k.fill, opacity: k.fill.opacity * C } : k.fill = { ...k.fill, opacity: (k.fill.opacity ?? 1) * C } : k.opacity = k.opacity * C, l.push(k);
|
|
38355
38357
|
}
|
|
38356
38358
|
}
|
|
38357
|
-
|
|
38358
|
-
} else d.op === "DecorationLine" && t >=
|
|
38359
|
+
xo(d) && c++;
|
|
38360
|
+
} else d.op === "DecorationLine" && t >= ec && l.push(d);
|
|
38359
38361
|
return l;
|
|
38360
38362
|
}
|
|
38361
38363
|
function sI(s, e, t, i, a, r, n) {
|
|
@@ -38410,14 +38412,14 @@ function sI(s, e, t, i, a, r, n) {
|
|
|
38410
38412
|
q.opacity = q.opacity * L;
|
|
38411
38413
|
p.push(q);
|
|
38412
38414
|
}
|
|
38413
|
-
|
|
38415
|
+
xo(x) && k++;
|
|
38414
38416
|
}
|
|
38415
38417
|
return p;
|
|
38416
38418
|
}
|
|
38417
38419
|
function iI(s, e, t, i, a, r) {
|
|
38418
38420
|
const n = i === "word";
|
|
38419
38421
|
if (!n && !(i === "character")) {
|
|
38420
|
-
const v =
|
|
38422
|
+
const v = tc(t), k = 0.95 + 0.05 * v;
|
|
38421
38423
|
return oI(s, v, k);
|
|
38422
38424
|
}
|
|
38423
38425
|
const l = n ? Mr(e) : [], c = e.reduce((v, k) => v + k.glyphs.length, 0), d = n ? l.length : c;
|
|
@@ -38460,7 +38462,7 @@ function iI(s, e, t, i, a, r) {
|
|
|
38460
38462
|
} else if (t >= T)
|
|
38461
38463
|
u.push(v);
|
|
38462
38464
|
else {
|
|
38463
|
-
const b = (t - x) / Math.max(1e-6, T - x), R =
|
|
38465
|
+
const b = (t - x) / Math.max(1e-6, T - x), R = tc(Math.min(1, b)), M = { ...v };
|
|
38464
38466
|
if (v.op === "FillPath") {
|
|
38465
38467
|
const L = M.fill.kind === "solid" ? M.fill.opacity : M.fill.opacity ?? 1;
|
|
38466
38468
|
M.fill.kind === "solid" ? M.fill = { ...M.fill, opacity: L * R } : M.fill = { ...M.fill, opacity: L * R };
|
|
@@ -38468,14 +38470,14 @@ function iI(s, e, t, i, a, r) {
|
|
|
38468
38470
|
M.opacity = M.opacity * R;
|
|
38469
38471
|
u.push(M);
|
|
38470
38472
|
}
|
|
38471
|
-
|
|
38473
|
+
xo(v) && C++;
|
|
38472
38474
|
}
|
|
38473
38475
|
return u;
|
|
38474
38476
|
}
|
|
38475
38477
|
function aI(s, e, t, i, a, r, n) {
|
|
38476
38478
|
const o = r === "word";
|
|
38477
38479
|
if (!o && !(r === "character")) {
|
|
38478
|
-
const T = Gn(t), b = dI(1 - T, i, a * 2), R =
|
|
38480
|
+
const T = Gn(t), b = dI(1 - T, i, a * 2), R = tc(t);
|
|
38479
38481
|
return lI(s, b.dx, b.dy, R);
|
|
38480
38482
|
}
|
|
38481
38483
|
const d = {
|
|
@@ -38531,7 +38533,7 @@ function aI(s, e, t, i, a, r, n) {
|
|
|
38531
38533
|
ce.opacity = ce.opacity * Q;
|
|
38532
38534
|
g.push(ce);
|
|
38533
38535
|
}
|
|
38534
|
-
|
|
38536
|
+
xo(T) && x++;
|
|
38535
38537
|
}
|
|
38536
38538
|
return g;
|
|
38537
38539
|
}
|
|
@@ -38674,7 +38676,7 @@ function dI(s, e, t) {
|
|
|
38674
38676
|
return { dx: 0, dy: i };
|
|
38675
38677
|
}
|
|
38676
38678
|
}
|
|
38677
|
-
function
|
|
38679
|
+
function tc(s) {
|
|
38678
38680
|
return s * (2 - s);
|
|
38679
38681
|
}
|
|
38680
38682
|
function Gn(s) {
|
|
@@ -38775,7 +38777,7 @@ function uI(s) {
|
|
|
38775
38777
|
continue;
|
|
38776
38778
|
}
|
|
38777
38779
|
if (r.op === "EllipseStroke") {
|
|
38778
|
-
e.save(),
|
|
38780
|
+
e.save(), al(e, r.stroke), e.beginPath();
|
|
38779
38781
|
const n = (r.rotation ?? 0) * Math.PI / 180;
|
|
38780
38782
|
e.ellipse(r.cx, r.cy, r.rx, r.ry, n, 0, Math.PI * 2), e.stroke(), e.restore();
|
|
38781
38783
|
continue;
|
|
@@ -38787,7 +38789,7 @@ function uI(s) {
|
|
|
38787
38789
|
continue;
|
|
38788
38790
|
}
|
|
38789
38791
|
if (r.op === "PolygonStroke") {
|
|
38790
|
-
e.save(),
|
|
38792
|
+
e.save(), al(e, r.stroke), e.beginPath(), Yu(e, r.points, r.closed ?? !0), e.stroke(), e.restore();
|
|
38791
38793
|
continue;
|
|
38792
38794
|
}
|
|
38793
38795
|
if (r.op === "ShapePath") {
|
|
@@ -38799,7 +38801,7 @@ function uI(s) {
|
|
|
38799
38801
|
continue;
|
|
38800
38802
|
}
|
|
38801
38803
|
if (r.op === "ShapePathStroke") {
|
|
38802
|
-
e.save(), e.translate(r.x, r.y),
|
|
38804
|
+
e.save(), e.translate(r.x, r.y), al(e, r.stroke);
|
|
38803
38805
|
const n = new Path2D(r.path);
|
|
38804
38806
|
e.stroke(n), e.restore();
|
|
38805
38807
|
continue;
|
|
@@ -38882,7 +38884,7 @@ function a0(s) {
|
|
|
38882
38884
|
function hI(s) {
|
|
38883
38885
|
return s.match(/[MLCQZ]|-?\d*\.?\d+(?:e[-+]?\d+)?/gi) ?? [];
|
|
38884
38886
|
}
|
|
38885
|
-
function
|
|
38887
|
+
function al(s, e) {
|
|
38886
38888
|
const t = Li(e.color, e.opacity);
|
|
38887
38889
|
s.strokeStyle = `rgba(${t.r},${t.g},${t.b},${t.a})`, s.lineWidth = e.width, s.lineCap = e.lineCap ?? "butt", s.lineJoin = e.lineJoin ?? "miter", e.dashArray && e.dashArray.length > 0 && s.setLineDash(e.dashArray);
|
|
38888
38890
|
}
|
|
@@ -39637,7 +39639,7 @@ class ys extends Ot {
|
|
|
39637
39639
|
if (!t.ok)
|
|
39638
39640
|
throw new Error(`Failed to fetch font: ${t.status}`);
|
|
39639
39641
|
const i = await t.arrayBuffer();
|
|
39640
|
-
return !!
|
|
39642
|
+
return !!Vl.parse(i).tables.fvar?.axes?.find((n) => n.tag === "wght");
|
|
39641
39643
|
} catch (t) {
|
|
39642
39644
|
return console.warn("Failed to check font capabilities:", t), !1;
|
|
39643
39645
|
}
|
|
@@ -40533,7 +40535,7 @@ class RI extends Ot {
|
|
|
40533
40535
|
async load() {
|
|
40534
40536
|
await super.load();
|
|
40535
40537
|
const { width: e, height: t } = this.getSize(), i = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((l) => l.clips) ?? [], a = hc(i, this.clipId ?? ""), { asset: r } = this.clipConfiguration, n = oi(r) && r.prompt || "", o = oi(r) ? r.type : "text-to-image";
|
|
40536
|
-
this.aiOverlay = new
|
|
40538
|
+
this.aiOverlay = new Ll({
|
|
40537
40539
|
mode: "panel",
|
|
40538
40540
|
icon: "image",
|
|
40539
40541
|
width: e,
|
|
@@ -40846,7 +40848,7 @@ class Gc {
|
|
|
40846
40848
|
this.deletedClips = [], this.convertedReferences = void 0;
|
|
40847
40849
|
}
|
|
40848
40850
|
}
|
|
40849
|
-
class
|
|
40851
|
+
class rl {
|
|
40850
40852
|
constructor(e, t) {
|
|
40851
40853
|
this.trackIdx = e, this.clipIdx = t;
|
|
40852
40854
|
}
|
|
@@ -41034,13 +41036,13 @@ function Re(s) {
|
|
|
41034
41036
|
function sn(s) {
|
|
41035
41037
|
return !!(s && typeof s == "object" && !Array.isArray(s));
|
|
41036
41038
|
}
|
|
41037
|
-
function
|
|
41039
|
+
function sc(s, e) {
|
|
41038
41040
|
const t = { ...s };
|
|
41039
41041
|
return sn(s) && sn(e) && Object.keys(e).forEach((i) => {
|
|
41040
41042
|
if (i === "__proto__" || i === "constructor" || i === "prototype")
|
|
41041
41043
|
return;
|
|
41042
41044
|
const a = e[i], r = s[i];
|
|
41043
|
-
sn(a) ? i in s && sn(r) ? t[i] =
|
|
41045
|
+
sn(a) ? i in s && sn(r) ? t[i] = sc(r, a) : t[i] = sc({}, a) : t[i] = a;
|
|
41044
41046
|
}), t;
|
|
41045
41047
|
}
|
|
41046
41048
|
function Hs(s, e, t) {
|
|
@@ -41048,7 +41050,8 @@ function Hs(s, e, t) {
|
|
|
41048
41050
|
let a = s;
|
|
41049
41051
|
for (let r = 0; r < i.length - 1; r += 1) {
|
|
41050
41052
|
if (a == null || typeof a != "object") return;
|
|
41051
|
-
|
|
41053
|
+
const n = i[r], o = a[n];
|
|
41054
|
+
(o == null || typeof o != "object") && (a[n] = {}), a = a[n];
|
|
41052
41055
|
}
|
|
41053
41056
|
a != null && typeof a == "object" && (a[i[i.length - 1]] = t);
|
|
41054
41057
|
}
|
|
@@ -41087,7 +41090,7 @@ async function c0(s) {
|
|
|
41087
41090
|
return { valid: !1, error: e instanceof Error ? e.message : "URL not accessible" };
|
|
41088
41091
|
}
|
|
41089
41092
|
}
|
|
41090
|
-
class
|
|
41093
|
+
class nl {
|
|
41091
41094
|
constructor(e, t, i) {
|
|
41092
41095
|
this.initialClipConfig = e, this.finalClipConfig = t, this.trackIndex = i?.trackIndex ?? -1, this.clipIndex = i?.clipIndex ?? -1;
|
|
41093
41096
|
}
|
|
@@ -41485,7 +41488,7 @@ function i6(s) {
|
|
|
41485
41488
|
const e = typeof s.replace == "string" ? s.replace : JSON.stringify(s.replace);
|
|
41486
41489
|
return { name: s.find, defaultValue: e };
|
|
41487
41490
|
}
|
|
41488
|
-
const a6 = /\{\{\s*([A-Z_0-9]+)\s*\}\}/gi,
|
|
41491
|
+
const a6 = /\{\{\s*([A-Z_0-9]+)\s*\}\}/gi, ol = /\{\{\s*[A-Z_0-9]+\s*\}\}/i;
|
|
41489
41492
|
class r6 {
|
|
41490
41493
|
fields = /* @__PURE__ */ new Map();
|
|
41491
41494
|
events;
|
|
@@ -41548,7 +41551,7 @@ class r6 {
|
|
|
41548
41551
|
hasUnresolved(e) {
|
|
41549
41552
|
if (!e) return !1;
|
|
41550
41553
|
const t = this.resolve(e);
|
|
41551
|
-
return
|
|
41554
|
+
return ol.test(t);
|
|
41552
41555
|
}
|
|
41553
41556
|
/**
|
|
41554
41557
|
* Extract the first merge field name from a string.
|
|
@@ -41556,14 +41559,14 @@ class r6 {
|
|
|
41556
41559
|
*/
|
|
41557
41560
|
extractFieldName(e) {
|
|
41558
41561
|
if (!e) return null;
|
|
41559
|
-
const t =
|
|
41562
|
+
const t = ol.exec(e);
|
|
41560
41563
|
if (!t) return null;
|
|
41561
41564
|
const i = t[0].match(/\{\{\s*([A-Z_0-9]+)\s*\}\}/i);
|
|
41562
41565
|
return i ? i[1] : null;
|
|
41563
41566
|
}
|
|
41564
41567
|
/** Check if a string is a merge field template (contains {{ FIELD }}) */
|
|
41565
41568
|
isMergeFieldTemplate(e) {
|
|
41566
|
-
return
|
|
41569
|
+
return ol.test(e);
|
|
41567
41570
|
}
|
|
41568
41571
|
/** Create a merge field template string from a field name */
|
|
41569
41572
|
createTemplate(e) {
|
|
@@ -41600,7 +41603,7 @@ const n6 = {
|
|
|
41600
41603
|
1080: { width: 1920, height: 1080 },
|
|
41601
41604
|
"4k": { width: 3840, height: 2160 }
|
|
41602
41605
|
};
|
|
41603
|
-
function
|
|
41606
|
+
function jn(s, e = "16:9") {
|
|
41604
41607
|
const t = n6[s];
|
|
41605
41608
|
if (!t)
|
|
41606
41609
|
throw new Error(`Unknown resolution: ${s}`);
|
|
@@ -41680,7 +41683,7 @@ class o6 {
|
|
|
41680
41683
|
}
|
|
41681
41684
|
// ─── Resolution ───────────────────────────────────────────────────────────
|
|
41682
41685
|
setResolution(e) {
|
|
41683
|
-
const t = mx.parse(e), i = this.edit.getResolvedEdit(), a = i?.output?.aspectRatio ?? "16:9", r =
|
|
41686
|
+
const t = mx.parse(e), i = this.edit.getResolvedEdit(), a = i?.output?.aspectRatio ?? "16:9", r = jn(t, a);
|
|
41684
41687
|
this.edit.size = r, i && (i.output = {
|
|
41685
41688
|
...i.output,
|
|
41686
41689
|
resolution: t
|
|
@@ -41701,7 +41704,7 @@ class o6 {
|
|
|
41701
41704
|
}), this.edit.getDocument()?.setAspectRatio(t), this.edit.getInternalEvents().emit(W.OutputAspectRatioChanged, { aspectRatio: t });
|
|
41702
41705
|
return;
|
|
41703
41706
|
}
|
|
41704
|
-
const r =
|
|
41707
|
+
const r = jn(a, t);
|
|
41705
41708
|
this.edit.size = r, i && (i.output = {
|
|
41706
41709
|
...i.output,
|
|
41707
41710
|
aspectRatio: t
|
|
@@ -41981,7 +41984,7 @@ class f6 extends qc {
|
|
|
41981
41984
|
super(), this.registry = {};
|
|
41982
41985
|
}
|
|
41983
41986
|
}
|
|
41984
|
-
class
|
|
41987
|
+
class Xn {
|
|
41985
41988
|
static VIDEO_EXTENSIONS = [".mp4", ".m4v", ".webm", ".ogg", ".ogv"];
|
|
41986
41989
|
static VIDEO_MIME = {
|
|
41987
41990
|
".mp4": "video/mp4",
|
|
@@ -42070,7 +42073,7 @@ class jn {
|
|
|
42070
42073
|
}
|
|
42071
42074
|
hasVideoExtension(e) {
|
|
42072
42075
|
const t = new URL(e, window.location.origin).pathname.toLowerCase();
|
|
42073
|
-
return
|
|
42076
|
+
return Xn.VIDEO_EXTENSIONS.some((i) => t.endsWith(i));
|
|
42074
42077
|
}
|
|
42075
42078
|
async getContentType(e) {
|
|
42076
42079
|
try {
|
|
@@ -42080,7 +42083,7 @@ class jn {
|
|
|
42080
42083
|
}
|
|
42081
42084
|
}
|
|
42082
42085
|
canPlayVideo(e) {
|
|
42083
|
-
const t = new URL(e, window.location.origin).pathname.toLowerCase(), i = t.slice(t.lastIndexOf(".")), a =
|
|
42086
|
+
const t = new URL(e, window.location.origin).pathname.toLowerCase(), i = t.slice(t.lastIndexOf(".")), a = Xn.VIDEO_MIME[i];
|
|
42084
42087
|
return a ? document.createElement("video").canPlayType(a) !== "" : !1;
|
|
42085
42088
|
}
|
|
42086
42089
|
async isPlayableVideo(e) {
|
|
@@ -42141,12 +42144,12 @@ class Cr {
|
|
|
42141
42144
|
async load(e, t, i) {
|
|
42142
42145
|
const a = e.split("?")[0]?.split(".").pop()?.toLowerCase() ?? "", r = await fetch(e).then((f) => f.arrayBuffer());
|
|
42143
42146
|
if (a !== "woff2") {
|
|
42144
|
-
const f =
|
|
42147
|
+
const f = Vl.parse(new Uint8Array(r).buffer), p = f.names.fontFamily.en || f.names.fontFamily[Object.keys(f.names.fontFamily)[0]], g = new FontFace(p, `url(${e})`);
|
|
42145
42148
|
return await g.load(), document.fonts.add(g), g;
|
|
42146
42149
|
}
|
|
42147
42150
|
if (await this.loadWoff2Decompressor(), !this.woff2Decompressor)
|
|
42148
42151
|
throw new Error("Cannot initialize Woff2 decompressor.");
|
|
42149
|
-
const n = this.woff2Decompressor.decompress(r), o =
|
|
42152
|
+
const n = this.woff2Decompressor.decompress(r), o = Vl.parse(new Uint8Array(n).buffer), l = o.names.fontFamily.en || o.names.fontFamily[Object.keys(o.names.fontFamily)[0]], c = new Blob([n], { type: "font/ttf" }), d = URL.createObjectURL(c), u = new FontFace(l, `url(${d})`);
|
|
42150
42153
|
return await u.load(), document.fonts.add(u), u;
|
|
42151
42154
|
}
|
|
42152
42155
|
async loadWoff2Decompressor() {
|
|
@@ -43291,7 +43294,7 @@ class kr {
|
|
|
43291
43294
|
constructor(e) {
|
|
43292
43295
|
$a.parse(e), this.tracks = [], this.playbackTime = 0, this.totalDuration = 0, this.isPlaying = !1, this.document = new ba(e);
|
|
43293
43296
|
const t = this.document.getResolution(), i = this.document.getAspectRatio();
|
|
43294
|
-
this.backgroundColor = this.document.getBackground() ?? "#000000", this.size = t ?
|
|
43297
|
+
this.backgroundColor = this.document.getBackground() ?? "#000000", this.size = t ? jn(t, i) : this.document.getSize(), this.assetLoader = new Xn(), this.internalEvents = new qc(), this.events = this.internalEvents, this.lumaMaskController = new t6(
|
|
43295
43298
|
() => this.canvas,
|
|
43296
43299
|
() => this.tracks,
|
|
43297
43300
|
this.internalEvents
|
|
@@ -43334,7 +43337,7 @@ class kr {
|
|
|
43334
43337
|
update(e, t) {
|
|
43335
43338
|
for (const i of this.clips)
|
|
43336
43339
|
i.shouldDispose && this.queueDisposeClip(i), i.update(e, t);
|
|
43337
|
-
this.disposeClips(), this.lumaMaskController.update(), this.isPlaying && (this.playbackTime = Math.max(0, Math.min(this.playbackTime +
|
|
43340
|
+
this.disposeClips(), this.lumaMaskController.update(), this.isPlaying && (this.playbackTime = Math.max(0, Math.min(this.playbackTime + _l(t), this.totalDuration)), this.playbackTime === this.totalDuration && this.pause());
|
|
43338
43341
|
}
|
|
43339
43342
|
/** @internal */
|
|
43340
43343
|
dispose() {
|
|
@@ -43366,20 +43369,26 @@ class kr {
|
|
|
43366
43369
|
* Reload the edit with a new configuration (hot-reload).
|
|
43367
43370
|
*/
|
|
43368
43371
|
async loadEdit(e) {
|
|
43369
|
-
if ($a.parse(e), this.
|
|
43370
|
-
|
|
43371
|
-
|
|
43372
|
-
|
|
43373
|
-
|
|
43372
|
+
if ($a.parse(e), this.tracks.length > 0 && !this.hasStructuralChanges(e)) {
|
|
43373
|
+
this.lastResolved = null;
|
|
43374
|
+
const n = structuredClone(e);
|
|
43375
|
+
this.preserveClipIdsForGranularUpdate(n);
|
|
43376
|
+
const o = this.document.getTracks(), l = this.document.getOutput();
|
|
43377
|
+
this.document = new ba(n), this.isBatchingEvents = !0, await this.applyGranularChanges(n, o, l), this.isBatchingEvents = !1, this.emitEditChanged("loadEdit:granular");
|
|
43374
43378
|
return;
|
|
43375
43379
|
}
|
|
43376
|
-
this.document =
|
|
43377
|
-
|
|
43378
|
-
|
|
43379
|
-
|
|
43380
|
-
|
|
43381
|
-
|
|
43382
|
-
|
|
43380
|
+
const t = this.document, i = this.lastResolved, a = this.size, r = this.backgroundColor;
|
|
43381
|
+
try {
|
|
43382
|
+
this.lastResolved = null, this.document = new ba(e);
|
|
43383
|
+
const n = this.document.getResolution(), o = this.document.getAspectRatio();
|
|
43384
|
+
this.size = n ? jn(n, o) : this.document.getSize(), this.backgroundColor = this.document.getBackground() ?? "#000000", this.internalEvents.emit(Oe.ViewportSizeChanged, {
|
|
43385
|
+
width: this.size.width,
|
|
43386
|
+
height: this.size.height,
|
|
43387
|
+
backgroundColor: this.backgroundColor
|
|
43388
|
+
}), this.internalEvents.emit(Oe.ViewportNeedsZoomToFit), this.clearClips(), await this.initializeFromDocument("loadEdit");
|
|
43389
|
+
} catch (n) {
|
|
43390
|
+
throw this.document = t, this.lastResolved = i, this.size = a, this.backgroundColor = r, n;
|
|
43391
|
+
}
|
|
43383
43392
|
}
|
|
43384
43393
|
async loadSoundtrack(e) {
|
|
43385
43394
|
const t = {
|
|
@@ -43648,14 +43657,14 @@ class kr {
|
|
|
43648
43657
|
if (a.playerType !== it.Luma) {
|
|
43649
43658
|
const o = i.findIndex((l) => l.playerType === it.Luma);
|
|
43650
43659
|
if (o !== -1) {
|
|
43651
|
-
const l = o < t ? t - 1 : t, c = new
|
|
43660
|
+
const l = o < t ? t - 1 : t, c = new rl(e, o);
|
|
43652
43661
|
await this.executeCommand(c);
|
|
43653
|
-
const d = new
|
|
43662
|
+
const d = new rl(e, l);
|
|
43654
43663
|
await this.executeCommand(d);
|
|
43655
43664
|
return;
|
|
43656
43665
|
}
|
|
43657
43666
|
}
|
|
43658
|
-
const n = new
|
|
43667
|
+
const n = new rl(e, t);
|
|
43659
43668
|
await this.executeCommand(n);
|
|
43660
43669
|
}
|
|
43661
43670
|
splitClip(e, t, i) {
|
|
@@ -43704,7 +43713,7 @@ class kr {
|
|
|
43704
43713
|
}
|
|
43705
43714
|
/** @internal */
|
|
43706
43715
|
setUpdatedClip(e, t = null, i = null) {
|
|
43707
|
-
const a = e.layer - 1, r = this.tracks[a], n = r ? r.indexOf(e) : -1, o = new
|
|
43716
|
+
const a = e.layer - 1, r = this.tracks[a], n = r ? r.indexOf(e) : -1, o = new nl(t, i, {
|
|
43708
43717
|
trackIndex: a,
|
|
43709
43718
|
clipIndex: n
|
|
43710
43719
|
});
|
|
@@ -43732,8 +43741,8 @@ class kr {
|
|
|
43732
43741
|
console.warn(`commitClipUpdate: clip ${e} not found in document`);
|
|
43733
43742
|
return;
|
|
43734
43743
|
}
|
|
43735
|
-
|
|
43736
|
-
const r = new
|
|
43744
|
+
Ul.parse(i);
|
|
43745
|
+
const r = new nl(t, structuredClone(i), {
|
|
43737
43746
|
trackIndex: a.trackIndex,
|
|
43738
43747
|
clipIndex: a.clipIndex
|
|
43739
43748
|
});
|
|
@@ -43760,9 +43769,9 @@ class kr {
|
|
|
43760
43769
|
const a = this.getPlayerClip(e, t);
|
|
43761
43770
|
if (!a)
|
|
43762
43771
|
return console.warn(`Clip not found at track ${e}, index ${t}`), Promise.resolve();
|
|
43763
|
-
const r = this.document?.getClip(e, t), n = structuredClone(r ?? a.clipConfiguration), o = structuredClone(r ?? a.clipConfiguration), l =
|
|
43764
|
-
|
|
43765
|
-
const c = new
|
|
43772
|
+
const r = this.document?.getClip(e, t), n = structuredClone(r ?? a.clipConfiguration), o = structuredClone(r ?? a.clipConfiguration), l = sc(o, i);
|
|
43773
|
+
Ul.parse(l);
|
|
43774
|
+
const c = new nl(n, l, {
|
|
43766
43775
|
trackIndex: e,
|
|
43767
43776
|
clipIndex: t
|
|
43768
43777
|
});
|
|
@@ -44546,7 +44555,7 @@ class kr {
|
|
|
44546
44555
|
return this.document.getClipCountInTrack(e);
|
|
44547
44556
|
}
|
|
44548
44557
|
}
|
|
44549
|
-
const rf = 16711935, nf = 2,
|
|
44558
|
+
const rf = 16711935, nf = 2, ll = 6, of = 4;
|
|
44550
44559
|
class D6 {
|
|
44551
44560
|
graphics;
|
|
44552
44561
|
canvasWidth;
|
|
@@ -44570,10 +44579,10 @@ class D6 {
|
|
|
44570
44579
|
e === "x" ? this.drawDashedLine(t, i, t, a) : this.drawDashedLine(i, t, a, t);
|
|
44571
44580
|
}
|
|
44572
44581
|
drawDashedLine(e, t, i, a) {
|
|
44573
|
-
const r = i - e, n = a - t, o = Math.sqrt(r * r + n * n), l = Math.floor(o / (
|
|
44582
|
+
const r = i - e, n = a - t, o = Math.sqrt(r * r + n * n), l = Math.floor(o / (ll + of)), c = r / o, d = n / o;
|
|
44574
44583
|
this.graphics.strokeStyle = { width: nf, color: rf };
|
|
44575
44584
|
for (let u = 0; u < l; u += 1) {
|
|
44576
|
-
const f = u * (
|
|
44585
|
+
const f = u * (ll + of), p = f + ll, g = e + c * f, w = t + d * f, C = e + c * Math.min(p, o), v = t + d * Math.min(p, o);
|
|
44577
44586
|
this.graphics.moveTo(g, w), this.graphics.lineTo(C, v);
|
|
44578
44587
|
}
|
|
44579
44588
|
this.graphics.stroke();
|
|
@@ -45128,7 +45137,7 @@ const te = (s) => {
|
|
|
45128
45137
|
// SMPTE 170M
|
|
45129
45138
|
"bt2020-ncl": 9
|
|
45130
45139
|
// ITU-R BT.2020-2 (non-constant luminance)
|
|
45131
|
-
}, G6 = (s) => !!s && !!s.primaries && !!s.transfer && !!s.matrix && s.fullRange !== void 0,
|
|
45140
|
+
}, G6 = (s) => !!s && !!s.primaries && !!s.transfer && !!s.matrix && s.fullRange !== void 0, Co = (s) => s instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && s instanceof SharedArrayBuffer || ArrayBuffer.isView(s);
|
|
45132
45141
|
class p0 {
|
|
45133
45142
|
constructor() {
|
|
45134
45143
|
this.currentPromise = Promise.resolve(), this.pending = 0;
|
|
@@ -45149,7 +45158,7 @@ const q6 = () => {
|
|
|
45149
45158
|
return { promise: new Promise((i, a) => {
|
|
45150
45159
|
s = i, e = a;
|
|
45151
45160
|
}), resolve: s, reject: e };
|
|
45152
|
-
},
|
|
45161
|
+
}, ko = (s) => {
|
|
45153
45162
|
throw new Error(`Unexpected value: ${s}`);
|
|
45154
45163
|
}, Qc = (s, e, t, i) => {
|
|
45155
45164
|
t = t >>> 0, t = t & 16777215, i ? (s.setUint8(e, t & 255), s.setUint8(e + 1, t >>> 8 & 255), s.setUint8(e + 2, t >>> 16 & 255)) : (s.setUint8(e, t >>> 16 & 255), s.setUint8(e + 1, t >>> 8 & 255), s.setUint8(e + 2, t & 255));
|
|
@@ -45182,10 +45191,10 @@ class g0 {
|
|
|
45182
45191
|
return this.currentPromise = this.currentPromise.then(e);
|
|
45183
45192
|
}
|
|
45184
45193
|
}
|
|
45185
|
-
let ll = null;
|
|
45186
|
-
const J6 = () => ll !== null ? ll : ll = !!(typeof navigator < "u" && (navigator.vendor?.match(/apple/i) || /AppleWebKit/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) || /\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)));
|
|
45187
45194
|
let cl = null;
|
|
45188
|
-
const
|
|
45195
|
+
const J6 = () => cl !== null ? cl : cl = !!(typeof navigator < "u" && (navigator.vendor?.match(/apple/i) || /AppleWebKit/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) || /\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)));
|
|
45196
|
+
let dl = null;
|
|
45197
|
+
const rc = () => dl !== null ? dl : dl = typeof navigator < "u" && navigator.userAgent?.includes("Firefox"), m0 = function* (s) {
|
|
45189
45198
|
for (const e in s) {
|
|
45190
45199
|
const t = s[e];
|
|
45191
45200
|
t !== void 0 && (yield { key: e, value: t });
|
|
@@ -45326,9 +45335,9 @@ const zi = [
|
|
|
45326
45335
|
], Ia = [
|
|
45327
45336
|
...b0,
|
|
45328
45337
|
...Fs
|
|
45329
|
-
], Xn = [
|
|
45330
|
-
"webvtt"
|
|
45331
45338
|
], Kn = [
|
|
45339
|
+
"webvtt"
|
|
45340
|
+
], Qn = [
|
|
45332
45341
|
{ maxMacroblocks: 99, maxBitrate: 64e3, maxDpbMbs: 396, level: 10 },
|
|
45333
45342
|
// Level 1
|
|
45334
45343
|
{ maxMacroblocks: 396, maxBitrate: 192e3, maxDpbMbs: 900, level: 11 },
|
|
@@ -45490,7 +45499,7 @@ const zi = [
|
|
|
45490
45499
|
// Level 6.3 (High Tier)
|
|
45491
45500
|
], i8 = (s, e, t, i) => {
|
|
45492
45501
|
if (s === "avc") {
|
|
45493
|
-
const r = Math.ceil(e / 16) * Math.ceil(t / 16), n =
|
|
45502
|
+
const r = Math.ceil(e / 16) * Math.ceil(t / 16), n = Qn.find((u) => r <= u.maxMacroblocks && i <= u.maxBitrate) ?? Jt(Qn), o = n ? n.level : 0, l = "64".padStart(2, "0"), c = "00", d = o.toString(16).padStart(2, "0");
|
|
45494
45503
|
return `avc1.${l}${c}${d}`;
|
|
45495
45504
|
} else if (s === "hevc") {
|
|
45496
45505
|
const a = "", n = "6", o = e * t, l = lf.find((d) => o <= d.maxPictureSize && i <= d.maxBitrate) ?? Jt(lf);
|
|
@@ -45524,7 +45533,7 @@ const zi = [
|
|
|
45524
45533
|
if (Fs.includes(s))
|
|
45525
45534
|
return s;
|
|
45526
45535
|
throw new TypeError(`Unhandled codec '${s}'.`);
|
|
45527
|
-
},
|
|
45536
|
+
}, Jn = [
|
|
45528
45537
|
96e3,
|
|
45529
45538
|
88200,
|
|
45530
45539
|
64e3,
|
|
@@ -45546,7 +45555,7 @@ const zi = [
|
|
|
45546
45555
|
t === 31 && (t = 32 + e.readBits(6));
|
|
45547
45556
|
const i = e.readBits(4);
|
|
45548
45557
|
let a = null;
|
|
45549
|
-
i === 15 ? a = e.readBits(24) : i <
|
|
45558
|
+
i === 15 ? a = e.readBits(24) : i < Jn.length && (a = Jn[i]);
|
|
45550
45559
|
const r = e.readBits(4);
|
|
45551
45560
|
let n = null;
|
|
45552
45561
|
return r >= 1 && r <= 7 && (n = Jc[r]), {
|
|
@@ -45557,7 +45566,7 @@ const zi = [
|
|
|
45557
45566
|
numberOfChannels: n
|
|
45558
45567
|
};
|
|
45559
45568
|
}, w0 = (s) => {
|
|
45560
|
-
let e =
|
|
45569
|
+
let e = Jn.indexOf(s.sampleRate), t = null;
|
|
45561
45570
|
e === -1 && (e = 15, t = s.sampleRate);
|
|
45562
45571
|
const i = Jc.indexOf(s.numberOfChannels);
|
|
45563
45572
|
if (i === -1)
|
|
@@ -45613,7 +45622,7 @@ const zi = [
|
|
|
45613
45622
|
throw new TypeError("Video chunk metadata decoder configuration must specify a valid codedWidth (positive integer).");
|
|
45614
45623
|
if (!Number.isInteger(s.decoderConfig.codedHeight) || s.decoderConfig.codedHeight <= 0)
|
|
45615
45624
|
throw new TypeError("Video chunk metadata decoder configuration must specify a valid codedHeight (positive integer).");
|
|
45616
|
-
if (s.decoderConfig.description !== void 0 && !
|
|
45625
|
+
if (s.decoderConfig.description !== void 0 && !Co(s.decoderConfig.description))
|
|
45617
45626
|
throw new TypeError("Video chunk metadata decoder configuration description, when defined, must be an ArrayBuffer or an ArrayBuffer view.");
|
|
45618
45627
|
if (s.decoderConfig.colorSpace !== void 0) {
|
|
45619
45628
|
const { colorSpace: e } = s.decoderConfig;
|
|
@@ -45662,7 +45671,7 @@ const zi = [
|
|
|
45662
45671
|
throw new TypeError("Audio chunk metadata decoder configuration must specify a valid sampleRate (positive integer).");
|
|
45663
45672
|
if (!Number.isInteger(s.decoderConfig.numberOfChannels) || s.decoderConfig.numberOfChannels <= 0)
|
|
45664
45673
|
throw new TypeError("Audio chunk metadata decoder configuration must specify a valid numberOfChannels (positive integer).");
|
|
45665
|
-
if (s.decoderConfig.description !== void 0 && !
|
|
45674
|
+
if (s.decoderConfig.description !== void 0 && !Co(s.decoderConfig.description))
|
|
45666
45675
|
throw new TypeError("Audio chunk metadata decoder configuration description, when defined, must be an ArrayBuffer or an ArrayBuffer view.");
|
|
45667
45676
|
if (s.decoderConfig.codec.startsWith("mp4a") && s.decoderConfig.codec !== "mp4a.69" && s.decoderConfig.codec !== "mp4a.6B" && s.decoderConfig.codec !== "mp4a.6b") {
|
|
45668
45677
|
if (!["mp4a.40.2", "mp4a.40.02", "mp4a.40.5", "mp4a.40.05", "mp4a.40.29", "mp4a.67"].includes(s.decoderConfig.codec))
|
|
@@ -45878,7 +45887,7 @@ const $c = function* (s) {
|
|
|
45878
45887
|
if ((i === 44 || i === 86 || i === 100 || i === 110 || i === 122 || i === 244) && K)
|
|
45879
45888
|
M = 0, L = 0;
|
|
45880
45889
|
else {
|
|
45881
|
-
const q = u + 1, ce = f + 1, re = (2 - v) * ce, xe =
|
|
45890
|
+
const q = u + 1, ce = f + 1, re = (2 - v) * ce, xe = Qn.find((Ce) => Ce.level >= r) ?? Jt(Qn), he = Math.min(Math.floor(xe.maxDpbMbs / (q * re)), 16);
|
|
45882
45891
|
M = he, L = he;
|
|
45883
45892
|
}
|
|
45884
45893
|
}
|
|
@@ -46398,7 +46407,7 @@ class Bi {
|
|
|
46398
46407
|
throw new TypeError("init.timestamp must be a number.");
|
|
46399
46408
|
if (t.duration !== void 0 && (!Number.isFinite(t.duration) || t.duration < 0))
|
|
46400
46409
|
throw new TypeError("init.duration, when provided, must be a non-negative number.");
|
|
46401
|
-
this._data = qs(e).slice(), this._layout = t.layout ?? z8(t.format, t.codedWidth, t.codedHeight), this.format = t.format, this.codedWidth = t.codedWidth, this.codedHeight = t.codedHeight, this.rotation = t.rotation ?? 0, this.timestamp = t.timestamp, this.duration = t.duration ?? 0, this.colorSpace = new
|
|
46410
|
+
this._data = qs(e).slice(), this._layout = t.layout ?? z8(t.format, t.codedWidth, t.codedHeight), this.format = t.format, this.codedWidth = t.codedWidth, this.codedHeight = t.codedHeight, this.rotation = t.rotation ?? 0, this.timestamp = t.timestamp, this.duration = t.duration ?? 0, this.colorSpace = new ul(t.colorSpace);
|
|
46402
46411
|
} else if (typeof VideoFrame < "u" && e instanceof VideoFrame) {
|
|
46403
46412
|
if (t?.rotation !== void 0 && ![0, 90, 180, 270].includes(t.rotation))
|
|
46404
46413
|
throw new TypeError("init.rotation, when provided, must be 0, 90, 180, or 270.");
|
|
@@ -46406,7 +46415,7 @@ class Bi {
|
|
|
46406
46415
|
throw new TypeError("init.timestamp, when provided, must be a number.");
|
|
46407
46416
|
if (t?.duration !== void 0 && (!Number.isFinite(t.duration) || t.duration < 0))
|
|
46408
46417
|
throw new TypeError("init.duration, when provided, must be a non-negative number.");
|
|
46409
|
-
this._data = e, this._layout = null, this.format = e.format, this.codedWidth = e.displayWidth, this.codedHeight = e.displayHeight, this.rotation = t?.rotation ?? 0, this.timestamp = t?.timestamp ?? e.timestamp / 1e6, this.duration = t?.duration ?? (e.duration ?? 0) / 1e6, this.colorSpace = new
|
|
46418
|
+
this._data = e, this._layout = null, this.format = e.format, this.codedWidth = e.displayWidth, this.codedHeight = e.displayHeight, this.rotation = t?.rotation ?? 0, this.timestamp = t?.timestamp ?? e.timestamp / 1e6, this.duration = t?.duration ?? (e.duration ?? 0) / 1e6, this.colorSpace = new ul(e.colorSpace);
|
|
46410
46419
|
} else if (typeof HTMLImageElement < "u" && e instanceof HTMLImageElement || typeof SVGImageElement < "u" && e instanceof SVGImageElement || typeof ImageBitmap < "u" && e instanceof ImageBitmap || typeof HTMLVideoElement < "u" && e instanceof HTMLVideoElement || typeof HTMLCanvasElement < "u" && e instanceof HTMLCanvasElement || typeof OffscreenCanvas < "u" && e instanceof OffscreenCanvas) {
|
|
46411
46420
|
if (!t || typeof t != "object")
|
|
46412
46421
|
throw new TypeError("init must be an object.");
|
|
@@ -46430,7 +46439,7 @@ class Bi {
|
|
|
46430
46439
|
// Firefox has VideoFrame glitches with opaque canvases
|
|
46431
46440
|
willReadFrequently: !0
|
|
46432
46441
|
});
|
|
46433
|
-
J(n), n.drawImage(e, 0, 0), this._data = r, this._layout = null, this.format = "RGBX", this.codedWidth = i, this.codedHeight = a, this.rotation = t.rotation ?? 0, this.timestamp = t.timestamp, this.duration = t.duration ?? 0, this.colorSpace = new
|
|
46442
|
+
J(n), n.drawImage(e, 0, 0), this._data = r, this._layout = null, this.format = "RGBX", this.codedWidth = i, this.codedHeight = a, this.rotation = t.rotation ?? 0, this.timestamp = t.timestamp, this.duration = t.duration ?? 0, this.colorSpace = new ul({
|
|
46434
46443
|
matrix: "rgb",
|
|
46435
46444
|
primaries: "bt709",
|
|
46436
46445
|
transfer: "iec61966-2-1",
|
|
@@ -46493,7 +46502,7 @@ class Bi {
|
|
|
46493
46502
|
* @returns The byte layout of the planes of the copied data.
|
|
46494
46503
|
*/
|
|
46495
46504
|
async copyTo(e, t = {}) {
|
|
46496
|
-
if (!
|
|
46505
|
+
if (!Co(e))
|
|
46497
46506
|
throw new TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");
|
|
46498
46507
|
if (bf(t), this._closed)
|
|
46499
46508
|
throw new Error("VideoSample is closed.");
|
|
@@ -46653,7 +46662,7 @@ class Bi {
|
|
|
46653
46662
|
this.close();
|
|
46654
46663
|
}
|
|
46655
46664
|
}
|
|
46656
|
-
class
|
|
46665
|
+
class ul {
|
|
46657
46666
|
/** Creates a new VideoSampleColorSpace. */
|
|
46658
46667
|
constructor(e) {
|
|
46659
46668
|
this.primaries = e?.primaries ?? null, this.transfer = e?.transfer ?? null, this.matrix = e?.matrix ?? null, this.fullRange = e?.fullRange ?? null;
|
|
@@ -46777,9 +46786,9 @@ const Si = (s) => typeof VideoFrame < "u" && s instanceof VideoFrame, R8 = (s, e
|
|
|
46777
46786
|
{ sampleBytes: 4, widthDivisor: 1, heightDivisor: 1 }
|
|
46778
46787
|
];
|
|
46779
46788
|
default:
|
|
46780
|
-
|
|
46789
|
+
ko(s), J(!1);
|
|
46781
46790
|
}
|
|
46782
|
-
},
|
|
46791
|
+
}, fl = /* @__PURE__ */ new Set(["f32", "f32-planar", "s16", "s16-planar", "s32", "s32-planar", "u8", "u8-planar"]);
|
|
46783
46792
|
class ni {
|
|
46784
46793
|
/** The presentation timestamp of the sample in microseconds. */
|
|
46785
46794
|
get microsecondTimestamp() {
|
|
@@ -46802,7 +46811,7 @@ class ni {
|
|
|
46802
46811
|
} else {
|
|
46803
46812
|
if (!e || typeof e != "object")
|
|
46804
46813
|
throw new TypeError("Invalid AudioDataInit: must be an object.");
|
|
46805
|
-
if (!
|
|
46814
|
+
if (!fl.has(e.format))
|
|
46806
46815
|
throw new TypeError("Invalid AudioDataInit: invalid format.");
|
|
46807
46816
|
if (!Number.isFinite(e.sampleRate) || e.sampleRate <= 0)
|
|
46808
46817
|
throw new TypeError("Invalid AudioDataInit: sampleRate must be > 0.");
|
|
@@ -46834,7 +46843,7 @@ class ni {
|
|
|
46834
46843
|
throw new TypeError("options must be an object.");
|
|
46835
46844
|
if (!Number.isInteger(e.planeIndex) || e.planeIndex < 0)
|
|
46836
46845
|
throw new TypeError("planeIndex must be a non-negative integer.");
|
|
46837
|
-
if (e.format !== void 0 && !
|
|
46846
|
+
if (e.format !== void 0 && !fl.has(e.format))
|
|
46838
46847
|
throw new TypeError("Invalid format.");
|
|
46839
46848
|
if (e.frameOffset !== void 0 && (!Number.isInteger(e.frameOffset) || e.frameOffset < 0))
|
|
46840
46849
|
throw new TypeError("frameOffset must be a non-negative integer.");
|
|
@@ -46857,13 +46866,13 @@ class ni {
|
|
|
46857
46866
|
}
|
|
46858
46867
|
/** Copies the audio sample's data to an ArrayBuffer or ArrayBufferView as specified by the given options. */
|
|
46859
46868
|
copyTo(e, t) {
|
|
46860
|
-
if (!
|
|
46869
|
+
if (!Co(e))
|
|
46861
46870
|
throw new TypeError("destination must be an ArrayBuffer or an ArrayBuffer view.");
|
|
46862
46871
|
if (!t || typeof t != "object")
|
|
46863
46872
|
throw new TypeError("options must be an object.");
|
|
46864
46873
|
if (!Number.isInteger(t.planeIndex) || t.planeIndex < 0)
|
|
46865
46874
|
throw new TypeError("planeIndex must be a non-negative integer.");
|
|
46866
|
-
if (t.format !== void 0 && !
|
|
46875
|
+
if (t.format !== void 0 && !fl.has(t.format))
|
|
46867
46876
|
throw new TypeError("Invalid format.");
|
|
46868
46877
|
if (t.frameOffset !== void 0 && (!Number.isInteger(t.frameOffset) || t.frameOffset < 0))
|
|
46869
46878
|
throw new TypeError("frameOffset must be a non-negative integer.");
|
|
@@ -47189,7 +47198,7 @@ const W8 = (s) => {
|
|
|
47189
47198
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
47190
47199
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
47191
47200
|
*/
|
|
47192
|
-
const
|
|
47201
|
+
const hl = 8, wf = 16;
|
|
47193
47202
|
/*!
|
|
47194
47203
|
* Copyright (c) 2026-present, Vanilagy and contributors
|
|
47195
47204
|
*
|
|
@@ -47374,7 +47383,7 @@ class Cf {
|
|
|
47374
47383
|
}
|
|
47375
47384
|
}
|
|
47376
47385
|
}
|
|
47377
|
-
const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(ze.buffer), ft = (s) => [(s % 256 + 256) % 256], me = (s) => (Vs.setUint16(0, s, !1), [ze[0], ze[1]]), A0 = (s) => (Vs.setInt16(0, s, !1), [ze[0], ze[1]]), I0 = (s) => (Vs.setUint32(0, s, !1), [ze[1], ze[2], ze[3]]), $ = (s) => (Vs.setUint32(0, s, !1), [ze[0], ze[1], ze[2], ze[3]]), ti = (s) => (Vs.setInt32(0, s, !1), [ze[0], ze[1], ze[2], ze[3]]), Ui = (s) => (Vs.setUint32(0, Math.floor(s / 2 ** 32), !1), Vs.setUint32(4, s, !1), [ze[0], ze[1], ze[2], ze[3], ze[4], ze[5], ze[6], ze[7]]), T0 = (s) => (Vs.setInt16(0, 2 ** 8 * s, !1), [ze[0], ze[1]]), zs = (s) => (Vs.setInt32(0, 2 ** 16 * s, !1), [ze[0], ze[1], ze[2], ze[3]]),
|
|
47386
|
+
const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(ze.buffer), ft = (s) => [(s % 256 + 256) % 256], me = (s) => (Vs.setUint16(0, s, !1), [ze[0], ze[1]]), A0 = (s) => (Vs.setInt16(0, s, !1), [ze[0], ze[1]]), I0 = (s) => (Vs.setUint32(0, s, !1), [ze[1], ze[2], ze[3]]), $ = (s) => (Vs.setUint32(0, s, !1), [ze[0], ze[1], ze[2], ze[3]]), ti = (s) => (Vs.setInt32(0, s, !1), [ze[0], ze[1], ze[2], ze[3]]), Ui = (s) => (Vs.setUint32(0, Math.floor(s / 2 ** 32), !1), Vs.setUint32(4, s, !1), [ze[0], ze[1], ze[2], ze[3], ze[4], ze[5], ze[6], ze[7]]), T0 = (s) => (Vs.setInt16(0, 2 ** 8 * s, !1), [ze[0], ze[1]]), zs = (s) => (Vs.setInt32(0, 2 ** 16 * s, !1), [ze[0], ze[1], ze[2], ze[3]]), pl = (s) => (Vs.setInt32(0, 2 ** 30 * s, !1), [ze[0], ze[1], ze[2], ze[3]]), gl = (s, e) => {
|
|
47378
47387
|
const t = [];
|
|
47379
47388
|
let i = s;
|
|
47380
47389
|
do {
|
|
@@ -47406,13 +47415,13 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
47406
47415
|
}, N0 = /* @__PURE__ */ E0(0), P0 = (s) => [
|
|
47407
47416
|
zs(s[0]),
|
|
47408
47417
|
zs(s[1]),
|
|
47409
|
-
|
|
47418
|
+
pl(s[2]),
|
|
47410
47419
|
zs(s[3]),
|
|
47411
47420
|
zs(s[4]),
|
|
47412
|
-
|
|
47421
|
+
pl(s[5]),
|
|
47413
47422
|
zs(s[6]),
|
|
47414
47423
|
zs(s[7]),
|
|
47415
|
-
|
|
47424
|
+
pl(s[8])
|
|
47416
47425
|
], be = (s, e, t) => ({
|
|
47417
47426
|
type: s,
|
|
47418
47427
|
contents: e && new Uint8Array(e.flat(10)),
|
|
@@ -47750,7 +47759,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
47750
47759
|
], be(s, i, [
|
|
47751
47760
|
eE(e.track.source._codec, e.muxer.isQuickTime)?.(e) ?? null
|
|
47752
47761
|
]);
|
|
47753
|
-
},
|
|
47762
|
+
}, ml = (s) => {
|
|
47754
47763
|
let e;
|
|
47755
47764
|
switch (s.track.source._codec) {
|
|
47756
47765
|
case "aac":
|
|
@@ -47783,7 +47792,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
47783
47792
|
...t,
|
|
47784
47793
|
...ft(5),
|
|
47785
47794
|
// TAG(5) = DecoderSpecificInfo
|
|
47786
|
-
...
|
|
47795
|
+
...gl(i.byteLength),
|
|
47787
47796
|
...i
|
|
47788
47797
|
];
|
|
47789
47798
|
}
|
|
@@ -47794,7 +47803,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
47794
47803
|
// flags etc = 0
|
|
47795
47804
|
...ft(4),
|
|
47796
47805
|
// TAG(4) = ES Descriptor
|
|
47797
|
-
...
|
|
47806
|
+
...gl(t.length),
|
|
47798
47807
|
...t,
|
|
47799
47808
|
...ft(6),
|
|
47800
47809
|
// TAG(6)
|
|
@@ -47805,7 +47814,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
47805
47814
|
], t = [
|
|
47806
47815
|
...ft(3),
|
|
47807
47816
|
// TAG(3) = Object Descriptor
|
|
47808
|
-
...
|
|
47817
|
+
...gl(t.length),
|
|
47809
47818
|
...t
|
|
47810
47819
|
], We("esds", 0, 0, t);
|
|
47811
47820
|
}, ei = (s) => be("wave", void 0, [
|
|
@@ -48105,7 +48114,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
48105
48114
|
case "images":
|
|
48106
48115
|
break;
|
|
48107
48116
|
default:
|
|
48108
|
-
|
|
48117
|
+
ko(t);
|
|
48109
48118
|
}
|
|
48110
48119
|
if (e.raw)
|
|
48111
48120
|
for (const t in e.raw) {
|
|
@@ -48204,7 +48213,7 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
48204
48213
|
case "raw":
|
|
48205
48214
|
break;
|
|
48206
48215
|
default:
|
|
48207
|
-
|
|
48216
|
+
ko(i);
|
|
48208
48217
|
}
|
|
48209
48218
|
if (s.raw)
|
|
48210
48219
|
for (const i in s.raw) {
|
|
@@ -48343,13 +48352,13 @@ const ze = /* @__PURE__ */ new Uint8Array(8), Vs = /* @__PURE__ */ new DataView(
|
|
|
48343
48352
|
}, eE = (s, e) => {
|
|
48344
48353
|
switch (s) {
|
|
48345
48354
|
case "aac":
|
|
48346
|
-
return
|
|
48355
|
+
return ml;
|
|
48347
48356
|
case "mp3":
|
|
48348
|
-
return
|
|
48357
|
+
return ml;
|
|
48349
48358
|
case "opus":
|
|
48350
48359
|
return ST;
|
|
48351
48360
|
case "vorbis":
|
|
48352
|
-
return
|
|
48361
|
+
return ml;
|
|
48353
48362
|
case "flac":
|
|
48354
48363
|
return AT;
|
|
48355
48364
|
}
|
|
@@ -48453,17 +48462,17 @@ class iE {
|
|
|
48453
48462
|
return this.trackedWrites = null, t;
|
|
48454
48463
|
}
|
|
48455
48464
|
}
|
|
48456
|
-
const
|
|
48465
|
+
const yl = 2 ** 16, bl = 2 ** 32;
|
|
48457
48466
|
class L0 extends iE {
|
|
48458
48467
|
constructor(e) {
|
|
48459
48468
|
if (super(), this.pos = 0, this.maxPos = 0, this.target = e, this.supportsResize = "resize" in new ArrayBuffer(0), this.supportsResize)
|
|
48460
48469
|
try {
|
|
48461
|
-
this.buffer = new ArrayBuffer(
|
|
48470
|
+
this.buffer = new ArrayBuffer(yl, { maxByteLength: bl });
|
|
48462
48471
|
} catch {
|
|
48463
|
-
this.buffer = new ArrayBuffer(
|
|
48472
|
+
this.buffer = new ArrayBuffer(yl), this.supportsResize = !1;
|
|
48464
48473
|
}
|
|
48465
48474
|
else
|
|
48466
|
-
this.buffer = new ArrayBuffer(
|
|
48475
|
+
this.buffer = new ArrayBuffer(yl);
|
|
48467
48476
|
this.bytes = new Uint8Array(this.buffer);
|
|
48468
48477
|
}
|
|
48469
48478
|
ensureSize(e) {
|
|
@@ -48471,8 +48480,8 @@ class L0 extends iE {
|
|
|
48471
48480
|
for (; t < e; )
|
|
48472
48481
|
t *= 2;
|
|
48473
48482
|
if (t !== this.buffer.byteLength) {
|
|
48474
|
-
if (t >
|
|
48475
|
-
throw new Error(`ArrayBuffer exceeded maximum size of ${
|
|
48483
|
+
if (t > bl)
|
|
48484
|
+
throw new Error(`ArrayBuffer exceeded maximum size of ${bl} bytes. Please consider using another target.`);
|
|
48476
48485
|
if (this.supportsResize)
|
|
48477
48486
|
this.buffer.resize(t);
|
|
48478
48487
|
else {
|
|
@@ -48631,7 +48640,7 @@ class nE extends X8 {
|
|
|
48631
48640
|
const l = vf(Ar.tempFromBytes(t.data));
|
|
48632
48641
|
if (!l)
|
|
48633
48642
|
throw new Error("Couldn't parse ADTS header from the AAC packet. Make sure the packets are in ADTS format (as specified in ISO 13818-7) when not providing a description, or provide a description (must be an AudioSpecificConfig as specified in ISO 14496-3) and ensure the packets are raw AAC data.");
|
|
48634
|
-
const c =
|
|
48643
|
+
const c = Jn[l.samplingFrequencyIndex], d = Jc[l.channelConfiguration];
|
|
48635
48644
|
if (c === void 0 || d === void 0)
|
|
48636
48645
|
throw new Error("Invalid ADTS frame header.");
|
|
48637
48646
|
r.description = w0({
|
|
@@ -48937,7 +48946,7 @@ class nE extends X8 {
|
|
|
48937
48946
|
}
|
|
48938
48947
|
}
|
|
48939
48948
|
const i = this.trackDatas.filter((p) => p.currentChunk), a = Sf(t, i), r = this.writer.getPos(), n = r + this.boxWriter.measureBox(a);
|
|
48940
|
-
let o = n +
|
|
48949
|
+
let o = n + hl, l = 1 / 0;
|
|
48941
48950
|
for (const p of i) {
|
|
48942
48951
|
p.currentChunk.offset = o, p.currentChunk.moofOffset = r;
|
|
48943
48952
|
for (const g of p.currentChunk.samples)
|
|
@@ -48947,7 +48956,7 @@ class nE extends X8 {
|
|
|
48947
48956
|
const c = o - n, d = c >= 2 ** 32;
|
|
48948
48957
|
if (d)
|
|
48949
48958
|
for (const p of i)
|
|
48950
|
-
p.currentChunk.offset += wf -
|
|
48959
|
+
p.currentChunk.offset += wf - hl;
|
|
48951
48960
|
this.format._options.onMoof && this.writer.startTrackingWrites();
|
|
48952
48961
|
const u = Sf(t, i);
|
|
48953
48962
|
if (this.boxWriter.writeBox(u), this.format._options.onMoof) {
|
|
@@ -48956,7 +48965,7 @@ class nE extends X8 {
|
|
|
48956
48965
|
}
|
|
48957
48966
|
J(this.writer.getPos() === n), this.format._options.onMdat && this.writer.startTrackingWrites();
|
|
48958
48967
|
const f = rn(d);
|
|
48959
|
-
f.size = c, this.boxWriter.writeBox(f), this.writer.seek(n + (d ? wf :
|
|
48968
|
+
f.size = c, this.boxWriter.writeBox(f), this.writer.seek(n + (d ? wf : hl));
|
|
48960
48969
|
for (const p of i)
|
|
48961
48970
|
for (const g of p.currentChunk.samples)
|
|
48962
48971
|
this.writer.write(g.data), g.data = null;
|
|
@@ -49092,7 +49101,7 @@ class R0 {
|
|
|
49092
49101
|
}
|
|
49093
49102
|
/** Returns a list of subtitle codecs that this output format can contain. */
|
|
49094
49103
|
getSupportedSubtitleCodecs() {
|
|
49095
|
-
return this.getSupportedCodecs().filter((e) =>
|
|
49104
|
+
return this.getSupportedCodecs().filter((e) => Kn.includes(e));
|
|
49096
49105
|
}
|
|
49097
49106
|
/** @internal */
|
|
49098
49107
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -49167,7 +49176,7 @@ class z0 extends D0 {
|
|
|
49167
49176
|
"pcm-f32be",
|
|
49168
49177
|
"pcm-f64",
|
|
49169
49178
|
"pcm-f64be",
|
|
49170
|
-
...
|
|
49179
|
+
...Kn
|
|
49171
49180
|
];
|
|
49172
49181
|
}
|
|
49173
49182
|
/** @internal */
|
|
@@ -49213,7 +49222,7 @@ const oE = (s) => {
|
|
|
49213
49222
|
throw new TypeError("Encoding config must be an object.");
|
|
49214
49223
|
if (!zi.includes(s.codec))
|
|
49215
49224
|
throw new TypeError(`Invalid video codec '${s.codec}'. Must be one of: ${zi.join(", ")}.`);
|
|
49216
|
-
if (!(s.bitrate instanceof
|
|
49225
|
+
if (!(s.bitrate instanceof So) && (!Number.isInteger(s.bitrate) || s.bitrate <= 0))
|
|
49217
49226
|
throw new TypeError("config.bitrate must be a positive integer or a quality.");
|
|
49218
49227
|
if (s.keyFrameInterval !== void 0 && (!Number.isFinite(s.keyFrameInterval) || s.keyFrameInterval < 0))
|
|
49219
49228
|
throw new TypeError("config.keyFrameInterval, when provided, must be a non-negative number.");
|
|
@@ -49244,7 +49253,7 @@ const oE = (s) => {
|
|
|
49244
49253
|
if (e.contentHint !== void 0 && typeof e.contentHint != "string")
|
|
49245
49254
|
throw new TypeError("contentHint, when provided, must be a string.");
|
|
49246
49255
|
}, cE = (s) => {
|
|
49247
|
-
const e = s.bitrate instanceof
|
|
49256
|
+
const e = s.bitrate instanceof So ? s.bitrate._toVideoBitrate(s.codec, s.width, s.height) : s.bitrate;
|
|
49248
49257
|
return {
|
|
49249
49258
|
codec: s.fullCodecString ?? i8(s.codec, s.width, s.height, e),
|
|
49250
49259
|
width: s.width,
|
|
@@ -49266,7 +49275,7 @@ const oE = (s) => {
|
|
|
49266
49275
|
throw new TypeError(`Invalid audio codec '${s.codec}'. Must be one of: ${Ia.join(", ")}.`);
|
|
49267
49276
|
if (s.bitrate === void 0 && (!Fs.includes(s.codec) || s.codec === "flac"))
|
|
49268
49277
|
throw new TypeError("config.bitrate must be provided for compressed audio codecs.");
|
|
49269
|
-
if (s.bitrate !== void 0 && !(s.bitrate instanceof
|
|
49278
|
+
if (s.bitrate !== void 0 && !(s.bitrate instanceof So) && (!Number.isInteger(s.bitrate) || s.bitrate <= 0))
|
|
49270
49279
|
throw new TypeError("config.bitrate, when provided, must be a positive integer or a quality.");
|
|
49271
49280
|
if (s.onEncodedPacket !== void 0 && typeof s.onEncodedPacket != "function")
|
|
49272
49281
|
throw new TypeError("config.onEncodedChunk, when provided, must be a function.");
|
|
@@ -49283,7 +49292,7 @@ const oE = (s) => {
|
|
|
49283
49292
|
if (e.fullCodecString !== void 0 && x0(e.fullCodecString) !== s)
|
|
49284
49293
|
throw new TypeError(`fullCodecString, when provided, must be a string that matches the specified codec (${s}).`);
|
|
49285
49294
|
}, fE = (s) => {
|
|
49286
|
-
const e = s.bitrate instanceof
|
|
49295
|
+
const e = s.bitrate instanceof So ? s.bitrate._toAudioBitrate(s.codec) : s.bitrate;
|
|
49287
49296
|
return {
|
|
49288
49297
|
codec: s.fullCodecString ?? r8(s.codec, s.numberOfChannels, s.sampleRate),
|
|
49289
49298
|
numberOfChannels: s.numberOfChannels,
|
|
@@ -49293,7 +49302,7 @@ const oE = (s) => {
|
|
|
49293
49302
|
...l8(s.codec)
|
|
49294
49303
|
};
|
|
49295
49304
|
};
|
|
49296
|
-
class
|
|
49305
|
+
class So {
|
|
49297
49306
|
/** @internal */
|
|
49298
49307
|
constructor(e) {
|
|
49299
49308
|
this._factor = e;
|
|
@@ -49917,7 +49926,7 @@ class mE {
|
|
|
49917
49926
|
t === "float" ? this.writeOutputValue = (r, n, o) => r.setFloat64(n, o, a) : J(!1);
|
|
49918
49927
|
break;
|
|
49919
49928
|
default:
|
|
49920
|
-
|
|
49929
|
+
ko(i), J(!1);
|
|
49921
49930
|
}
|
|
49922
49931
|
}
|
|
49923
49932
|
async flushAndClose(e) {
|
|
@@ -49958,8 +49967,8 @@ class yE extends W0 {
|
|
|
49958
49967
|
class bE extends id {
|
|
49959
49968
|
/** Internal constructor. */
|
|
49960
49969
|
constructor(e) {
|
|
49961
|
-
if (super(), this._connectedTrack = null, !
|
|
49962
|
-
throw new TypeError(`Invalid subtitle codec '${e}'. Must be one of: ${
|
|
49970
|
+
if (super(), this._connectedTrack = null, !Kn.includes(e))
|
|
49971
|
+
throw new TypeError(`Invalid subtitle codec '${e}'. Must be one of: ${Kn.join(", ")}.`);
|
|
49963
49972
|
this._codec = e;
|
|
49964
49973
|
}
|
|
49965
49974
|
}
|
|
@@ -49970,7 +49979,7 @@ class bE extends id {
|
|
|
49970
49979
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
49971
49980
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
49972
49981
|
*/
|
|
49973
|
-
const wE = ["video", "audio", "subtitle"],
|
|
49982
|
+
const wE = ["video", "audio", "subtitle"], wl = (s) => {
|
|
49974
49983
|
if (!s || typeof s != "object")
|
|
49975
49984
|
throw new TypeError("metadata must be an object.");
|
|
49976
49985
|
if (s.languageCode !== void 0 && !K6(s.languageCode))
|
|
@@ -50000,7 +50009,7 @@ class vE {
|
|
|
50000
50009
|
addVideoTrack(e, t = {}) {
|
|
50001
50010
|
if (!(e instanceof Z0))
|
|
50002
50011
|
throw new TypeError("source must be a VideoSource.");
|
|
50003
|
-
if (
|
|
50012
|
+
if (wl(t), t.rotation !== void 0 && ![0, 90, 180, 270].includes(t.rotation))
|
|
50004
50013
|
throw new TypeError(`Invalid video rotation: ${t.rotation}. Has to be 0, 90, 180 or 270.`);
|
|
50005
50014
|
if (!this.format.supportsVideoRotationMetadata && t.rotation)
|
|
50006
50015
|
throw new Error(`${this.format._name} does not support video rotation metadata.`);
|
|
@@ -50012,13 +50021,13 @@ class vE {
|
|
|
50012
50021
|
addAudioTrack(e, t = {}) {
|
|
50013
50022
|
if (!(e instanceof W0))
|
|
50014
50023
|
throw new TypeError("source must be an AudioSource.");
|
|
50015
|
-
|
|
50024
|
+
wl(t), this._addTrack("audio", e, t);
|
|
50016
50025
|
}
|
|
50017
50026
|
/** Adds a subtitle track to the output with the given source. Can only be called before the output is started. */
|
|
50018
50027
|
addSubtitleTrack(e, t = {}) {
|
|
50019
50028
|
if (!(e instanceof bE))
|
|
50020
50029
|
throw new TypeError("source must be a SubtitleSource.");
|
|
50021
|
-
|
|
50030
|
+
wl(t), this._addTrack("subtitle", e, t);
|
|
50022
50031
|
}
|
|
50023
50032
|
/**
|
|
50024
50033
|
* Sets descriptive metadata tags about the media file, such as title, author, date, or cover art. When called
|
|
@@ -50718,15 +50727,15 @@ function Y0(s) {
|
|
|
50718
50727
|
return [".mp4", ".webm", ".mov", ".m4v", ".avi", ".mkv", ".ogv", ".ogg"].some((i) => e.endsWith(i)) ? "video" : "image";
|
|
50719
50728
|
}
|
|
50720
50729
|
const IE = '.ss-toolbar-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;padding:4px 2px;border-radius:4px;color:#00000026;transition:color .15s ease;flex-shrink:0;user-select:none;-webkit-user-select:none}.ss-toolbar-drag-handle:hover{color:#0006}.ss-toolbar-drag-handle--dark{color:#fff3}.ss-toolbar-drag-handle--dark:hover{color:#ffffff80}.ss-toolbar--dragging{box-shadow:0 8px 32px #00000026,0 0 0 1px #00000014;z-index:9999!important;user-select:none;-webkit-user-select:none}.ss-toolbar-drag-handle:active,.ss-toolbar--dragging .ss-toolbar-drag-handle{cursor:grabbing}body.ss-dragging-toolbar,body.ss-dragging-toolbar *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}.ss-toolbar{display:none;position:absolute;top:12px;left:50%;transform:translate(-50%);background:#18181bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;gap:2px;z-index:10;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;align-items:center;box-shadow:0 4px 24px #0006,0 0 0 1px #0003,inset 0 1px #ffffff0d}.ss-toolbar.visible{display:flex}.ss-toolbar-group{display:flex;align-items:center;gap:1px}.ss-toolbar-group--bordered{background:#ffffff0a;border-radius:6px;padding:2px}.ss-toolbar-divider{width:1px;height:20px;background:#ffffff1a;margin:0 6px}.ss-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#ffffffa6;cursor:pointer;transition:all .15s ease;position:relative}.ss-toolbar-btn:hover{background:#ffffff1a;color:#fffffff2}.ss-toolbar-btn.active{background:#ffffff26;color:#fff}.ss-toolbar-btn--text{font-size:13px;font-weight:600;letter-spacing:-.01em}.ss-toolbar-btn--underline{text-decoration:underline;text-underline-offset:2px}.ss-toolbar-value{min-width:32px;text-align:center;font-size:12px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ss-toolbar-color-wrap{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.ss-toolbar-color{width:22px;height:22px;padding:0;border:none;border-radius:50%;cursor:pointer;background:transparent}.ss-toolbar-color::-webkit-color-swatch-wrapper{padding:0}.ss-toolbar-color::-webkit-color-swatch{border:2px solid rgba(255,255,255,.2);border-radius:50%;box-shadow:0 0 0 1px #0000004d}.ss-toolbar-color::-moz-color-swatch{border:2px solid rgba(255,255,255,.2);border-radius:50%}.ss-toolbar-color-btn{width:22px;height:22px;padding:0;border:2px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px #0000004d}.ss-toolbar-dropdown{position:relative}.ss-toolbar-popup{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#202024fa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;min-width:200px;z-index:13;box-shadow:0 8px 32px #00000080,0 0 0 1px #0003}.ss-toolbar-popup.visible{display:block}.ss-toolbar-popup:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:#202024fa;border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1)}.ss-toolbar-popup-header{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.ss-toolbar-popup-row{display:flex;align-items:center;gap:12px}.ss-toolbar-popup-row--buttons{gap:6px}.ss-toolbar-popup-value{min-width:44px;max-width:52px;text-align:right;font-size:13px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 4px;outline:none;font-family:inherit;transition:border-color .15s ease,background-color .15s ease}.ss-toolbar-popup-value:hover{border-color:#fff3}.ss-toolbar-popup-value:focus{border-color:#fff6;background:#ffffff1a}.ss-toolbar-popup-value:disabled{opacity:.5;cursor:not-allowed}.ss-toolbar-popup--wide{min-width:240px}.ss-toolbar-popup-section{margin-bottom:16px}.ss-toolbar-popup-section:last-child{margin-bottom:0}.ss-toolbar-popup-label{font-size:13px;font-weight:500;color:#ffffffe6;margin-bottom:8px}.ss-toolbar-popup-divider{height:1px;background:#ffffff1a;margin:16px 0}.ss-toolbar-slider{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:transparent;border-radius:2px;cursor:pointer}.ss-toolbar-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .15s ease;margin-top:-6px}.ss-toolbar-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.ss-toolbar-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.ss-toolbar-slider::-webkit-slider-runnable-track{height:4px;background:#ffffff26;border-radius:2px}.ss-toolbar-slider::-moz-range-track{height:4px;background:#ffffff26;border-radius:2px}.ss-toolbar-anchor-btn{flex:1;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9;cursor:pointer;transition:all .15s ease}.ss-toolbar-anchor-btn:hover{background:#ffffff1f;color:#ffffffe6}.ss-toolbar-anchor-btn.active{background:#ffffff2e;border-color:#fff3;color:#fff}.ss-toolbar-font-btn{display:flex;align-items:center;height:32px;padding:0 8px;gap:4px;background:transparent;border:none;border-radius:6px;color:#ffffffa6;cursor:pointer;font-size:13px;font-weight:500}.ss-toolbar-font-btn:hover{background:#ffffff1a;color:#fffffff2}.ss-toolbar-popup--font{min-width:320px;padding:0;overflow:visible}.ss-toolbar-font-section{margin-bottom:8px}.ss-toolbar-font-section:last-child{margin-bottom:0}.ss-toolbar-font-section-header{font-size:10px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.08em;padding:6px 10px 8px}.ss-toolbar-font-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .12s ease;color:#ffffffd9;font-size:14px}.ss-toolbar-font-item:hover{background:#ffffff14}.ss-toolbar-font-item.active{background:#ffffff1f}.ss-toolbar-font-item.active:after{content:"";width:6px;height:6px;background:#fff;border-radius:50%;flex-shrink:0;margin-left:8px}.ss-toolbar-font-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-toolbar-dropdown--size{position:relative}.ss-toolbar-size-input{width:36px;text-align:center;font-size:12px;font-weight:500;color:#ffffffe6;background:transparent;border:none;outline:none;font-variant-numeric:tabular-nums;cursor:pointer;padding:4px 2px;border-radius:4px}.ss-toolbar-size-input:hover{background:#ffffff14}.ss-toolbar-size-input:focus{background:#ffffff1a;cursor:text}.ss-toolbar-popup--size{min-width:80px;max-height:280px;overflow-y:auto;padding:6px}.ss-toolbar-size-item{padding:8px 12px;text-align:center;font-size:13px;color:#ffffffd9;border-radius:6px;cursor:pointer;transition:background .12s ease}.ss-toolbar-size-item:hover{background:#ffffff14}.ss-toolbar-size-item.active{background:#ffffff1f}.ss-toolbar-dropdown--weight{position:relative}.ss-toolbar-font-btn--weight{min-width:64px;justify-content:space-between}.ss-toolbar-popup--weight{min-width:120px;max-height:280px;overflow-y:auto;padding:6px}.ss-toolbar-weight-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:13px;color:#ffffffd9;border-radius:6px;cursor:pointer;transition:background .12s ease}.ss-toolbar-weight-item:hover{background:#ffffff14}.ss-toolbar-weight-item.active{background:#ffffff1f}.ss-toolbar-weight-name{flex:1}.ss-toolbar-weight-check-slot{flex-shrink:0;width:12px;height:12px;margin-left:8px}.ss-toolbar-weight-check{color:#ffffffb3}.ss-toolbar-btn.ss-toolbar-btn--text-edit{width:auto;min-width:auto;padding:0 10px;gap:6px;font-size:12px;font-weight:500;white-space:nowrap}.ss-toolbar-popup--text-edit{min-width:280px;padding:14px 16px}.ss-toolbar-text-area-wrapper{position:relative}.ss-toolbar-text-area{width:100%;min-height:80px;max-height:200px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#ffffffe6;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;outline:none;box-sizing:border-box}.ss-toolbar-text-area:focus{border-color:#fff3;background:#ffffff14}.ss-toolbar-text-area::placeholder{color:#fff6}.ss-autocomplete-popup{display:none;position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:#202024fa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;max-height:160px;overflow-y:auto;z-index:15;box-shadow:0 4px 16px #0000004d}.ss-autocomplete-popup.visible{display:block}.ss-autocomplete-item{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .1s ease}.ss-autocomplete-item:hover,.ss-autocomplete-item.selected{background:#ffffff1a}.ss-autocomplete-var{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;color:#6366f1e6;font-size:13px;font-weight:500}.ss-autocomplete-preview{color:#fff6;font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-toolbar-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#007aff}.ss-toolbar-popup--animation{min-width:240px}.ss-animation-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ss-animation-preset{padding:10px 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:500;text-align:center;white-space:nowrap}.ss-animation-preset:hover{background:#ffffff1a;border-color:#ffffff26;color:#ffffffe6}.ss-animation-preset.active{background:#ffffff26;border-color:#ffffff40;color:#fff}.ss-toolbar-popup--transition{min-width:220px;padding:12px}.ss-toolbar-popup--effect{min-width:200px;padding:12px}.ss-toolbar-popup--style{min-width:260px;padding:12px}.ss-style-tabs{display:flex;background:#ffffff0f;border-radius:6px;padding:2px;margin-bottom:12px}.ss-style-tab{flex:1;padding:6px 8px;background:transparent;border:none;border-radius:4px;color:#ffffff80;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.03em}.ss-style-tab:hover{color:#ffffffb3}.ss-style-tab.active{background:#ffffff1f;color:#fff}.ss-style-panel{animation:fadeSlideIn .15s ease}.ss-style-color-picker-mount{min-height:180px}.ss-merge-label{display:flex;align-items:center;gap:4px;position:relative;font-size:13px;font-weight:500;color:#ffffffe6}.ss-merge-label__text{flex:1}.ss-merge-label__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;color:#fff6;cursor:pointer;border-radius:4px;padding:0;transition:color .15s,background .15s}.ss-merge-label__icon:hover{color:#ffffffe6;background:#ffffff1a}.ss-merge-label--bound .ss-merge-label__icon{color:#4ecdc4}.ss-merge-label--bound .ss-merge-label__icon:hover{color:#5df5eb;background:#4ecdc426}.ss-merge-label__bound-name{color:#4ecdc4;font-weight:400;font-size:11px;margin-left:2px}.ss-merge-label__dropdown{position:absolute;top:100%;right:0;min-width:200px;z-index:100;margin-top:4px;padding:8px 0;background:#202024fa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 8px 32px #00000080,0 0 0 1px #0003}.ss-merge-label__header{font-size:10px;font-weight:600;letter-spacing:.05em;color:#fff6;padding:4px 12px 8px;text-transform:uppercase}.ss-merge-label__create{display:block;width:100%;text-align:left;background:none;border:none;color:#ffffffe6;font-size:13px;padding:6px 12px;cursor:pointer}.ss-merge-label__create:hover{background:#ffffff14}.ss-merge-label__field{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:#fffc;font-size:13px;padding:6px 12px;cursor:pointer}.ss-merge-label__field:hover{background:#ffffff14}.ss-merge-label__field--active{background:#4ecdc4;color:#1a1a2e}.ss-merge-label__field--active:hover{background:#5df5eb}.ss-merge-label__field--disabled{opacity:.35;cursor:default;pointer-events:none}.ss-merge-label__field-name{font-weight:500;flex:1}.ss-merge-label__field-value{font-size:11px;opacity:.6;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-merge-label__field--active .ss-merge-label__field-value{opacity:.7}.ss-merge-label__clear{display:block;width:100%;text-align:left;background:none;border:none;border-top:1px solid rgba(255,255,255,.1);color:#fff9;font-size:13px;padding:8px 12px 4px;margin-top:4px;cursor:pointer}.ss-merge-label__clear:hover{color:#ffffffe6}.ss-toolbar-popup-row--disabled{opacity:.3;pointer-events:none}.ss-toolbar-slider:disabled{opacity:.3;pointer-events:none}.ss-toolbar-color:disabled{opacity:.3;pointer-events:none}.ss-toolbar-popup-value:disabled,input.ss-toolbar-popup-value:disabled{opacity:.3;pointer-events:none}.ss-svg-toolbar{display:none}.ss-svg-toolbar.visible{display:flex;align-items:center;gap:8px}.ss-toolbar-color-input{width:32px;height:32px;border-radius:4px;border:1px solid rgba(255,255,255,.1);cursor:pointer;background:transparent;padding:0}.ss-toolbar-color-input:hover{border-color:#fff3}.ss-toolbar-slider-group--inline{display:flex;align-items:center;gap:6px}.ss-toolbar-slider-group--inline label{font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.5px;min-width:32px}.ss-toolbar-inline-icon{width:16px;height:16px;color:#fff9;flex-shrink:0}.ss-toolbar-slider-group--inline .ss-toolbar-slider{width:80px}.ss-toolbar-slider-group--inline .ss-toolbar-value{font-size:11px;color:#fffc;min-width:36px;text-align:right}.ss-toolbar-number-input{width:60px;height:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffe6;font-size:12px;padding:0 8px;text-align:center}.ss-toolbar-number-input:hover{background:#ffffff14;border-color:#fff3}.ss-toolbar-number-input:focus{outline:none;background:#ffffff1a;border-color:#ffffff4d}.ss-conditional-control,.ss-conditional-divider{display:none}.ss-media-toolbar{display:none;position:absolute;top:12px;left:50%;transform:translate(-50%);background:#18181bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;gap:2px;z-index:10;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;align-items:center;box-shadow:0 4px 24px #0006,0 0 0 1px #0003,inset 0 1px #ffffff0d}.ss-media-toolbar.visible{display:flex}.ss-media-toolbar-visual{display:flex;align-items:center}.ss-media-toolbar-visual.hidden{display:none}.ss-media-toolbar-group{display:flex;align-items:center;gap:1px}.ss-media-toolbar-group--bordered{background:#ffffff0a;border-radius:6px;padding:2px}.ss-media-toolbar-divider{width:1px;height:20px;background:#ffffff1a;margin:0 6px}.ss-media-toolbar-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:32px;height:32px;padding:0 10px;background:transparent;border:none;border-radius:6px;color:#ffffffa6;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative;white-space:nowrap}.ss-media-toolbar-btn:hover{background:#ffffff1a;color:#fffffff2}.ss-media-toolbar-btn.active{background:#ffffff26;color:#fff}.ss-media-toolbar-btn svg{width:16px;height:16px;flex-shrink:0}.ss-media-toolbar-btn .chevron{width:10px;height:10px;opacity:.5;margin-left:-2px}.ss-media-toolbar-value{min-width:36px;text-align:center;font-size:12px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums}.ss-media-toolbar-dropdown{position:relative}.ss-media-toolbar-popup{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#202024fa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px;min-width:180px;z-index:13;box-shadow:0 8px 32px #00000080,0 0 0 1px #0003}.ss-media-toolbar-popup.visible{display:block}.ss-media-toolbar-popup:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:#202024fa;border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1)}.ss-media-toolbar-popup-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s ease;font-size:13px;font-weight:500;color:#ffffffd9}.ss-media-toolbar-popup-item:hover{background:#ffffff14}.ss-media-toolbar-popup-item.active{background:#ffffff1f}.ss-media-toolbar-popup-item .checkmark{width:14px;height:14px;opacity:0;color:#fff}.ss-media-toolbar-popup-item.active .checkmark{opacity:1}.ss-media-toolbar-popup-item-label{display:flex;flex-direction:column;gap:2px}.ss-media-toolbar-popup-item-sublabel{font-size:11px;font-weight:400;color:#fff6}.ss-media-toolbar-popup--slider{min-width:200px;padding:14px 16px}.ss-media-toolbar-popup-header{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.ss-media-toolbar-slider-row{display:flex;align-items:center;gap:12px}.ss-media-toolbar-slider{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:#ffffff26;border-radius:2px;cursor:pointer}.ss-media-toolbar-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .15s ease;margin-top:-6px}.ss-media-toolbar-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.ss-media-toolbar-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.ss-media-toolbar-slider::-webkit-slider-runnable-track{height:4px;background:#ffffff26;border-radius:2px}.ss-media-toolbar-slider::-moz-range-track{height:4px;background:#ffffff26;border-radius:2px}.ss-media-toolbar-slider-value{min-width:44px;max-width:52px;text-align:right;font-size:13px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 4px;outline:none;font-family:inherit;transition:border-color .15s ease,background-color .15s ease}.ss-media-toolbar-slider-value:hover{border-color:#fff3}.ss-media-toolbar-slider-value:focus{border-color:#fff6;background:#ffffff1a}.ss-media-toolbar-slider-value:disabled{opacity:.5;cursor:not-allowed}.ss-media-toolbar-presets{display:flex;gap:6px;margin-top:12px}.ss-media-toolbar-preset{flex:1;padding:8px 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.ss-media-toolbar-preset:hover{background:#ffffff1a;border-color:#ffffff26;color:#ffffffe6}.ss-media-toolbar-preset.active{background:#ffffff26;border-color:#ffffff40;color:#fff}[data-volume-icon],.ss-media-toolbar-volume{display:flex;align-items:center}.ss-media-toolbar-volume.hidden{display:none}.ss-media-toolbar-popup--transition{min-width:220px;padding:12px}.ss-transition-tabs{display:flex;background:#ffffff0f;border-radius:6px;padding:2px;margin-bottom:12px}.ss-transition-tab{flex:1;padding:6px 12px;background:transparent;border:none;border-radius:4px;color:#ffffff80;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.03em}.ss-transition-tab:hover{color:#ffffffb3}.ss-transition-tab.active{background:#ffffff1f;color:#fff}.ss-transition-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.ss-transition-effect{padding:8px 4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#fff9;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.ss-transition-effect:hover{background:#ffffff14;color:#ffffffe6}.ss-transition-effect.active{background:#ffffff1f;border-color:#fff3;color:#fff}.ss-transition-direction-row{display:none;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.ss-transition-direction-row.visible{display:flex}.ss-transition-label{font-size:10px;font-weight:500;color:#fff6;min-width:52px}.ss-transition-directions{display:flex;gap:4px;flex:1}.ss-transition-dir{flex:1;padding:6px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:5px;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .15s ease;text-align:center}.ss-transition-dir:hover{background:#ffffff14;color:#ffffffe6}.ss-transition-dir.active{background:#ffffff1f;border-color:#fff3;color:#fff}.ss-transition-dir.hidden{display:none}.ss-transition-speed-row{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.ss-transition-speed-stepper{display:flex;align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden}.ss-transition-speed-btn{width:28px;height:26px;background:transparent;border:none;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.ss-transition-speed-btn:hover{background:#ffffff14;color:#ffffffe6}.ss-transition-speed-btn:active{background:#ffffff1f}.ss-transition-speed-btn:disabled{opacity:.3;cursor:not-allowed}.ss-transition-speed-value{min-width:42px;padding:0 4px;text-align:center;font-size:11px;font-weight:500;color:#ffffffd9;font-variant-numeric:tabular-nums;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}.ss-media-toolbar-btn--icon{min-width:32px;padding:0 8px}.ss-media-toolbar-popup--advanced{min-width:200px;padding:12px}.ss-advanced-option{display:flex;align-items:center;justify-content:space-between;gap:12px}.ss-advanced-label{font-size:12px;font-weight:500;color:#ffffffd9}.ss-toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.ss-toggle input{opacity:0;width:0;height:0}.ss-toggle-slider{position:absolute;cursor:pointer;inset:0;background:#ffffff1a;border-radius:10px;transition:.2s ease}.ss-toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#ffffffe6;border-radius:50%;transition:.2s ease}.ss-toggle input:checked+.ss-toggle-slider{background:#6366f1cc}.ss-toggle input:checked+.ss-toggle-slider:before{transform:translate(16px)}.ss-dynamic-panel{display:none;padding-top:12px;margin-top:12px;border-top:1px solid rgba(255,255,255,.08)}.ss-dynamic-input-wrapper{position:relative}.ss-dynamic-input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;color:#ffffffe6;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box}.ss-dynamic-input:focus{border-color:#fff3;background:#ffffff14}.ss-dynamic-input::placeholder{color:#fff6}.ss-dynamic-input.error{border-color:#ef444499;background:#ef44441a}.ss-dynamic-input.error:focus{border-color:#ef4444cc}.ss-dynamic-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#202024fa;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:6px;max-height:160px;overflow-y:auto;z-index:13}.ss-dynamic-dropdown.visible{display:block}.ss-dynamic-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background .1s ease}.ss-dynamic-item:hover,.ss-dynamic-item.selected{background:#ffffff1a}.ss-dynamic-item-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:12px;color:#6366f1e6}.ss-dynamic-item-preview{font-size:11px;color:#fff6;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-dynamic-item--create{border-top:1px solid rgba(255,255,255,.06)}.ss-dynamic-item--create .ss-dynamic-item-name{color:#34d399e6}.ss-dynamic-empty{padding:12px;text-align:center;font-size:11px;color:#fff6}.ss-media-toolbar-popup--effect{min-width:200px;padding:12px}.ss-effect-types{display:flex;gap:6px}.ss-effect-type{flex:1;padding:10px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff9;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.ss-effect-type:hover{background:#ffffff14;color:#ffffffe6}.ss-effect-type.active{background:#ffffff1f;border-color:#fff3;color:#fff}.ss-effect-variant-row{display:none;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);animation:fadeSlideIn .15s ease}.ss-effect-variant-row.visible{display:flex}.ss-effect-variants{display:flex;gap:4px;flex:1}.ss-effect-variant{flex:1;padding:6px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffff80;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:center}.ss-effect-variant:hover{background:#ffffff14;color:#ffffffe6}.ss-effect-variant.active{background:#ffffff1f;border-color:#fff3;color:#fff}.ss-effect-direction-row{display:none;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);animation:fadeSlideIn .15s ease}.ss-effect-direction-row.visible{display:flex}.ss-effect-directions{display:flex;gap:4px;flex:1}.ss-effect-dir{flex:1;padding:6px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffff80;font-size:13px;cursor:pointer;transition:all .15s ease;text-align:center}.ss-effect-dir:hover{background:#ffffff14;color:#ffffffe6}.ss-effect-dir.active{background:#ffffff1f;border-color:#fff3;color:#fff}.ss-effect-speed-row{display:none;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);animation:fadeSlideIn .15s ease}.ss-effect-speed-row.visible{display:flex}.ss-effect-label{font-size:10px;font-weight:500;color:#fff6;text-transform:uppercase;letter-spacing:.03em;min-width:52px}.ss-effect-speed-stepper{display:flex;align-items:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;overflow:hidden}.ss-effect-speed-btn{width:28px;height:26px;background:transparent;border:none;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.ss-effect-speed-btn:hover{background:#ffffff14;color:#ffffffe6}.ss-effect-speed-btn:active{background:#ffffff1f}.ss-effect-speed-btn:disabled{opacity:.3;cursor:not-allowed}.ss-effect-speed-value{min-width:42px;padding:0 4px;text-align:center;font-size:11px;font-weight:500;color:#ffffffd9;font-variant-numeric:tabular-nums;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss-media-toolbar-audio{display:flex;align-items:center}.ss-media-toolbar-audio.hidden{display:none}.ss-media-toolbar-popup--audio-fade{min-width:180px;padding:8px}.ss-audio-fade-options{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ss-audio-fade-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .15s ease}.ss-audio-fade-btn:hover{background:#ffffff14;border-color:#ffffff1f}.ss-audio-fade-btn.active{background:#ffffff1f;border-color:#fff3}.ss-audio-fade-icon{display:flex;align-items:center;justify-content:center;width:32px;height:16px;color:#ffffff80;transition:color .15s ease}.ss-audio-fade-icon svg{width:32px;height:16px}.ss-audio-fade-btn:hover .ss-audio-fade-icon,.ss-audio-fade-btn.active .ss-audio-fade-icon{color:#ffffffe6}.ss-audio-fade-label{font-size:10px;font-weight:500;color:#ffffff80;text-transform:uppercase;letter-spacing:.02em;transition:color .15s ease}.ss-audio-fade-btn:hover .ss-audio-fade-label,.ss-audio-fade-btn.active .ss-audio-fade-label{color:#ffffffe6}.ss-tti-toolbar{display:none;position:absolute;top:12px;left:50%;transform:translate(-50%);background:#18181bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;gap:2px;z-index:10;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;align-items:center;box-shadow:0 4px 24px #0006,0 0 0 1px #0003,inset 0 1px #ffffff0d}.ss-tti-toolbar.visible{display:flex}.ss-tti-prompt-section{display:flex;align-items:center}.ss-tti-prompt-btn{max-width:180px;overflow:hidden;text-overflow:ellipsis}.ss-tti-prompt-btn .ss-tti-prompt-text{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}.ss-tti-prompt-popup{min-width:320px;padding:12px}.ss-tti-prompt-popup .ss-media-toolbar-popup-header{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.ss-tti-prompt-textarea{width:100%;min-height:80px;max-height:200px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#ffffffe6;font-size:13px;font-family:inherit;line-height:1.5;outline:none;resize:vertical;box-sizing:border-box}.ss-tti-prompt-textarea:focus{border-color:#ffffff40;background:#ffffff14}.ss-tti-prompt-textarea::placeholder{color:#ffffff4d}.ss-tti-prompt-hint{margin-top:6px;font-size:11px;color:#ffffff4d}.ss-tti-dimensions-section{display:flex;align-items:center}.ss-tti-dim-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#fff6;margin-right:4px;flex-shrink:0;cursor:default}.ss-tti-dim-icon svg{width:16px;height:16px}.ss-tti-dim-separator{font-size:11px;color:#ffffff4d;margin:0 2px}.ss-tti-dim-btn{min-width:48px;font-variant-numeric:tabular-nums}.ss-tti-dim-description{font-size:11px;font-weight:400;color:#ffffff59;margin-bottom:8px}.ss-tti-visual-section{display:flex;align-items:center}.ss-clip-toolbar{display:none;position:absolute;top:12px;left:50%;transform:translate(-50%);width:fit-content;background:#18181bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 12px;gap:2px;z-index:10;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;align-items:center;box-shadow:0 4px 24px #0006,0 0 0 1px #0003,inset 0 1px #ffffff0d}.ss-clip-toolbar.visible{display:flex}.ss-clip-toolbar-section{display:flex;align-items:center;flex:0 0 auto}.ss-clip-toolbar-divider{width:1px;height:16px;background:#ffffff0f;margin:0 6px}.ss-timing-control{position:relative;display:inline-flex;align-items:center;height:26px;padding:0 6px 0 5px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:6px;gap:4px;cursor:ew-resize;transition:all .15s ease;flex-shrink:0;width:fit-content}.ss-timing-label{display:inline-flex;align-items:center;justify-content:center;padding:2px 3px;background:#ffffff0f;border-radius:3px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;user-select:none;cursor:pointer;transition:color .15s ease,background .15s ease}.ss-timing-control[data-type=start] .ss-timing-label{background:#22c55e1f;color:#22c55ebf}.ss-timing-control[data-type=length] .ss-timing-label{background:#6366f11f;color:#818cf8bf}.ss-timing-control:hover{background:#ffffff14;border-color:#ffffff1a}.ss-timing-control.dragging{background:#6366f11f;border-color:#6366f14d}.ss-timing-control.editing{background:#0000004d;border-color:#6366f166;cursor:text}.ss-timing-mode{display:flex;align-items:center;gap:4px;padding:0;background:transparent;border:none;cursor:pointer;color:#ffffff73;transition:color .15s ease;flex-shrink:0}.ss-timing-mode:hover{color:#ffffffd9}.ss-timing-mode:hover .ss-timing-label{color:#ffffffb3}.ss-timing-mode svg{width:12px;height:12px;flex-shrink:0}.ss-timing-value{width:6ch;height:100%;padding:0;background:transparent;border:none;color:#ffffffd9;font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;text-align:left;cursor:inherit;user-select:none;transition:color .15s ease}.ss-timing-value:focus{outline:none}.ss-timing-control.editing .ss-timing-value{cursor:text;user-select:text;color:#fffffff2}.ss-timing-value.auto-mode{color:#fff6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-style:italic;font-weight:400}.ss-timing-tooltip{position:absolute;top:calc(100% + 8px);left:0;padding:5px 8px;background:#000000e6;border-radius:4px;color:#ffffffe6;font-size:10px;font-weight:500;letter-spacing:.2px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;z-index:14}.ss-timing-tooltip.visible{opacity:1;visibility:visible}.ss-timing-control.dragging,.ss-timing-control.dragging *{cursor:ew-resize!important}.ss-timing-merge-mount{display:inline-flex;align-items:center;position:relative;flex-shrink:0}.ss-timing-merge-mount:empty{display:none}.ss-timing-merge-mount .ss-merge-label{font-size:0;gap:0}.ss-timing-merge-mount .ss-merge-label__text,.ss-timing-merge-mount .ss-merge-label__bound-name{display:none}.ss-timing-merge-mount .ss-merge-label__icon{width:16px;height:16px}.ss-timing-merge-mount .ss-merge-label__icon svg{width:12px;height:12px}.ss-timing-merge-mount .ss-merge-label__dropdown{top:calc(100% + 8px);right:auto;left:50%;transform:translate(-50%)}.ss-timing-control[data-merge-bound]{cursor:default}.ss-timing-control[data-merge-bound] .ss-timing-label{background:#4ecdc41f;color:#4ecdc4bf}.ss-timing-control[data-merge-bound] .ss-timing-mode{color:#4ecdc4;cursor:default}.ss-timing-control[data-merge-bound] .ss-timing-mode:hover{color:#5df5eb}.ss-timing-control[data-merge-bound] .ss-timing-mode:hover .ss-timing-label{color:#4ecdc4d9}.ss-timing-control[data-merge-bound] .ss-timing-value{color:#ffffff73;cursor:default}.ss-toolbar-mode-toggle{position:relative;display:flex;gap:2px;padding:2px;background:#00000040;border-radius:6px;margin-right:4px}.ss-toolbar-mode-btn{position:relative;width:28px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#fff6;transition:color .15s ease;z-index:1}.ss-toolbar-mode-btn:hover{color:#ffffffb3}.ss-toolbar-mode-btn.active{color:#fffffff2}.ss-toolbar-mode-btn svg{width:14px;height:14px}.ss-toolbar-mode-indicator{position:absolute;top:2px;left:2px;width:28px;height:24px;background:#ffffff1a;border-radius:4px;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.ss-toolbar-mode-toggle[data-mode=clip] .ss-toolbar-mode-indicator{transform:translate(calc(100% + 2px))}.ss-toolbar-mode-divider{width:1px;height:20px;background:#ffffff1a;margin:0 8px 0 4px;flex-shrink:0}.ss-toolbar-mode-container{display:none!important}.ss-canvas-toolbar{position:fixed;width:fit-content;transform:translateY(-50%);display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:6px;background:#fffffffa;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 2px 8px #0000000f,0 8px 24px #00000014;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;z-index:9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ss-canvas-toolbar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#000000a6;cursor:pointer;transition:all .15s ease;position:relative}.ss-canvas-toolbar-btn:hover{background:#0000000f;color:#000000e6}.ss-canvas-toolbar-btn:active{background:#0000001a;transform:scale(.95)}.ss-canvas-toolbar-btn.active{background:#0000000f}.ss-canvas-toolbar-btn svg{width:18px;height:18px;flex-shrink:0}.ss-canvas-toolbar-btn:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;background:#18181bf2;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;box-shadow:0 4px 12px #00000026}.ss-canvas-toolbar-btn:before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#18181bf2;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.ss-canvas-toolbar-btn:hover:after,.ss-canvas-toolbar-btn:hover:before{opacity:1;visibility:visible}.ss-canvas-toolbar-btn.active:after,.ss-canvas-toolbar-btn.active:before{opacity:0;visibility:hidden}.ss-canvas-toolbar-fps-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.01em}.ss-canvas-toolbar-color-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(0,0,0,.15);flex-shrink:0}.ss-canvas-toolbar-divider{width:24px;height:1px;background:#00000014;margin:4px auto;flex-shrink:0}.ss-canvas-toolbar-dropdown{position:relative}.ss-canvas-toolbar-popup{display:none;position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#fff;border-radius:14px;padding:8px;min-width:180px;z-index:13;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.ss-canvas-toolbar-popup.visible{display:block}.ss-canvas-toolbar-popup:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:12px;height:12px;background:#fff}.ss-canvas-toolbar-popup-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s ease;font-size:13px;font-weight:500;color:#1a1a1a}.ss-canvas-toolbar-popup-item:hover{background:#0000000a}.ss-canvas-toolbar-popup-item.active{background:#0000000f}.ss-canvas-toolbar-popup-item-label{display:flex;flex-direction:column;gap:2px}.ss-canvas-toolbar-popup-item-sublabel{font-size:11px;font-weight:400;color:#00000073}.ss-canvas-toolbar-popup-item .checkmark{width:16px;height:16px;opacity:0}.ss-canvas-toolbar-popup-item.active .checkmark{opacity:1}.ss-canvas-toolbar-popup-header{font-size:11px;font-weight:600;color:#0006;text-transform:uppercase;letter-spacing:.04em;padding:8px 12px 6px}.ss-canvas-toolbar-popup-divider{height:1px;background:#0000000f;margin:6px 0}.ss-canvas-toolbar-custom-size{display:flex;align-items:center;gap:8px;padding:10px 12px}.ss-canvas-toolbar-custom-input{width:70px;padding:8px 10px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:13px;font-weight:500;color:#1a1a1a;text-align:center;outline:none;-moz-appearance:textfield}.ss-canvas-toolbar-custom-input::-webkit-outer-spin-button,.ss-canvas-toolbar-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ss-canvas-toolbar-custom-input:focus{border-color:#0003;background:#00000005}.ss-canvas-toolbar-custom-input.warning{border-color:#d9770680;background:#d977060f;color:#b45309}.ss-canvas-toolbar-custom-input.warning:focus{border-color:#d97706b3;box-shadow:0 0 0 3px #d977061a}.ss-canvas-toolbar-custom-input.error{border-color:#ef444480;background:#ef44440f;color:#dc2626}.ss-canvas-toolbar-custom-input.error:focus{border-color:#ef4444b3;box-shadow:0 0 0 3px #ef44441a}.ss-canvas-toolbar-custom-separator{color:#0000004d;font-size:13px;font-weight:500}.ss-canvas-toolbar-color-picker{padding:4px}.ss-canvas-toolbar-color-input{width:100%;height:120px;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;padding:0}.ss-canvas-toolbar-color-input::-webkit-color-swatch-wrapper{padding:0}.ss-canvas-toolbar-color-input::-webkit-color-swatch{border:none;border-radius:9px}.ss-canvas-toolbar-color-input::-moz-color-swatch{border:none;border-radius:9px}.ss-canvas-toolbar-color-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;padding:8px 4px}.ss-canvas-toolbar-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.ss-canvas-toolbar-color-swatch:hover{transform:scale(1.1)}.ss-canvas-toolbar-color-swatch.active{border-color:#0000004d}.ss-canvas-toolbar-popup--variables{width:300px;max-height:400px;flex-direction:column;overflow:visible}.ss-canvas-toolbar-popup--variables.visible{display:flex}.ss-variables-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px}.ss-variables-add-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#0000000d;border:none;border-radius:8px;color:#00000080;font-size:18px;font-weight:400;cursor:pointer;transition:all .15s ease}.ss-variables-add-btn:hover{background:#0000001a;color:#000c}.ss-variables-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;padding:4px 8px 8px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:0 0 10px 10px}.ss-variables-list::-webkit-scrollbar{width:5px}.ss-variables-list::-webkit-scrollbar-track{background:transparent;margin:4px 0}.ss-variables-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.ss-variables-list::-webkit-scrollbar-thumb:hover{background:#0003}.ss-variables-empty{padding:20px 12px;text-align:center;font-size:13px;color:#00000059}.ss-variable-item{flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:10px;background:#00000006;border-radius:10px;border:1px solid rgba(0,0,0,.04)}.ss-variable-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ss-variable-name{font-size:11px;font-weight:600;color:#6366f1d9;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;letter-spacing:.02em}.ss-variable-value{width:100%;padding:8px 10px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:13px;color:#1a1a1a;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ss-variable-value:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f114}.ss-variable-value::placeholder{color:#0000004d}.ss-variable-value.error{border-color:#ef444480;background:#ef444408}.ss-variable-value.error:focus{border-color:#ef4444b3;box-shadow:0 0 0 3px #ef444414}.ss-variable-delete{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#00000040;font-size:14px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.ss-variable-delete:hover{background:#ef44441a;color:#ef4444}.ss-asset-toolbar{position:fixed;width:fit-content;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:6px;background:#fffffffa;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 2px 8px #0000000f,0 8px 24px #00000014;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;z-index:9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.ss-asset-toolbar-buttons{display:flex;flex-direction:column;gap:2px}.ss-asset-toolbar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#000000a6;cursor:pointer;transition:all .15s ease;position:relative}.ss-asset-toolbar-btn:hover{background:#0000000f;color:#000000e6}.ss-asset-toolbar-btn:active{background:#0000001a;transform:scale(.95)}.ss-asset-toolbar-btn svg{width:18px;height:18px;flex-shrink:0}.ss-asset-toolbar-divider{width:24px;height:1px;background:#00000014;margin:4px auto}.ss-asset-toolbar-btn:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;background:#18181bf2;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;box-shadow:0 4px 12px #00000026}.ss-asset-toolbar-btn:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#18181bf2;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.ss-asset-toolbar-btn:hover:after,.ss-asset-toolbar-btn:hover:before{opacity:1;visibility:visible}.ss-font-color-picker{padding:16px;min-width:260px}.ss-font-color-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.ss-font-color-tab{flex:1;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:#fff9;font-size:12px;cursor:pointer;transition:all .2s}.ss-font-color-tab.active{color:#fff;border-bottom-color:#007aff}.ss-font-color-tab-content{display:none}.ss-font-color-tab-content.active{display:block}.ss-font-color-section{margin-bottom:16px}.ss-font-color-section:last-child{margin-bottom:0}.ss-font-color-label{font-size:13px;font-weight:500;color:#ffffffe6;margin-bottom:8px}.ss-font-color-input{width:100%;height:40px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;background:transparent}.ss-font-color-input::-webkit-color-swatch-wrapper{padding:4px}.ss-font-color-input::-webkit-color-swatch{border:none;border-radius:4px}.ss-font-color-input::-moz-color-swatch{border:none;border-radius:4px}.ss-font-color-opacity-row{display:flex;align-items:center;gap:12px}.ss-font-color-opacity{-webkit-appearance:none;appearance:none;flex:1;height:4px;background:linear-gradient(90deg,#fff0,#fff);border-radius:2px;cursor:pointer;outline:none}.ss-font-color-opacity::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #0000004d}.ss-font-color-opacity::-moz-range-thumb{width:14px;height:14px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #0000004d}.ss-font-color-opacity-value{min-width:42px;text-align:right;font-size:13px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums}.ss-gradient-category{margin-bottom:16px}.ss-gradient-category:last-child{margin-bottom:0}.ss-gradient-category-name{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.ss-gradient-swatches{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ss-gradient-swatch{aspect-ratio:1;border:none;border-radius:6px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0000004d}.ss-gradient-swatch:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0006}.ss-color-picker{padding:16px}.ss-color-picker-header{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}.ss-color-picker-enable-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.ss-color-picker-enable-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:500;color:#ffffffe6;user-select:none}.ss-color-picker-enable-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#007aff}.ss-color-picker-controls{transition:opacity .2s ease}.ss-color-picker-controls.disabled{opacity:.4;pointer-events:none}.ss-color-picker-color-section,.ss-color-picker-opacity-section{margin-bottom:16px}.ss-color-picker-color-section:last-child,.ss-color-picker-opacity-section:last-child{margin-bottom:0}.ss-color-picker-label{font-size:13px;font-weight:500;color:#ffffffe6;margin-bottom:8px}.ss-color-picker-color-wrap{display:flex;align-items:center;gap:12px}.ss-color-picker-color{width:100%;height:40px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;background:transparent}.ss-color-picker-color::-webkit-color-swatch-wrapper{padding:4px}.ss-color-picker-color::-webkit-color-swatch{border:none;border-radius:4px}.ss-color-picker-color::-moz-color-swatch{border:none;border-radius:4px}.ss-color-picker-opacity-row{display:flex;align-items:center;gap:12px}.ss-color-picker-opacity{flex:1}.ss-color-picker-opacity-value{min-width:42px;text-align:right;font-size:13px;font-weight:500;color:#ffffffe6;font-variant-numeric:tabular-nums}.ss-font-picker{display:flex;flex-direction:column;width:320px;height:480px;background:#fafafa;border-radius:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014,0 0 0 1px #0000000a;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:13px;color:#1a1a1a}.ss-font-picker-header{flex-shrink:0;padding:12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}.ss-font-picker-search{position:relative;margin-bottom:10px}.ss-font-picker-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#999;pointer-events:none}.ss-font-picker-search-input{width:100%;height:36px;padding:0 12px 0 36px;background:#f0f0f0;border:none;border-radius:8px;font-family:inherit;font-size:13px;color:#1a1a1a;outline:none;transition:background .15s ease,box-shadow .15s ease}.ss-font-picker-search-input::placeholder{color:#999}.ss-font-picker-search-input:focus{background:#fff;box-shadow:0 0 0 2px #3b82f64d,0 1px 2px #0000000d}.ss-font-picker-categories{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}.ss-font-picker-categories::-webkit-scrollbar{display:none}.ss-font-picker-category{flex-shrink:0;padding:5px 10px;background:transparent;border:none;border-radius:6px;font-family:inherit;font-size:12px;font-weight:500;color:#666;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.ss-font-picker-category:hover{background:#0000000d;color:#333}.ss-font-picker-category--active{background:#1a1a1a;color:#fff}.ss-font-picker-category--active:hover{background:#333;color:#fff}.ss-font-picker-recent{flex-shrink:0;padding:10px 12px;background:#fff}.ss-font-picker-recent-label{margin-bottom:8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#999}.ss-font-picker-recent-list{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin}.ss-font-picker-recent-list::-webkit-scrollbar{height:4px}.ss-font-picker-recent-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.ss-font-picker-recent-chip{flex-shrink:0;padding:6px 12px;background:#f5f5f5;border:none;border-radius:16px;font-size:13px;color:#555;cursor:pointer;opacity:.7;white-space:nowrap;transition:background .15s ease,opacity .2s ease,transform .1s ease}.ss-font-picker-recent-chip--loaded{opacity:1}.ss-font-picker-recent-chip:hover{background:#eee;transform:translateY(-1px)}.ss-font-picker-recent-chip--selected{background:#1a1a1a;color:#fff;opacity:1}.ss-font-picker-recent-chip--selected:hover{background:#333}.ss-font-picker-custom{flex-shrink:0;padding:12px;background:linear-gradient(to bottom,#fefdfb,#fafafa)}.ss-font-picker-custom-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#777}.ss-font-picker-custom-label:before{content:"";width:3px;height:12px;background:#d4a574;border-radius:1.5px}.ss-font-picker-custom-list{display:flex;flex-direction:column;gap:1px}.ss-font-picker-custom-item{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 12px;margin:0 -12px;border-radius:8px;cursor:pointer;opacity:.6;transition:background .15s ease,opacity .3s ease,transform .15s ease}.ss-font-picker-custom-item--loaded{opacity:1}.ss-font-picker-custom-item:hover{background:#d4a57414;transform:translate(2px)}.ss-font-picker-custom-item:active{transform:translate(2px) scale(.995)}.ss-font-picker-custom-item--selected{background:#2563eb14}.ss-font-picker-custom-item--selected:hover{background:#2563eb1f}.ss-font-picker-custom-item-name{flex:1;font-size:16px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-font-picker-custom-item--selected .ss-font-picker-custom-item-name{color:#2563eb;font-weight:500}.ss-font-picker-custom-item-badge{flex-shrink:0;margin-left:10px;padding:3px 7px;background:#d4a57426;border:1px solid rgba(212,165,116,.25);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#a67c4a}.ss-font-picker-custom-item--selected .ss-font-picker-custom-item-badge{background:#2563eb1a;border-color:#2563eb33;color:#2563eb}.ss-font-picker-custom-divider{height:1px;margin:0 12px;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.06) 20%,rgba(0,0,0,.06) 80%,transparent 100%)}.ss-font-picker-divider{height:1px;background:#0000000f}.ss-font-picker-list{flex:1;min-height:0;overflow:hidden}.ss-font-list-viewport{height:100%;overflow-y:auto;overflow-x:hidden}.ss-font-list-viewport::-webkit-scrollbar{width:8px}.ss-font-list-viewport::-webkit-scrollbar-track{background:transparent}.ss-font-list-viewport::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.ss-font-list-viewport::-webkit-scrollbar-thumb:hover{background:#00000040;background-clip:padding-box}.ss-font-list-content{position:relative;width:100%}.ss-font-item{position:absolute;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;opacity:.5;transition:background .1s ease,opacity .25s ease}.ss-font-item--loaded{opacity:1}.ss-font-item:hover{background:#0000000a}.ss-font-item--selected{background:#3b82f614}.ss-font-item--selected:hover{background:#3b82f61f}.ss-font-item-name{flex:1;font-size:15px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-font-item--selected .ss-font-item-name{color:#2563eb;font-weight:500}.ss-font-item-category{flex-shrink:0;margin-left:8px;padding:2px 6px;background:#0000000a;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:#999}.ss-font-picker-footer{flex-shrink:0;padding:8px 12px;background:#fff;border-top:1px solid rgba(0,0,0,.06)}.ss-font-picker-count{font-size:11px;color:#999}@keyframes ss-font-shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}.ss-font-item:not(.ss-font-item--loaded) .ss-font-item-name{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:ss-font-shimmer 1.5s infinite linear}.ss-webgl-error-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#18181b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;z-index:19}.ss-webgl-error-content{max-width:340px;padding:32px 36px;background:#fffffffa;border-radius:16px;box-shadow:0 4px 24px #00000026,0 0 0 1px #ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-align:center}.ss-webgl-error-icon{width:48px;height:48px;margin:0 auto 20px;color:#a1a1aa}.ss-webgl-error-icon svg{width:100%;height:100%}.ss-webgl-error-title{margin:0 0 8px;font-size:17px;font-weight:600;color:#18181b;letter-spacing:-.01em}.ss-webgl-error-message{margin:0;font-size:14px;line-height:1.5;color:#71717a}.ss-html-timeline{--ss-timeline-pixels-per-second: 50;position:relative;display:flex;flex-direction:column;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;color:#1f2937;overflow:hidden;user-select:none;-webkit-user-select:none}.ss-timeline-toolbar{display:flex;align-items:center;justify-content:center;height:64px;padding:12px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;position:relative}.ss-toolbar-section{display:flex;align-items:center;gap:8px}.ss-toolbar-section:first-child{position:absolute;left:12px}.ss-toolbar-section:last-child{position:absolute;right:12px}.ss-playback-controls{gap:8px}.ss-toolbar-btn.ss-play-btn{width:40px;height:40px;background:#374151;border-radius:50%;color:#fff}.ss-toolbar-btn.ss-play-btn:hover{background:#4b5563;color:#fff}.ss-toolbar-btn.ss-play-btn svg{width:20px;height:20px}.ss-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:background .1s ease,color .1s ease}.ss-toolbar-btn:hover{background:#e5e7eb;color:#1f2937}.ss-toolbar-btn:active,.ss-toolbar-btn.active{background:#d1d5db}.ss-toolbar-btn svg{width:16px;height:16px}.ss-time-display{font-variant-numeric:tabular-nums;font-size:11px;color:#6b7280;min-width:120px;text-align:center}.ss-zoom-slider{width:80px;height:4px;-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;cursor:pointer}.ss-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#3b82f6;border-radius:50%;cursor:grab}.ss-ruler-tracks-wrapper{position:relative;display:flex;flex-direction:column;flex:1;overflow:hidden}.ss-timeline-ruler{position:relative;height:32px;background:#fff;border-bottom:1px solid #e5e7eb;overflow:hidden;flex-shrink:0}.ss-ruler-content{position:relative;height:100%}.ss-ruler-marker{position:absolute;bottom:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.ss-ruler-marker-line{width:1px;height:8px;background:#d1d5db}.ss-ruler-marker-label{font-size:10px;color:#6b7280;white-space:nowrap;margin-bottom:2px}.ss-ruler-marker.minor .ss-ruler-marker-line{height:4px}.ss-ruler-marker.minor .ss-ruler-marker-label{display:none}.ss-timeline-tracks{position:relative;flex:1;overflow:auto;outline:none;background:#fff}.ss-tracks-content{position:relative;min-height:100%}.ss-track{position:relative;border-bottom:1px solid #f3f4f6;transition:background .15s ease;background:#fff}.ss-track[data-asset-type=video]{background:#e8def84d}.ss-track[data-asset-type=image]{background:#d1e8ff4d}.ss-track[data-asset-type=audio]{background:#b8e6d44d}.ss-track[data-asset-type=text],.ss-track[data-asset-type=rich-text]{background:#ffe4c94d}.ss-track[data-asset-type=shape]{background:#fff3b84d}.ss-track[data-asset-type=caption]{background:#fce4ec4d}.ss-track[data-asset-type=svg]{background:#fbe9e74d}.ss-track[data-asset-type=html]{background:#b3e5fc4d}.ss-track[data-asset-type=luma]{background:#cfd8dc4d}.ss-track[data-asset-type=text-to-image]{background:#e8eaf64d}.ss-track[data-asset-type=image-to-video]{background:#ede7f64d}.ss-track[data-asset-type=text-to-speech]{background:#f3e5f54d}.ss-track[data-asset-type=empty]{background:#f9fafb}.ss-track.drop-target{background:#3b82f626}.ss-clip{position:absolute;top:4px;bottom:4px;left:calc(var(--clip-start, 0) * var(--ss-timeline-pixels-per-second) * 1px);width:calc(var(--clip-length, 1) * var(--ss-timeline-pixels-per-second) * 1px);min-width:20px;background:var(--clip-bg, #71717a);border-left:3px solid var(--clip-border, #555);border-radius:4px;cursor:grab;overflow:hidden;transition:box-shadow .15s ease,transform .1s ease}.ss-clip:hover{box-shadow:0 2px 8px #00000040}.ss-clip.selected{outline:2px solid var(--clip-border, #3b82f6);outline-offset:0px;box-shadow:0 0 0 1px #ffffff4d inset,0 2px 8px #0003,0 0 0 3px color-mix(in srgb,var(--clip-border, #3b82f6) 25%,transparent)}.ss-clip.dragging{opacity:.6;cursor:grabbing;transform:scale(1.02)}.ss-clip.resizing{cursor:ew-resize}.ss-clip[data-asset-type=video]{--clip-bg: #e8def8;--clip-fg: #4a148c;--clip-border: #7c4dff}.ss-clip[data-asset-type=image]{--clip-bg: #d1e8ff;--clip-fg: #0d47a1;--clip-border: #2196f3}.ss-clip[data-asset-type=audio]{--clip-bg: #b8e6d4;--clip-fg: #004d40;--clip-border: #00897b}.ss-clip[data-asset-type=text],.ss-clip[data-asset-type=rich-text]{--clip-bg: #ffe4c9;--clip-fg: #bf360c;--clip-border: #e65100}.ss-clip[data-asset-type=shape]{--clip-bg: #fff3b8;--clip-fg: #f57f17;--clip-border: #f9a825}.ss-clip[data-asset-type=caption]{--clip-bg: #fce4ec;--clip-fg: #880e4f;--clip-border: #c2185b}.ss-clip[data-asset-type=svg]{--clip-bg: #fbe9e7;--clip-fg: #bf360c;--clip-border: #e64a19}.ss-clip[data-asset-type=html]{--clip-bg: #b3e5fc;--clip-fg: #006064;--clip-border: #0097a7}.ss-clip[data-asset-type=luma]{--clip-bg: #cfd8dc;--clip-fg: #37474f;--clip-border: #546e7a}.ss-clip[data-asset-type=text-to-image]{--clip-bg: #e8eaf6;--clip-fg: #1a237e;--clip-border: #5c6bc0}.ss-clip[data-asset-type=image-to-video]{--clip-bg: #ede7f6;--clip-fg: #311b92;--clip-border: #7e57c2}.ss-clip[data-asset-type=text-to-speech]{--clip-bg: #f3e5f5;--clip-fg: #4a148c;--clip-border: #ab47bc}.ss-clip.ss-clip--thumbnails{background-color:#0d0d0d}.ss-clip.ss-clip--thumbnails:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4) 0%,transparent 8%,transparent 92%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:1;border-radius:inherit}.ss-clip.ss-clip--thumbnails .ss-clip-content{background:linear-gradient(to right,#0009,#00000026 20% 80%,#0009);z-index:1}.ss-clip.ss-clip--thumbnails .ss-clip-icon,.ss-clip.ss-clip--thumbnails .ss-clip-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}.ss-clip.ss-clip--thumbnails .ss-clip-badge{background:#00000080;color:#fff}.ss-clip.ss-clip--loading-thumbnails{background:linear-gradient(90deg,var(--clip-bg) 0%,color-mix(in srgb,var(--clip-bg) 70%,white) 50%,var(--clip-bg) 100%);background-size:200% 100%;animation:ss-thumbnail-loading 1.5s ease-in-out infinite}@keyframes ss-thumbnail-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.ss-clip-content{display:flex;align-items:center;padding:0 8px;height:100%;gap:6px}.ss-clip-icon{font-size:12px;color:var(--clip-fg, #333);opacity:.7;flex-shrink:0;font-weight:600}.ss-clip-icon svg{width:12px;height:12px;fill:currentColor;vertical-align:middle}.ss-clip-label{font-size:11px;font-weight:500;color:var(--clip-fg, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-clip-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:#00000026;border-radius:3px;font-size:10px;color:var(--clip-fg, #333);opacity:.6;transition:opacity .1s ease}.ss-clip:hover .ss-clip-badge{opacity:1}.ss-clip-badge[data-intent=fixed]{display:none}.ss-clip-mask-badge{position:absolute;top:4px;left:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#0006;border-radius:3px;font-size:11px;color:#fff;cursor:pointer;z-index:2;transition:background .1s ease}.ss-clip-mask-badge:hover{background:#0009}.ss-clip-resize-handle{position:absolute;top:0;bottom:0;width:12px;cursor:ew-resize;z-index:2}.ss-clip-resize-handle.left{left:0;border-radius:4px 0 0 4px}.ss-clip-resize-handle.right{right:0;border-radius:0 4px 4px 0}.ss-clip-resize-handle:hover{background:#00000014}.ss-clip.selected .ss-clip-resize-handle{background:#0000000f}.ss-clip.selected .ss-clip-resize-handle:hover{background:#0000001f}.ss-playhead{position:absolute;top:0;bottom:0;left:calc(var(--playhead-time, 0) * var(--ss-timeline-pixels-per-second) * 1px);width:2px;pointer-events:none;z-index:4}.ss-playhead-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:#3b82f6}.ss-playhead-handle{position:absolute;top:0;left:50%;transform:translate(-50%);width:12px;height:12px;background:#3b82f6;border-radius:2px 2px 50% 50%;cursor:grab;pointer-events:auto}.ss-playhead-handle:hover{transform:translate(-50%) scale(1.15)}.ss-playhead-handle:active{cursor:grabbing}.ss-playhead-ghost{position:absolute;top:0;bottom:0;width:1px;background:#3b82f666;pointer-events:none;z-index:3;opacity:0;transition:opacity .15s}.ss-ruler-tracks-wrapper:hover .ss-playhead-ghost{opacity:1}.ss-feedback-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.ss-snap-line{position:absolute;top:0;bottom:0;width:2px;background:#22c55e;box-shadow:0 0 4px #22c55e}.ss-drop-zone{position:absolute;left:0;right:0;height:4px;background:#3b82f6;box-shadow:0 0 8px #3b82f6;animation:ss-pulse .8s ease-in-out infinite;z-index:2}@keyframes ss-pulse{0%,to{opacity:.6}50%{opacity:1}}.ss-drag-ghost{position:absolute;pointer-events:none;opacity:.4;background:transparent!important;border:2px dashed var(--clip-border, #6b7280);border-left-width:2px;box-shadow:none;z-index:7}.ss-drag-time-tooltip{position:absolute;background:#1a1a2e;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;font-family:monospace;white-space:nowrap;pointer-events:none;z-index:8;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.ss-selection-box{position:absolute;border:1px solid #3b82f6;background:#3b82f626;pointer-events:none;z-index:6}.ss-timeline-empty{display:flex;align-items:center;justify-content:center;flex:1;color:#9ca3af;font-size:13px}.ss-clip-error-badge{position:absolute;top:50%;left:6px;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#dc2626;border-radius:4px;font-size:12px;color:#fff;z-index:10;cursor:help;box-shadow:0 1px 3px #0000004d}.ss-clip.ss-clip--error{--clip-bg: #fef2f2;--clip-fg: #991b1b;--clip-border: #fca5a5;border-color:var(--clip-border)!important;border-left-width:3px;border-left-color:#dc2626!important}.ss-clip.ss-clip--error:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(220,38,38,.06) 8px,rgba(220,38,38,.06) 16px);border-radius:inherit;pointer-events:none;z-index:1}.ss-clip.ss-clip--error .ss-clip-content{opacity:.6;padding-left:28px}.ss-clip.ss-clip--error .ss-clip-icon{color:var(--clip-fg);opacity:.5}.ss-clip.ss-clip--error .ss-clip-label{color:var(--clip-fg)}.ss-clip.ss-clip--error.ss-clip--thumbnails{background-image:none!important}:root{--luma-accent: #00d4aa;--luma-accent-dim: rgba(0, 212, 170, .15);--luma-accent-glow: rgba(0, 212, 170, .4);--luma-badge-bg: linear-gradient(135deg, rgba(0, 212, 170, .9) 0%, rgba(0, 180, 150, .95) 100%);--luma-badge-shadow: 0 2px 8px rgba(0, 212, 170, .3), 0 0 1px rgba(0, 0, 0, .5);--luma-ease-out: cubic-bezier(.16, 1, .3, 1);--luma-ease-snap: cubic-bezier(.34, 1.56, .64, 1)}.ss-clip.ss-clip-luma-target{box-shadow:0 0 0 3px var(--luma-accent),0 0 12px var(--luma-accent-glow);animation:luma-target-breathe 1.5s ease-in-out infinite}@keyframes luma-target-breathe{0%,to{box-shadow:0 0 0 3px var(--luma-accent),0 0 12px var(--luma-accent-glow)}50%{box-shadow:0 0 0 3px var(--luma-accent),0 0 20px var(--luma-accent-glow)}}.ss-clip.ss-clip-luma-has-target:after{content:"◐";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:4px 10px;background:#00d4aae6;border-radius:12px;font-size:14px;color:#0a1a15;font-weight:600;box-shadow:0 2px 8px #0000004d;pointer-events:none;z-index:10}.ss-clip.ss-clip-luma-attaching{animation:luma-attach-snap .4s var(--luma-ease-snap) forwards}@keyframes luma-attach-snap{0%{transform:scale(1.02);box-shadow:0 0 0 2px var(--luma-accent),0 0 30px var(--luma-accent-glow)}40%{transform:scale(.98)}to{transform:scale(1);box-shadow:none}}.ss-clip.ss-clip-luma-attached{animation:luma-attached-success .6s var(--luma-ease-snap) forwards}@keyframes luma-attached-success{0%{box-shadow:0 0 0 3px var(--luma-accent),0 0 40px var(--luma-accent-glow)}30%{transform:scale(1.02)}60%{transform:scale(.99);box-shadow:0 0 0 1px var(--luma-accent),0 0 15px var(--luma-accent-glow)}to{transform:scale(1);box-shadow:none}}.ss-clip-mask-badge{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:5px;background:var(--luma-badge-bg);box-shadow:var(--luma-badge-shadow);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#0a1a15;font-family:system-ui,-apple-system,sans-serif;cursor:pointer;transition:transform .15s var(--luma-ease-out),box-shadow .15s var(--luma-ease-out),background .15s ease;border:1px solid rgba(255,255,255,.15);z-index:2}.ss-clip-mask-badge:hover{transform:scale(1.1);box-shadow:var(--luma-badge-shadow),0 0 12px var(--luma-accent-glow)}.ss-clip-mask-badge:active{transform:scale(.95);background:linear-gradient(135deg,#00b496,#00a082)}.ss-clip-mask-badge.ss-badge-entering{animation:badge-enter .35s var(--luma-ease-snap) forwards}@keyframes badge-enter{0%{opacity:0;transform:scale(0) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.ss-clip-mask-badge:after{content:"";position:absolute;inset:-2px;border-radius:7px;border:1px solid var(--luma-accent-dim);opacity:0;animation:badge-breathe 3s ease-in-out infinite;pointer-events:none}@keyframes badge-breathe{0%,to{opacity:0}50%{opacity:.5}}.ss-clip.ss-clip-luma-dragging{opacity:.85;box-shadow:0 0 0 1px var(--luma-accent),0 8px 32px #0006,0 0 24px var(--luma-accent-dim);animation:luma-drag-float .8s ease-in-out infinite}@keyframes luma-drag-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.ss-clip.ss-clip-luma-snapping{transition:transform .2s var(--luma-ease-magnetic),left .2s var(--luma-ease-magnetic),top .2s var(--luma-ease-magnetic)}.ss-luma-connection-line{position:absolute;pointer-events:none;z-index:2;height:2px;background:linear-gradient(90deg,var(--luma-accent) 0%,var(--luma-accent-glow) 50%,var(--luma-accent) 100%);border-radius:1px;box-shadow:0 0 8px var(--luma-accent-glow);background-size:200% 100%;animation:luma-line-flow 1s linear infinite;opacity:0;transform-origin:left center;transition:opacity .2s ease}.ss-luma-connection-line.active{opacity:1}@keyframes luma-line-flow{0%{background-position:200% 0}to{background-position:0% 0}}.ss-clip-mask-badge.ss-badge-removing{background:linear-gradient(135deg,#ff5a5ae6,#c83c3cf2);animation:badge-shake .4s ease}@keyframes badge-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-2px)}40%,80%{transform:translate(2px)}}';
|
|
50721
|
-
let
|
|
50730
|
+
let vl = !1;
|
|
50722
50731
|
function ds() {
|
|
50723
|
-
if (
|
|
50732
|
+
if (vl || typeof document > "u") return;
|
|
50724
50733
|
if (document.getElementById("shotstack-studio-styles")) {
|
|
50725
|
-
|
|
50734
|
+
vl = !0;
|
|
50726
50735
|
return;
|
|
50727
50736
|
}
|
|
50728
50737
|
const e = document.createElement("style");
|
|
50729
|
-
e.id = "shotstack-studio-styles", e.textContent = IE, document.head.appendChild(e),
|
|
50738
|
+
e.id = "shotstack-studio-styles", e.textContent = IE, document.head.appendChild(e), vl = !0;
|
|
50730
50739
|
}
|
|
50731
50740
|
class TE {
|
|
50732
50741
|
element;
|
|
@@ -50938,7 +50947,7 @@ class NE {
|
|
|
50938
50947
|
return '<svg viewBox="0 0 24 24" fill="currentColor" style="pointer-events:none"><path d="M4 18l8.5-6L4 6v12zm9-12v12l8.5-6L13 6z"/></svg>';
|
|
50939
50948
|
}
|
|
50940
50949
|
}
|
|
50941
|
-
const Ef = ["mp4", "mov", "webm", "avi", "mkv", "m4v"], Nf = ["jpg", "jpeg", "png", "gif", "webp", "bmp", "svg"],
|
|
50950
|
+
const Ef = ["mp4", "mov", "webm", "avi", "mkv", "m4v"], Nf = ["jpg", "jpeg", "png", "gif", "webp", "bmp", "svg"], xl = ["mp3", "wav", "aac", "ogg", "m4a", "flac"];
|
|
50942
50951
|
function PE(s) {
|
|
50943
50952
|
const e = s.match(/['"]?(https?:\/\/[^'"]+)['"]?/);
|
|
50944
50953
|
return e && e[1].split("/").pop()?.split("?")[0] || null;
|
|
@@ -50953,7 +50962,7 @@ function FE(s, e) {
|
|
|
50953
50962
|
This clip expects an image, but "${t}" is a video file.
|
|
50954
50963
|
|
|
50955
50964
|
Try using a .jpg, .png, or .gif instead.`;
|
|
50956
|
-
if (i &&
|
|
50965
|
+
if (i && xl.includes(i))
|
|
50957
50966
|
return `⚠️ Wrong file type
|
|
50958
50967
|
|
|
50959
50968
|
This clip expects an image, but "${t}" is an audio file.
|
|
@@ -50967,7 +50976,7 @@ Try using a .jpg, .png, or .gif instead.`;
|
|
|
50967
50976
|
This clip expects a video, but "${t}" is an image file.
|
|
50968
50977
|
|
|
50969
50978
|
Try using a .mp4 or .mov instead.`;
|
|
50970
|
-
if (i &&
|
|
50979
|
+
if (i && xl.includes(i))
|
|
50971
50980
|
return `⚠️ Wrong file type
|
|
50972
50981
|
|
|
50973
50982
|
This clip expects a video, but "${t}" is an audio file.
|
|
@@ -50988,7 +50997,7 @@ This clip expects audio, but "${t}" is an image file.
|
|
|
50988
50997
|
|
|
50989
50998
|
Try using a .mp3 or .wav instead.`;
|
|
50990
50999
|
}
|
|
50991
|
-
if (e === "luma" && i &&
|
|
51000
|
+
if (e === "luma" && i && xl.includes(i))
|
|
50992
51001
|
return `⚠️ Wrong file type
|
|
50993
51002
|
|
|
50994
51003
|
Luma masks require an image or video, but "${t}" is an audio file.`;
|
|
@@ -51549,34 +51558,34 @@ class nn {
|
|
|
51549
51558
|
}), e.propagateTimingChanges(this.trackIndex, this.clipIndex), ve();
|
|
51550
51559
|
}
|
|
51551
51560
|
}
|
|
51552
|
-
function
|
|
51561
|
+
function Ao(s, e, t) {
|
|
51553
51562
|
if (e) return e;
|
|
51554
51563
|
const i = document.createElement("div");
|
|
51555
51564
|
return i.className = t, s.appendChild(i), i;
|
|
51556
51565
|
}
|
|
51557
51566
|
function Ff(s, e, t) {
|
|
51558
|
-
const i =
|
|
51567
|
+
const i = Ao(s.container, s.snapLine, "ss-snap-line"), a = Yc(e, t.pixelsPerSecond) - t.scrollLeft;
|
|
51559
51568
|
return i.style.left = `${a}px`, i.style.display = "block", i;
|
|
51560
51569
|
}
|
|
51561
51570
|
function mn(s) {
|
|
51562
51571
|
s && (s.style.display = "none");
|
|
51563
51572
|
}
|
|
51564
51573
|
function OE(s, e, t) {
|
|
51565
|
-
const i =
|
|
51574
|
+
const i = Ao(s.container, s.dropZone, "ss-drop-zone");
|
|
51566
51575
|
return i.style.top = `${e - 2 + t}px`, i.style.display = "block", i;
|
|
51567
51576
|
}
|
|
51568
51577
|
function j0(s) {
|
|
51569
51578
|
s && (s.style.display = "none");
|
|
51570
51579
|
}
|
|
51571
|
-
function
|
|
51572
|
-
const a =
|
|
51580
|
+
function Cl(s, e, t, i) {
|
|
51581
|
+
const a = Ao(s.container, s.dragTimeTooltip, "ss-drag-time-tooltip");
|
|
51573
51582
|
return a.textContent = g6(e), a.style.left = `${t}px`, a.style.top = `${i - 28}px`, a.style.display = "block", a;
|
|
51574
51583
|
}
|
|
51575
51584
|
function X0(s) {
|
|
51576
51585
|
s && (s.style.display = "none");
|
|
51577
51586
|
}
|
|
51578
51587
|
function RE(s, e, t, i, a, r) {
|
|
51579
|
-
const n =
|
|
51588
|
+
const n = Ao(s.container, s.lumaConnectionLine, "ss-luma-connection-line"), o = Yc(e.config.start, r);
|
|
51580
51589
|
return n.style.left = `${o}px`, n.style.top = `${t + a}px`, n.style.height = `${i}px`, n.classList.add("active"), n;
|
|
51581
51590
|
}
|
|
51582
51591
|
function ad(s) {
|
|
@@ -51604,7 +51613,7 @@ function zE(s, e, t, i) {
|
|
|
51604
51613
|
const r = Yc(s, i), n = Gs(t);
|
|
51605
51614
|
return a.style.width = `${r}px`, a.style.height = `${n - 8}px`, a.style.position = "absolute", a.style.pointerEvents = "none", a.style.opacity = "0.8", a;
|
|
51606
51615
|
}
|
|
51607
|
-
function
|
|
51616
|
+
function kl(s, e) {
|
|
51608
51617
|
const t = s.parentElement;
|
|
51609
51618
|
if (!t) return 0;
|
|
51610
51619
|
const i = t.getBoundingClientRect();
|
|
@@ -51766,11 +51775,11 @@ class XE {
|
|
|
51766
51775
|
r.style.position = "fixed", r.style.left = `${o.left}px`, r.style.top = `${o.top}px`, r.style.width = `${o.width}px`, r.style.height = `${o.height}px`, r.style.zIndex = "18", r.style.pointerEvents = "none";
|
|
51767
51776
|
const d = this.stateManager.getViewport().pixelsPerSecond, u = this.stateManager.getTracks()[i.trackIndex], f = a.config.asset?.type || "unknown", p = u?.primaryAssetType ?? f, g = zE(a.config.length, f, p, d);
|
|
51768
51777
|
this.feedbackElements.container.appendChild(g), this.state = qE(t, r, g, l, c, n, a.config.length, e.altKey);
|
|
51769
|
-
const w =
|
|
51778
|
+
const w = kl(this.feedbackElements.container, this.tracksContainer);
|
|
51770
51779
|
g.style.left = `${a.config.start * d}px`, g.style.top = `${this.getTrackYPositionCached(i.trackIndex) + 4 + w}px`, this.buildSnapPointsForClip(i);
|
|
51771
51780
|
}
|
|
51772
51781
|
handleDragMove(e, t) {
|
|
51773
|
-
const i = this.tracksContainer.getBoundingClientRect(), a = this.tracksContainer.scrollLeft, r = this.stateManager.getViewport().pixelsPerSecond, n =
|
|
51782
|
+
const i = this.tracksContainer.getBoundingClientRect(), a = this.tracksContainer.scrollLeft, r = this.stateManager.getViewport().pixelsPerSecond, n = kl(this.feedbackElements.container, this.tracksContainer), o = { pixelsPerSecond: r, scrollLeft: a, tracksOffset: n };
|
|
51774
51783
|
t.clipElement.style.left = `${e.clientX - t.dragOffsetX}px`, t.clipElement.style.top = `${e.clientY - t.dragOffsetY}px`;
|
|
51775
51784
|
const l = e.clientX - i.left + a, c = e.clientY - i.top + this.tracksContainer.scrollTop, d = l - t.dragOffsetX;
|
|
51776
51785
|
let u = Math.max(0, d / r);
|
|
@@ -51840,7 +51849,7 @@ class XE {
|
|
|
51840
51849
|
const n = this.stateManager.getTracks()[e.dragTarget.trackIndex];
|
|
51841
51850
|
if (!n) return;
|
|
51842
51851
|
const o = this.getTrackYPositionCached(e.dragTarget.trackIndex) + 4, l = Gs(n.primaryAssetType) - 8;
|
|
51843
|
-
a.style.left = `${t * i.pixelsPerSecond}px`, a.style.top = `${o + i.tracksOffset}px`, a.style.height = `${l}px`, this.feedbackElements.dragTimeTooltip =
|
|
51852
|
+
a.style.left = `${t * i.pixelsPerSecond}px`, a.style.top = `${o + i.tracksOffset}px`, a.style.height = `${l}px`, this.feedbackElements.dragTimeTooltip = Cl(
|
|
51844
51853
|
this.feedbackElements,
|
|
51845
51854
|
t,
|
|
51846
51855
|
t * i.pixelsPerSecond,
|
|
@@ -51855,7 +51864,7 @@ class XE {
|
|
|
51855
51864
|
// ─── Resize Handling ───────────────────────────────────────────────────────
|
|
51856
51865
|
handleResizeMove(e, t) {
|
|
51857
51866
|
const i = this.tracksContainer.getBoundingClientRect(), a = this.tracksContainer.scrollLeft, r = this.stateManager.getViewport().pixelsPerSecond;
|
|
51858
|
-
|
|
51867
|
+
kl(this.feedbackElements.container, this.tracksContainer);
|
|
51859
51868
|
const n = { pixelsPerSecond: r, scrollLeft: a }, o = e.clientX - i.left + a;
|
|
51860
51869
|
let l = Math.max(0, o / r);
|
|
51861
51870
|
const c = this.applySnap(l);
|
|
@@ -51863,10 +51872,10 @@ class XE {
|
|
|
51863
51872
|
const { edge: d, originalStart: u, originalLength: f, clipElement: p } = t;
|
|
51864
51873
|
if (d === "left") {
|
|
51865
51874
|
const g = u + f, w = Math.max(0, Math.min(l, g - 0.1)), C = g - w;
|
|
51866
|
-
p.style.setProperty("--clip-start", String(w)), p.style.setProperty("--clip-length", String(C)), this.feedbackElements.dragTimeTooltip =
|
|
51875
|
+
p.style.setProperty("--clip-start", String(w)), p.style.setProperty("--clip-length", String(C)), this.feedbackElements.dragTimeTooltip = Cl(this.feedbackElements, w, e.clientX - i.left, e.clientY - i.top);
|
|
51867
51876
|
} else {
|
|
51868
51877
|
const g = Math.max(0.1, l - u);
|
|
51869
|
-
p.style.setProperty("--clip-length", String(g)), this.feedbackElements.dragTimeTooltip =
|
|
51878
|
+
p.style.setProperty("--clip-length", String(g)), this.feedbackElements.dragTimeTooltip = Cl(
|
|
51870
51879
|
this.feedbackElements,
|
|
51871
51880
|
u + g,
|
|
51872
51881
|
e.clientX - i.left,
|
|
@@ -54184,7 +54193,7 @@ class yN extends Ma {
|
|
|
54184
54193
|
}
|
|
54185
54194
|
applyTimingUpdate() {
|
|
54186
54195
|
if (this.selectedTrackIdx < 0 || this.selectedClipIdx < 0) return;
|
|
54187
|
-
const e = this.startControl?.getStartValue(), t = this.lengthControl?.getLengthValue(), i = typeof e == "number" ?
|
|
54196
|
+
const e = this.startControl?.getStartValue(), t = this.lengthControl?.getLengthValue(), i = typeof e == "number" ? _l(e) : e, a = typeof t == "number" ? _l(t) : t;
|
|
54188
54197
|
this.edit.updateClipTiming(this.selectedTrackIdx, this.selectedClipIdx, {
|
|
54189
54198
|
start: i,
|
|
54190
54199
|
length: a
|
|
@@ -54546,7 +54555,7 @@ class rs extends Yi {
|
|
|
54546
54555
|
}
|
|
54547
54556
|
}
|
|
54548
54557
|
const bN = (s) => typeof structuredClone == "function" ? structuredClone(s) : JSON.parse(JSON.stringify(s));
|
|
54549
|
-
class
|
|
54558
|
+
class Io {
|
|
54550
54559
|
sessions = /* @__PURE__ */ new Map();
|
|
54551
54560
|
/**
|
|
54552
54561
|
* Start a new drag session for the specified control.
|
|
@@ -54844,7 +54853,7 @@ const Lf = [
|
|
|
54844
54853
|
fadeOut: '<svg viewBox="0 0 32 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 4 L18 4 L30 14"/></svg>',
|
|
54845
54854
|
fadeInOut: '<svg viewBox="0 0 32 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 14 L10 4 L22 4 L30 14"/></svg>',
|
|
54846
54855
|
fadeNone: '<svg viewBox="0 0 32 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"><path d="M2 10 L30 10"/></svg>'
|
|
54847
|
-
},
|
|
54856
|
+
}, Sl = /* @__PURE__ */ new Set(["video", "image", "text-to-image", "image-to-video"]), Al = /* @__PURE__ */ new Set(["video", "audio", "text-to-speech"]), Il = /* @__PURE__ */ new Set(["audio", "text-to-speech"]);
|
|
54848
54857
|
class fa extends Ma {
|
|
54849
54858
|
/** Default values for merge-field-bindable media properties. */
|
|
54850
54859
|
static MEDIA_PROPERTY_DEFAULTS = {
|
|
@@ -54902,7 +54911,7 @@ class fa extends Ma {
|
|
|
54902
54911
|
dynamicPanel = null;
|
|
54903
54912
|
dynamicInput = null;
|
|
54904
54913
|
// ─── State ───────────────────────────────────────────────────────────────────
|
|
54905
|
-
dragManager = new
|
|
54914
|
+
dragManager = new Io();
|
|
54906
54915
|
audioFadeEffect = "";
|
|
54907
54916
|
isDynamicSource = !1;
|
|
54908
54917
|
dynamicFieldName = "";
|
|
@@ -55237,18 +55246,18 @@ class fa extends Ma {
|
|
|
55237
55246
|
const i = typeof e.opacity == "number" ? e.opacity : 1;
|
|
55238
55247
|
this.opacitySlider?.setValue(Math.round(i * 100));
|
|
55239
55248
|
const a = typeof e.scale == "number" ? e.scale : 1;
|
|
55240
|
-
if (this.scaleSlider?.setValue(Math.round(a * 100)),
|
|
55249
|
+
if (this.scaleSlider?.setValue(Math.round(a * 100)), Al.has(this.assetType)) {
|
|
55241
55250
|
const r = e.asset, n = typeof r.volume == "number" ? r.volume : 1;
|
|
55242
55251
|
this.currentVolume = Math.round(n * 100);
|
|
55243
55252
|
}
|
|
55244
|
-
if (this.transitionPanel?.setFromClip(e.transition), this.effectPanel?.setFromClip(e.effect),
|
|
55253
|
+
if (this.transitionPanel?.setFromClip(e.transition), this.effectPanel?.setFromClip(e.effect), Il.has(this.assetType)) {
|
|
55245
55254
|
const r = e.asset;
|
|
55246
55255
|
this.audioFadeEffect = r.effect || "";
|
|
55247
55256
|
}
|
|
55248
55257
|
}
|
|
55249
|
-
this.updateFitDisplay(), this.updateOpacityDisplay(), this.updateScaleDisplay(), this.updateVolumeDisplay(), this.updateFitActiveState(), this.updateAudioFadeUI(), this.updateDynamicSourceUI(), this.visualSection && this.visualSection.classList.toggle("hidden", !
|
|
55258
|
+
this.updateFitDisplay(), this.updateOpacityDisplay(), this.updateScaleDisplay(), this.updateVolumeDisplay(), this.updateFitActiveState(), this.updateAudioFadeUI(), this.updateDynamicSourceUI(), this.visualSection && this.visualSection.classList.toggle("hidden", !Sl.has(this.assetType)), this.volumeSection && this.volumeSection.classList.toggle("hidden", !Al.has(this.assetType)), this.audioSection && this.audioSection.classList.toggle("hidden", !Il.has(this.assetType));
|
|
55250
55259
|
const t = this.container?.querySelector("[data-divider-before-advanced]");
|
|
55251
|
-
t && t.classList.toggle("hidden", !
|
|
55260
|
+
t && t.classList.toggle("hidden", !Sl.has(this.assetType) || !this.showMergeFields), this.advancedBtn?.parentElement && this.advancedBtn.parentElement.classList.toggle("hidden", !Sl.has(this.assetType) || !this.showMergeFields), this.showMergeFields && this.mergeFieldManager?.hasLabels && this.mergeFieldManager.sync();
|
|
55252
55261
|
}
|
|
55253
55262
|
// ─── Two-Phase Drag Helpers ──────────────────────────────────────────────────
|
|
55254
55263
|
//
|
|
@@ -55303,7 +55312,7 @@ class fa extends Ma {
|
|
|
55303
55312
|
this.dragManager.isDragging("scale") ? (this.edit.updateClipInDocument(t, i), this.edit.resolveClip(t)) : this.applyClipUpdate(i);
|
|
55304
55313
|
}
|
|
55305
55314
|
handleVolumeChange(e) {
|
|
55306
|
-
if (this.currentVolume = e, this.updateVolumeDisplay(), !
|
|
55315
|
+
if (this.currentVolume = e, this.updateVolumeDisplay(), !Al.has(this.assetType)) return;
|
|
55307
55316
|
const t = this.edit.getResolvedClip(this.selectedTrackIdx, this.selectedClipIdx);
|
|
55308
55317
|
if (!t) return;
|
|
55309
55318
|
const i = this.edit.getClipId(this.selectedTrackIdx, this.selectedClipIdx);
|
|
@@ -55348,7 +55357,7 @@ class fa extends Ma {
|
|
|
55348
55357
|
}
|
|
55349
55358
|
applyAudioFade() {
|
|
55350
55359
|
const e = this.edit.getResolvedClip(this.selectedTrackIdx, this.selectedClipIdx);
|
|
55351
|
-
if (!e || !
|
|
55360
|
+
if (!e || !Il.has(this.assetType)) return;
|
|
55352
55361
|
const t = e.asset;
|
|
55353
55362
|
this.edit.updateClip(this.selectedTrackIdx, this.selectedClipIdx, {
|
|
55354
55363
|
asset: { ...t, effect: this.audioFadeEffect || void 0 }
|
|
@@ -56682,9 +56691,9 @@ class SN {
|
|
|
56682
56691
|
this.observer?.disconnect(), this.loadingQueue = [], this.callbacks.clear();
|
|
56683
56692
|
}
|
|
56684
56693
|
}
|
|
56685
|
-
let
|
|
56694
|
+
let Tl = null;
|
|
56686
56695
|
function J0() {
|
|
56687
|
-
return
|
|
56696
|
+
return Tl || (Tl = new SN()), Tl;
|
|
56688
56697
|
}
|
|
56689
56698
|
const Ai = 40, Of = 5;
|
|
56690
56699
|
class AN {
|
|
@@ -57120,7 +57129,7 @@ class ha extends Ma {
|
|
|
57120
57129
|
/**
|
|
57121
57130
|
* Per-control drag state manager.
|
|
57122
57131
|
*/
|
|
57123
|
-
dragManager = new
|
|
57132
|
+
dragManager = new Io();
|
|
57124
57133
|
lastSyncedClipId = null;
|
|
57125
57134
|
// Current animation duration during drag (for explicit final config)
|
|
57126
57135
|
currentAnimationDuration = 1;
|
|
@@ -57839,7 +57848,7 @@ class ha extends Ma {
|
|
|
57839
57848
|
}), this.fontPopup.innerHTML = "", this.fontPopup.appendChild(this.fontPicker.getElement());
|
|
57840
57849
|
}
|
|
57841
57850
|
getDisplayName(e) {
|
|
57842
|
-
const t =
|
|
57851
|
+
const t = Ml.get(e);
|
|
57843
57852
|
if (t)
|
|
57844
57853
|
return t.displayName;
|
|
57845
57854
|
const i = this.edit.getFontMetadata();
|
|
@@ -58018,7 +58027,7 @@ class ha extends Ma {
|
|
|
58018
58027
|
const i = this.getCurrentAsset();
|
|
58019
58028
|
if (!i) return;
|
|
58020
58029
|
if (this.weightPreview && (this.weightPreview.textContent = this.getWeightName(i.font?.weight)), this.weightDropdown) {
|
|
58021
|
-
const u =
|
|
58030
|
+
const u = Ml.get(i.font?.family ?? ""), f = !u || u.isVariable;
|
|
58022
58031
|
this.weightDropdown.style.display = f ? "" : "none";
|
|
58023
58032
|
}
|
|
58024
58033
|
if (this.sizeInput && (this.sizeInput.value = String(i.font?.size ?? 48)), this.fontPreview) {
|
|
@@ -58174,7 +58183,7 @@ const ms = {
|
|
|
58174
58183
|
DEFAULT_COLOR: 891391,
|
|
58175
58184
|
/** Active/hover selection color (soft cyan) */
|
|
58176
58185
|
ACTIVE_COLOR: 4251903
|
|
58177
|
-
},
|
|
58186
|
+
}, El = {
|
|
58178
58187
|
// Rotation cursor angles
|
|
58179
58188
|
topLeft: 0,
|
|
58180
58189
|
topRight: 90,
|
|
@@ -58190,7 +58199,7 @@ const ms = {
|
|
|
58190
58199
|
top: 90,
|
|
58191
58200
|
bottom: 90
|
|
58192
58201
|
}, MN = "M1320,2186L1085,2421L1120,2457L975,2496L1014,2351L1050,2386L1285,2151L1250,2115L1396,2075L1356,2221L1320,2186Z", LN = "matrix(0.807871,0.707107,-0.807871,0.707107,2111.872433,-206.020386)";
|
|
58193
|
-
function
|
|
58202
|
+
function Nl(s) {
|
|
58194
58203
|
const e = `<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='905 1940 640 620'><g transform='rotate(${s} 1225 2250)'><g transform='${LN}'><path d='${MN}' fill='black' stroke='white' stroke-width='33.33'/></g></g></svg>`;
|
|
58195
58204
|
return `url("data:image/svg+xml,${encodeURIComponent(e)}") 12 12, auto`;
|
|
58196
58205
|
}
|
|
@@ -58342,7 +58351,7 @@ function XN(s, e, t) {
|
|
|
58342
58351
|
g("x", d), g("y", u), g("width", d), g("height", u), g("rx", f), g("ry", f);
|
|
58343
58352
|
}), new XMLSerializer().serializeToString(a);
|
|
58344
58353
|
}
|
|
58345
|
-
function
|
|
58354
|
+
function Pl(s, e, t) {
|
|
58346
58355
|
const i = new DOMParser().parseFromString(s, "image/svg+xml"), a = i.querySelector("svg")?.querySelector("rect, circle, polygon, path, ellipse, line, polyline");
|
|
58347
58356
|
if (!a) {
|
|
58348
58357
|
const r = /(<(?:rect|circle|polygon|path|ellipse|line|polyline)[^>]*)(>)/;
|
|
@@ -58482,8 +58491,8 @@ class e9 {
|
|
|
58482
58491
|
const g = u.x - n / 2, w = u.y - r / 2;
|
|
58483
58492
|
d.fillStyle = { color: i }, d.roundRect(g, w, n, r, o), d.fill();
|
|
58484
58493
|
}
|
|
58485
|
-
const f = this.selectedPlayer?.getRotation() ?? 0, p =
|
|
58486
|
-
d.cursor =
|
|
58494
|
+
const f = this.selectedPlayer?.getRotation() ?? 0, p = El[c] ?? 0;
|
|
58495
|
+
d.cursor = Nl(p + f);
|
|
58487
58496
|
}
|
|
58488
58497
|
}
|
|
58489
58498
|
getUIScale() {
|
|
@@ -58704,8 +58713,8 @@ class e9 {
|
|
|
58704
58713
|
return FN(e, n, a, r);
|
|
58705
58714
|
}
|
|
58706
58715
|
getCornerResizeCursor(e) {
|
|
58707
|
-
const t = this.selectedPlayer?.getRotation() ?? 0, i =
|
|
58708
|
-
return
|
|
58716
|
+
const t = this.selectedPlayer?.getRotation() ?? 0, i = El[`${e}Resize`] ?? 45;
|
|
58717
|
+
return Nl(i + t);
|
|
58709
58718
|
}
|
|
58710
58719
|
updateHoverState(e) {
|
|
58711
58720
|
if (!this.selectedPlayer) {
|
|
@@ -58716,8 +58725,8 @@ class e9 {
|
|
|
58716
58725
|
if (this.isHovering = i.x >= 0 && i.x <= a.width && i.y >= 0 && i.y <= a.height, this.selectedPlayer.supportsEdgeResize()) {
|
|
58717
58726
|
const r = ms.EDGE_HIT_ZONE / this.getUIScale(), n = Zf(i, a, r);
|
|
58718
58727
|
if (n) {
|
|
58719
|
-
const o = this.selectedPlayer.getRotation() ?? 0, l =
|
|
58720
|
-
this.outline.cursor =
|
|
58728
|
+
const o = this.selectedPlayer.getRotation() ?? 0, l = El[n] ?? 0;
|
|
58729
|
+
this.outline.cursor = Nl(l + o);
|
|
58721
58730
|
return;
|
|
58722
58731
|
}
|
|
58723
58732
|
}
|
|
@@ -58733,7 +58742,7 @@ const cn = {
|
|
|
58733
58742
|
transition: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v18"/><path d="M5 12H2l3-3 3 3H5"/><path d="M19 12h3l-3 3-3-3h3"/></svg>',
|
|
58734
58743
|
effect: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M12 1v4M12 19v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M1 12h4M19 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/></svg>'
|
|
58735
58744
|
};
|
|
58736
|
-
class
|
|
58745
|
+
class $n extends Ma {
|
|
58737
58746
|
// ─── SVG Asset Controls ──────────────────────────────────────────────────────
|
|
58738
58747
|
fillColorInput = null;
|
|
58739
58748
|
cornerRadiusInput = null;
|
|
@@ -58750,7 +58759,7 @@ class Jn extends Ma {
|
|
|
58750
58759
|
popups = /* @__PURE__ */ new Map();
|
|
58751
58760
|
// ─── State ───────────────────────────────────────────────────────────────────
|
|
58752
58761
|
// Single DragStateManager for all controls: "fill", "corner", "opacity", "scale"
|
|
58753
|
-
dragManager = new
|
|
58762
|
+
dragManager = new Io();
|
|
58754
58763
|
abortController = null;
|
|
58755
58764
|
mount(e) {
|
|
58756
58765
|
ds(), this.container = document.createElement("div"), this.container.className = "ss-toolbar ss-svg-toolbar", this.container.innerHTML = `
|
|
@@ -58855,7 +58864,7 @@ class Jn extends Ma {
|
|
|
58855
58864
|
const a = i.asset;
|
|
58856
58865
|
if (!a.src) return;
|
|
58857
58866
|
const r = structuredClone(a);
|
|
58858
|
-
r.src =
|
|
58867
|
+
r.src = Pl(a.src, "fill", this.currentFill), this.edit.updateClipInDocument(t, { asset: r }), this.edit.resolveClip(t);
|
|
58859
58868
|
}), this.fillColorInput.addEventListener("change", () => {
|
|
58860
58869
|
this.endAssetDrag("fill");
|
|
58861
58870
|
}));
|
|
@@ -58870,10 +58879,10 @@ class Jn extends Ma {
|
|
|
58870
58879
|
return;
|
|
58871
58880
|
const i = t.asset;
|
|
58872
58881
|
if (!i.src) return;
|
|
58873
|
-
const r = new DOMParser().parseFromString(i.src, "image/svg+xml").querySelector("svg")?.querySelector("rect, circle, polygon, path, ellipse, line, polyline"), n = r ?
|
|
58882
|
+
const r = new DOMParser().parseFromString(i.src, "image/svg+xml").querySelector("svg")?.querySelector("rect, circle, polygon, path, ellipse, line, polyline"), n = r ? $n.getMaxRadius(r) : 100, o = Math.max(0, Math.min(this.currentRadius, n));
|
|
58874
58883
|
o !== this.currentRadius && (this.currentRadius = o, this.cornerRadiusInput.value = String(o));
|
|
58875
58884
|
const l = structuredClone(i);
|
|
58876
|
-
l.src =
|
|
58885
|
+
l.src = Pl(i.src, "rx", String(o)), l.src = Pl(l.src, "ry", String(o)), this.edit.updateClipInDocument(e, { asset: l }), this.edit.resolveClip(e);
|
|
58877
58886
|
} catch (e) {
|
|
58878
58887
|
console.error("[SVG Corner Radius] Error applying radius:", e), this.dragManager.end("corner");
|
|
58879
58888
|
}
|
|
@@ -58947,7 +58956,7 @@ class Jn extends Ma {
|
|
|
58947
58956
|
const n = new DOMParser().parseFromString(t.src, "image/svg+xml").querySelector("svg")?.querySelector("rect, circle, polygon, path, ellipse, line, polyline");
|
|
58948
58957
|
if (n) {
|
|
58949
58958
|
this.currentFill = n.getAttribute("fill") || "#0000ff", this.fillColorInput && (this.fillColorInput.value = this.currentFill);
|
|
58950
|
-
const o = n.getAttribute("rx") || "0", l =
|
|
58959
|
+
const o = n.getAttribute("rx") || "0", l = $n.getMaxRadius(n);
|
|
58951
58960
|
this.cornerRadiusInput && (this.cornerRadiusInput.max = String(Math.round(l))), this.currentRadius = Math.round(parseFloat(o)), this.cornerRadiusInput && (this.cornerRadiusInput.value = String(this.currentRadius));
|
|
58952
58961
|
}
|
|
58953
58962
|
}
|
|
@@ -59053,7 +59062,7 @@ class s9 extends Ma {
|
|
|
59053
59062
|
// ─── Cached Elements (only those accessed frequently or needing typed refs) ──
|
|
59054
59063
|
promptTextarea = null;
|
|
59055
59064
|
// ─── State ───────────────────────────────────────────────────────────────────
|
|
59056
|
-
dragManager = new
|
|
59065
|
+
dragManager = new Io();
|
|
59057
59066
|
promptDebounceTimer = null;
|
|
59058
59067
|
abortController = null;
|
|
59059
59068
|
// ─── DOM Query Helpers ────────────────────────────────────────────────────────
|
|
@@ -59994,7 +60003,7 @@ class lc {
|
|
|
59994
60003
|
* Register all standard toolbars. Called by create() factory.
|
|
59995
60004
|
*/
|
|
59996
60005
|
registerStandardToolbars() {
|
|
59997
|
-
this.selectionHandlesEnabled && this.registerCanvasOverlay(new e9(this.edit)), this.registerToolbar("text", new i9(this.edit)), this.registerToolbar("rich-text", new ha(this.edit, { mergeFields: this.mergeFieldsEnabled })), this.registerToolbar("svg", new
|
|
60006
|
+
this.selectionHandlesEnabled && this.registerCanvasOverlay(new e9(this.edit)), this.registerToolbar("text", new i9(this.edit)), this.registerToolbar("rich-text", new ha(this.edit, { mergeFields: this.mergeFieldsEnabled })), this.registerToolbar("svg", new $n(this.edit)), this.registerToolbar(["video", "image"], new fa(this.edit, { mergeFields: this.mergeFieldsEnabled })), this.registerToolbar("audio", new fa(this.edit, { mergeFields: this.mergeFieldsEnabled })), this.registerToolbar("text-to-image", new s9(this.edit)), this.registerToolbar("image-to-video", new fa(this.edit)), this.registerToolbar("text-to-speech", new fa(this.edit)), this.canvasToolbar = new uN(this.edit, {
|
|
59998
60007
|
mergeFields: this.mergeFieldsEnabled,
|
|
59999
60008
|
maxPixels: this.maxPixels
|
|
60000
60009
|
}), this.registerUtility(this.canvasToolbar), this.canvasToolbar.onResolutionChange((e, t) => this.edit.setOutputSize(e, t)), this.canvasToolbar.onFpsChange((e) => this.edit.setOutputFps(e)), this.canvasToolbar.onBackgroundChange((e) => this.edit.setTimelineBackground(e)), this.assetToolbar = new oN(this), this.registerUtility(this.assetToolbar), this.clipToolbar = new yN(this.edit);
|
|
@@ -60414,7 +60423,7 @@ var a9 = sp({
|
|
|
60414
60423
|
var De = He();
|
|
60415
60424
|
if (n.instantiateWasm)
|
|
60416
60425
|
return new Promise((vt, Ji) => {
|
|
60417
|
-
n.instantiateWasm(De, (zr,
|
|
60426
|
+
n.instantiateWasm(De, (zr, Eo) => {
|
|
60418
60427
|
vt(E(zr));
|
|
60419
60428
|
});
|
|
60420
60429
|
});
|
|
@@ -60460,7 +60469,7 @@ var a9 = sp({
|
|
|
60460
60469
|
delete de[E], gt(() => Ba(E, Nt()));
|
|
60461
60470
|
}, oe);
|
|
60462
60471
|
return de[E] = { id: De, timeout_ms: oe }, 0;
|
|
60463
|
-
}, Fe = () => 2147483648,
|
|
60472
|
+
}, Fe = () => 2147483648, To = (E, oe) => Math.ceil(E / oe) * oe, ji = (E) => {
|
|
60464
60473
|
var oe = M.buffer.byteLength, De = (E - oe + 65535) / 65536 | 0;
|
|
60465
60474
|
try {
|
|
60466
60475
|
return M.grow(De), K(), 1;
|
|
@@ -60475,7 +60484,7 @@ var a9 = sp({
|
|
|
60475
60484
|
for (var qe = 1; qe <= 4; qe *= 2) {
|
|
60476
60485
|
var Qe = oe * (1 + 0.2 / qe);
|
|
60477
60486
|
Qe = Math.min(Qe, E + 100663296);
|
|
60478
|
-
var vt = Math.min(De,
|
|
60487
|
+
var vt = Math.min(De, To(Math.max(E, Qe), 65536)), Ji = ji(vt);
|
|
60479
60488
|
if (Ji)
|
|
60480
60489
|
return !0;
|
|
60481
60490
|
}
|
|
@@ -61000,7 +61009,7 @@ function h9(s, e) {
|
|
|
61000
61009
|
}
|
|
61001
61010
|
var Qf = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
61002
61011
|
}, unregister: () => {
|
|
61003
|
-
} } : new FinalizationRegistry((s) => ge.__wbg_bbox_free(s >>> 0)),
|
|
61012
|
+
} } : new FinalizationRegistry((s) => ge.__wbg_bbox_free(s >>> 0)), Fl = class tg {
|
|
61004
61013
|
static __wrap(e) {
|
|
61005
61014
|
e = e >>> 0;
|
|
61006
61015
|
const t = Object.create(tg.prototype);
|
|
@@ -61198,7 +61207,7 @@ var Qf = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
|
61198
61207
|
*/
|
|
61199
61208
|
innerBBox() {
|
|
61200
61209
|
const s = ge.resvg_innerBBox(this.__wbg_ptr);
|
|
61201
|
-
return s === 0 ? void 0 :
|
|
61210
|
+
return s === 0 ? void 0 : Fl.__wrap(s);
|
|
61202
61211
|
}
|
|
61203
61212
|
/**
|
|
61204
61213
|
* Calculate a maximum bounding box of all visible elements in this SVG.
|
|
@@ -61208,7 +61217,7 @@ var Qf = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
|
61208
61217
|
*/
|
|
61209
61218
|
getBBox() {
|
|
61210
61219
|
const s = ge.resvg_getBBox(this.__wbg_ptr);
|
|
61211
|
-
return s === 0 ? void 0 :
|
|
61220
|
+
return s === 0 ? void 0 : Fl.__wrap(s);
|
|
61212
61221
|
}
|
|
61213
61222
|
/**
|
|
61214
61223
|
* Use a given `BBox` to crop the svg. Currently this method simply changes
|
|
@@ -61216,7 +61225,7 @@ var Qf = typeof FinalizationRegistry > "u" ? { register: () => {
|
|
|
61216
61225
|
* @param {BBox} bbox
|
|
61217
61226
|
*/
|
|
61218
61227
|
cropByBBox(s) {
|
|
61219
|
-
f9(s,
|
|
61228
|
+
f9(s, Fl), ge.resvg_cropByBBox(this.__wbg_ptr, s.__wbg_ptr);
|
|
61220
61229
|
}
|
|
61221
61230
|
/**
|
|
61222
61231
|
* @returns {Array<any>}
|