manim-web 0.30.0 → 0.32.0

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.
@@ -40611,7 +40611,7 @@ var jg = class e {
40611
40611
  if (this.isHeadless) throw Error("export() is not available in headless mode. Create a Scene with a container for rendering and exporting.");
40612
40612
  let n = e.slice(e.lastIndexOf(".")).toLowerCase(), r;
40613
40613
  if (n === ".gif") {
40614
- let { GifExporter: n } = await Promise.resolve().then(() => KP);
40614
+ let { GifExporter: n } = await Promise.resolve().then(() => lF);
40615
40615
  r = await new n(this, {
40616
40616
  fps: t?.fps,
40617
40617
  quality: t?.quality,
@@ -40623,7 +40623,7 @@ var jg = class e {
40623
40623
  workers: t?.workers
40624
40624
  }).exportTimeline(t?.duration), n.download(r, e);
40625
40625
  } else if (n === ".webm" || n === ".mp4" || n === ".mov") {
40626
- let { VideoExporter: i } = await Promise.resolve().then(() => XP), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
40626
+ let { VideoExporter: i } = await Promise.resolve().then(() => pF), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
40627
40627
  r = await new i(this, {
40628
40628
  fps: t?.fps,
40629
40629
  quality: t?.quality,
@@ -74624,13 +74624,369 @@ var VP = class {
74624
74624
  _resetTriggers() {
74625
74625
  for (let e of this._inputs.values()) e.kind === "trigger" && (e.value = !1);
74626
74626
  }
74627
+ }, HP = {
74628
+ " ": "space",
74629
+ spacebar: "space",
74630
+ esc: "escape",
74631
+ del: "delete",
74632
+ up: "arrowup",
74633
+ down: "arrowdown",
74634
+ left: "arrowleft",
74635
+ right: "arrowright"
74627
74636
  };
74637
+ function UP(e) {
74638
+ let t = e.toLowerCase();
74639
+ return HP[t] ?? t;
74640
+ }
74641
+ var WP = {
74642
+ right: ["arrowright", "d"],
74643
+ left: ["arrowleft", "a"],
74644
+ up: ["arrowup", "w"],
74645
+ down: ["arrowdown", "s"]
74646
+ };
74647
+ function GP(e) {
74648
+ return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : typeof document < "u" && typeof document.addEventListener == "function" ? document : null);
74649
+ }
74650
+ var KP = class {
74651
+ _target;
74652
+ _preventDefault;
74653
+ _down = /* @__PURE__ */ new Set();
74654
+ _pressed = /* @__PURE__ */ new Set();
74655
+ _released = /* @__PURE__ */ new Set();
74656
+ _downCallbacks = /* @__PURE__ */ new Map();
74657
+ _upCallbacks = /* @__PURE__ */ new Map();
74658
+ _enabled = !1;
74659
+ _onKeyDown;
74660
+ _onKeyUp;
74661
+ constructor(e = {}, t) {
74662
+ this._target = GP(t), this._preventDefault = Array.isArray(e.preventDefault) ? new Set(e.preventDefault.map(UP)) : e.preventDefault ?? !1, this._onKeyDown = this._handleKeyDown.bind(this), this._onKeyUp = this._handleKeyUp.bind(this), (e.autoEnable ?? !0) && this.enable();
74663
+ }
74664
+ get isEnabled() {
74665
+ return this._enabled;
74666
+ }
74667
+ get hasTarget() {
74668
+ return this._target !== null;
74669
+ }
74670
+ enable() {
74671
+ this._enabled || !this._target || (this._target.addEventListener("keydown", this._onKeyDown), this._target.addEventListener("keyup", this._onKeyUp), this._enabled = !0);
74672
+ }
74673
+ disable() {
74674
+ this._target && (this._target.removeEventListener("keydown", this._onKeyDown), this._target.removeEventListener("keyup", this._onKeyUp)), this._enabled = !1, this.clear();
74675
+ }
74676
+ dispose() {
74677
+ this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
74678
+ }
74679
+ clear() {
74680
+ this._down.clear(), this._pressed.clear(), this._released.clear();
74681
+ }
74682
+ isKeyDown(e) {
74683
+ return this._down.has(UP(e));
74684
+ }
74685
+ anyKeyDown() {
74686
+ return this._down.size > 0;
74687
+ }
74688
+ wasPressed(e) {
74689
+ return this._pressed.has(UP(e));
74690
+ }
74691
+ wasReleased(e) {
74692
+ return this._released.has(UP(e));
74693
+ }
74694
+ getAxis() {
74695
+ return [!!this._anyDown(WP.right) - +!!this._anyDown(WP.left), !!this._anyDown(WP.up) - +!!this._anyDown(WP.down)];
74696
+ }
74697
+ getDirectionVector() {
74698
+ let [e, t] = this.getAxis(), n = Math.hypot(e, t);
74699
+ return n === 0 ? [0, 0] : [e / n, t / n];
74700
+ }
74701
+ onKeyDown(e, t) {
74702
+ return this._addCallback(this._downCallbacks, e, t);
74703
+ }
74704
+ onKeyUp(e, t) {
74705
+ return this._addCallback(this._upCallbacks, e, t);
74706
+ }
74707
+ bindBool(e, t, n) {
74708
+ let r = this.onKeyDown(n, () => e.setInput(t, !0)), i = this.onKeyUp(n, () => e.setInput(t, !1));
74709
+ return () => {
74710
+ r(), i();
74711
+ };
74712
+ }
74713
+ bindTrigger(e, t, n) {
74714
+ return this.onKeyDown(n, () => e.fire(t));
74715
+ }
74716
+ bindValue(e, t, n) {
74717
+ let r = n.releasedValue ?? 0, i = this.onKeyDown(t, () => e.setValue(n.heldValue)), a = this.onKeyUp(t, () => e.setValue(r));
74718
+ return () => {
74719
+ i(), a();
74720
+ };
74721
+ }
74722
+ update(e = 0) {
74723
+ this.endFrame();
74724
+ }
74725
+ endFrame() {
74726
+ this._pressed.clear(), this._released.clear();
74727
+ }
74728
+ _anyDown(e) {
74729
+ return e.some((e) => this._down.has(e));
74730
+ }
74731
+ _handleKeyDown(e) {
74732
+ let t = UP(e.key);
74733
+ this._maybePreventDefault(e, t), !(e.repeat || this._down.has(t)) && (this._down.add(t), this._pressed.add(t), this._emit(this._downCallbacks, t, e));
74734
+ }
74735
+ _handleKeyUp(e) {
74736
+ let t = UP(e.key);
74737
+ this._maybePreventDefault(e, t), this._down.delete(t), this._released.add(t), this._emit(this._upCallbacks, t, e);
74738
+ }
74739
+ _maybePreventDefault(e, t) {
74740
+ let n = this._preventDefault;
74741
+ (n === !0 || n instanceof Set && n.has(t)) && e.preventDefault();
74742
+ }
74743
+ _addCallback(e, t, n) {
74744
+ let r = t === "any" ? "any" : UP(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
74745
+ return i.add(n), e.set(r, i), () => {
74746
+ i.delete(n), i.size === 0 && e.delete(r);
74747
+ };
74748
+ }
74749
+ _emit(e, t, n) {
74750
+ e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
74751
+ }
74752
+ };
74753
+ function qP(e, t) {
74754
+ return new KP(e, t);
74755
+ }
74756
+ //#endregion
74757
+ //#region src/interaction/GamepadInput.ts
74758
+ var JP = {
74759
+ A: 0,
74760
+ B: 1,
74761
+ X: 2,
74762
+ Y: 3,
74763
+ LB: 4,
74764
+ RB: 5,
74765
+ LT: 6,
74766
+ RT: 7,
74767
+ select: 8,
74768
+ start: 9,
74769
+ L3: 10,
74770
+ R3: 11,
74771
+ dpadUp: 12,
74772
+ dpadDown: 13,
74773
+ dpadLeft: 14,
74774
+ dpadRight: 15,
74775
+ guide: 16
74776
+ }, YP = {
74777
+ leftX: 0,
74778
+ leftY: 1,
74779
+ rightX: 2,
74780
+ rightY: 3
74781
+ }, XP = {
74782
+ cross: "A",
74783
+ circle: "B",
74784
+ square: "X",
74785
+ triangle: "Y",
74786
+ l1: "LB",
74787
+ r1: "RB",
74788
+ l2: "LT",
74789
+ r2: "RT",
74790
+ back: "select",
74791
+ view: "select",
74792
+ menu: "start",
74793
+ home: "guide",
74794
+ up: "dpadUp",
74795
+ down: "dpadDown",
74796
+ left: "dpadLeft",
74797
+ right: "dpadRight"
74798
+ }, ZP = Object.fromEntries(Object.entries(JP).map(([e, t]) => [e.toLowerCase(), t]));
74799
+ function QP(e) {
74800
+ if (typeof e == "number") return e;
74801
+ let t = e.toLowerCase(), n = XP[t];
74802
+ return n ? JP[n] : ZP[t] ?? -1;
74803
+ }
74804
+ function $P(e) {
74805
+ return e || (typeof navigator < "u" && typeof navigator.getGamepads == "function" ? () => navigator.getGamepads() : null);
74806
+ }
74807
+ function eF(e) {
74808
+ return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : null);
74809
+ }
74810
+ function tF() {
74811
+ return $P() !== null;
74812
+ }
74813
+ var nF = class {
74814
+ _getGamepads;
74815
+ _eventTarget;
74816
+ _gamepadIndex;
74817
+ _deadzone;
74818
+ _down = /* @__PURE__ */ new Set();
74819
+ _pressed = /* @__PURE__ */ new Set();
74820
+ _released = /* @__PURE__ */ new Set();
74821
+ _axes = [];
74822
+ _buttonValues = [];
74823
+ _downCallbacks = /* @__PURE__ */ new Map();
74824
+ _upCallbacks = /* @__PURE__ */ new Map();
74825
+ _enabled = !1;
74826
+ _onConnect;
74827
+ _onDisconnect;
74828
+ constructor(e = {}, t, n) {
74829
+ this._getGamepads = $P(t), this._eventTarget = eF(n), this._gamepadIndex = e.gamepadIndex, this._deadzone = e.deadzone ?? .1, this._onConnect = this._handleConnect.bind(this), this._onDisconnect = this._handleDisconnect.bind(this), (e.autoEnable ?? !0) && this.enable();
74830
+ }
74831
+ get isEnabled() {
74832
+ return this._enabled;
74833
+ }
74834
+ get hasSource() {
74835
+ return this._getGamepads !== null;
74836
+ }
74837
+ get hasTarget() {
74838
+ return this._eventTarget !== null;
74839
+ }
74840
+ enable() {
74841
+ this._enabled ||= (this._eventTarget && (this._eventTarget.addEventListener("gamepadconnected", this._onConnect), this._eventTarget.addEventListener("gamepaddisconnected", this._onDisconnect)), !0);
74842
+ }
74843
+ disable() {
74844
+ this._eventTarget && (this._eventTarget.removeEventListener("gamepadconnected", this._onConnect), this._eventTarget.removeEventListener("gamepaddisconnected", this._onDisconnect)), this._enabled = !1, this.clear();
74845
+ }
74846
+ dispose() {
74847
+ this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
74848
+ }
74849
+ clear() {
74850
+ this._down.clear(), this._pressed.clear(), this._released.clear(), this._axes = [], this._buttonValues = [];
74851
+ }
74852
+ poll() {
74853
+ this._pressed.clear(), this._released.clear();
74854
+ let e = this._readActivePad();
74855
+ if (!e) {
74856
+ this._releaseAll(), this._axes = [], this._buttonValues = [];
74857
+ return;
74858
+ }
74859
+ let t = e.buttons;
74860
+ for (let n = 0; n < t.length; n += 1) {
74861
+ let r = t[n]?.pressed ?? !1, i = this._down.has(n);
74862
+ r && !i ? (this._down.add(n), this._pressed.add(n), this._emit(this._downCallbacks, n, e)) : !r && i && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
74863
+ }
74864
+ for (let n of [...this._down]) n >= t.length && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
74865
+ this._axes = [...e.axes], this._buttonValues = t.map((e) => e?.value ?? 0);
74866
+ }
74867
+ update(e = 0) {
74868
+ this.poll();
74869
+ }
74870
+ isButtonDown(e) {
74871
+ let t = QP(e);
74872
+ return t >= 0 && this._down.has(t);
74873
+ }
74874
+ anyButtonDown() {
74875
+ return this._down.size > 0;
74876
+ }
74877
+ wasButtonPressed(e) {
74878
+ let t = QP(e);
74879
+ return t >= 0 && this._pressed.has(t);
74880
+ }
74881
+ wasButtonReleased(e) {
74882
+ let t = QP(e);
74883
+ return t >= 0 && this._released.has(t);
74884
+ }
74885
+ getButtonValue(e) {
74886
+ let t = QP(e);
74887
+ return t < 0 ? 0 : this._buttonValues[t] ?? 0;
74888
+ }
74889
+ getAxis(e, t = this._deadzone) {
74890
+ return this._applyDeadzone(this._axes[e] ?? 0, t);
74891
+ }
74892
+ getLeftStick() {
74893
+ return [this.getAxis(YP.leftX), 0 - this.getAxis(YP.leftY)];
74894
+ }
74895
+ getRightStick() {
74896
+ return [this.getAxis(YP.rightX), 0 - this.getAxis(YP.rightY)];
74897
+ }
74898
+ getDirectionVector() {
74899
+ let e = !!this.isButtonDown("dpadRight") - +!!this.isButtonDown("dpadLeft"), t = !!this.isButtonDown("dpadUp") - +!!this.isButtonDown("dpadDown");
74900
+ if (e !== 0 || t !== 0) return rF(e, t);
74901
+ let [n, r] = this.getLeftStick();
74902
+ return rF(n, r);
74903
+ }
74904
+ getConnectedGamepads() {
74905
+ if (!this._getGamepads) return [];
74906
+ try {
74907
+ return [...this._getGamepads()].filter((e) => e != null && (e.connected ?? !0));
74908
+ } catch {
74909
+ return [];
74910
+ }
74911
+ }
74912
+ onButtonDown(e, t) {
74913
+ return this._addCallback(this._downCallbacks, e, t);
74914
+ }
74915
+ onButtonUp(e, t) {
74916
+ return this._addCallback(this._upCallbacks, e, t);
74917
+ }
74918
+ bindBool(e, t, n) {
74919
+ let r = this.onButtonDown(n, () => e.setInput(t, !0)), i = this.onButtonUp(n, () => e.setInput(t, !1));
74920
+ return () => {
74921
+ r(), i();
74922
+ };
74923
+ }
74924
+ bindTrigger(e, t, n) {
74925
+ return this.onButtonDown(n, () => e.fire(t));
74926
+ }
74927
+ bindValue(e, t, n) {
74928
+ let r = n.releasedValue ?? 0, i = this.onButtonDown(t, () => e.setValue(n.heldValue)), a = this.onButtonUp(t, () => e.setValue(r));
74929
+ return () => {
74930
+ i(), a();
74931
+ };
74932
+ }
74933
+ _readActivePad() {
74934
+ if (!this._getGamepads) return null;
74935
+ let e;
74936
+ try {
74937
+ e = this._getGamepads() ?? [];
74938
+ } catch {
74939
+ return null;
74940
+ }
74941
+ if (this._gamepadIndex != null) return e[this._gamepadIndex] ?? null;
74942
+ for (let t of e) if (t && (t.connected ?? !0)) return t;
74943
+ return null;
74944
+ }
74945
+ _releaseAll() {
74946
+ if (this._down.size !== 0) {
74947
+ for (let e of [...this._down]) this._released.add(e), this._emit(this._upCallbacks, e, null);
74948
+ this._down.clear();
74949
+ }
74950
+ }
74951
+ _applyDeadzone(e, t) {
74952
+ return Math.abs(e) < t ? 0 : e;
74953
+ }
74954
+ _addCallback(e, t, n) {
74955
+ let r = this._callbackKey(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
74956
+ return i.add(n), e.set(r, i), () => {
74957
+ i.delete(n), i.size === 0 && e.delete(r);
74958
+ };
74959
+ }
74960
+ _callbackKey(e) {
74961
+ if (e === "any") return "any";
74962
+ let t = QP(e);
74963
+ return t < 0 && i.warn(`[manim-web] GamepadInput: unknown button "${String(e)}".`), t;
74964
+ }
74965
+ _emit(e, t, n) {
74966
+ e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
74967
+ }
74968
+ _handleConnect(e) {
74969
+ let t = e.gamepad;
74970
+ i.info(`[manim-web] GamepadInput: gamepad connected (index ${t?.index ?? "?"}).`);
74971
+ }
74972
+ _handleDisconnect(e) {
74973
+ let t = e.gamepad;
74974
+ i.info(`[manim-web] GamepadInput: gamepad disconnected (index ${t?.index ?? "?"}).`);
74975
+ }
74976
+ };
74977
+ function rF(e, t) {
74978
+ let n = Math.hypot(e, t);
74979
+ return n === 0 ? [0, 0] : [e / n, t / n];
74980
+ }
74981
+ function iF(e, t, n) {
74982
+ return new nF(e, t, n);
74983
+ }
74628
74984
  //#endregion
74629
74985
  //#region src/interaction/PanZoomControls.ts
74630
- function HP(e, t, n) {
74986
+ function aF(e, t, n) {
74631
74987
  return Math.max(t, Math.min(n, e));
74632
74988
  }
74633
- var UP = class {
74989
+ var oF = class {
74634
74990
  _camera;
74635
74991
  _domElement;
74636
74992
  _options;
@@ -74682,7 +75038,7 @@ var UP = class {
74682
75038
  if (!this._enabled || !this._options.enableZoom) return;
74683
75039
  let t = this._eventToNdc(e.clientX, e.clientY);
74684
75040
  if (!t) return;
74685
- let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = HP(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
75041
+ let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = aF(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
74686
75042
  if (s === 1) return;
74687
75043
  this._camera.frameWidth = this._camera.frameWidth * s, this._camera.frameHeight = this._camera.frameHeight * s;
74688
75044
  let c = n.x - t.x * this._camera.frameWidth / 2, l = n.y - t.y * this._camera.frameHeight / 2;
@@ -74731,12 +75087,12 @@ var UP = class {
74731
75087
  this._options.onChange?.();
74732
75088
  }
74733
75089
  };
74734
- function WP(e, t, n) {
74735
- return new UP(e, t, n);
75090
+ function sF(e, t, n) {
75091
+ return new oF(e, t, n);
74736
75092
  }
74737
75093
  //#endregion
74738
75094
  //#region node_modules/gif.js/dist/gif.js
74739
- var GP = /* @__PURE__ */ r(((e, t) => {
75095
+ var cF = /* @__PURE__ */ r(((e, t) => {
74740
75096
  (function(n) {
74741
75097
  if (typeof e == "object" && t !== void 0) t.exports = n();
74742
75098
  else if (typeof define == "function" && define.amd) define([], n);
@@ -74990,10 +75346,10 @@ var GP = /* @__PURE__ */ r(((e, t) => {
74990
75346
  }]
74991
75347
  }, {}, [3])(3);
74992
75348
  });
74993
- })), KP = /* @__PURE__ */ t({
74994
- GifExporter: () => JP,
74995
- createGifExporter: () => YP
74996
- }), qP = /* @__PURE__ */ e(GP(), 1), JP = class e {
75349
+ })), lF = /* @__PURE__ */ t({
75350
+ GifExporter: () => dF,
75351
+ createGifExporter: () => fF
75352
+ }), uF = /* @__PURE__ */ e(cF(), 1), dF = class e {
74997
75353
  _scene;
74998
75354
  _options;
74999
75355
  constructor(e, t) {
@@ -75011,7 +75367,7 @@ var GP = /* @__PURE__ */ r(((e, t) => {
75011
75367
  };
75012
75368
  }
75013
75369
  async exportTimeline(e) {
75014
- let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new qP.default({
75370
+ let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new uF.default({
75015
75371
  workers: this._options.workers,
75016
75372
  quality: this._options.quality,
75017
75373
  width: this._options.width,
@@ -75070,15 +75426,15 @@ var GP = /* @__PURE__ */ r(((e, t) => {
75070
75426
  e.download(r, t);
75071
75427
  }
75072
75428
  };
75073
- function YP(e, t) {
75074
- return new JP(e, t);
75429
+ function fF(e, t) {
75430
+ return new dF(e, t);
75075
75431
  }
75076
75432
  //#endregion
75077
75433
  //#region src/export/VideoExporter.ts
75078
- var XP = /* @__PURE__ */ t({
75079
- VideoExporter: () => ZP,
75080
- createVideoExporter: () => QP
75081
- }), ZP = class e {
75434
+ var pF = /* @__PURE__ */ t({
75435
+ VideoExporter: () => mF,
75436
+ createVideoExporter: () => hF
75437
+ }), mF = class e {
75082
75438
  _scene;
75083
75439
  _options;
75084
75440
  _mediaRecorder = null;
@@ -75170,26 +75526,26 @@ var XP = /* @__PURE__ */ t({
75170
75526
  return { ...this._options };
75171
75527
  }
75172
75528
  };
75173
- function QP(e, t) {
75174
- return new ZP(e, t);
75529
+ function hF(e, t) {
75530
+ return new mF(e, t);
75175
75531
  }
75176
75532
  //#endregion
75177
75533
  //#region src/export/alphaBackground.ts
75178
- var $P = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", eF = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
75179
- function tF(e) {
75534
+ var gF = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", _F = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
75535
+ function vF(e) {
75180
75536
  let t = e.renderer;
75181
75537
  return !t || typeof t.getThreeRenderer != "function" ? null : t.getThreeRenderer() ?? null;
75182
75538
  }
75183
- function nF(e) {
75539
+ function yF(e) {
75184
75540
  return e.getContext().getContextAttributes()?.alpha === !0;
75185
75541
  }
75186
- function rF(e) {
75187
- let t = tF(e);
75188
- if (!t) throw Error(eF);
75189
- if (!nF(t)) throw Error($P);
75542
+ function bF(e) {
75543
+ let t = vF(e);
75544
+ if (!t) throw Error(_F);
75545
+ if (!yF(t)) throw Error(gF);
75190
75546
  return t;
75191
75547
  }
75192
- async function iF(e, t) {
75548
+ async function xF(e, t) {
75193
75549
  let n = e.getClearAlpha();
75194
75550
  e.setClearAlpha(0);
75195
75551
  try {
@@ -75200,7 +75556,7 @@ async function iF(e, t) {
75200
75556
  }
75201
75557
  //#endregion
75202
75558
  //#region src/export/FrameExporter.ts
75203
- function aF(e, t, n) {
75559
+ function SF(e, t, n) {
75204
75560
  return new Promise((r, i) => {
75205
75561
  if (typeof e.toBlob == "function") {
75206
75562
  e.toBlob((e) => {
@@ -75209,22 +75565,22 @@ function aF(e, t, n) {
75209
75565
  return;
75210
75566
  }
75211
75567
  try {
75212
- r(oF(e.toDataURL(t, n)));
75568
+ r(CF(e.toDataURL(t, n)));
75213
75569
  } catch (e) {
75214
75570
  i(e instanceof Error ? e : Error(String(e)));
75215
75571
  }
75216
75572
  });
75217
75573
  }
75218
- function oF(e) {
75574
+ function CF(e) {
75219
75575
  let [t, n] = e.split(","), r = t.match(/data:([^;]+)/), i = r ? r[1] : "image/png", a = atob(n), o = new Uint8Array(a.length);
75220
75576
  for (let e = 0; e < a.length; e++) o[e] = a.charCodeAt(e);
75221
75577
  return new Blob([o], { type: i });
75222
75578
  }
75223
- async function sF(e, t) {
75579
+ async function wF(e, t) {
75224
75580
  let n = t?.type ?? "image/png";
75225
- return t?.transparent ? iF(rF(e), () => (cF(e, t?.time), aF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), aF(e.getCanvas(), n, t?.quality));
75581
+ return t?.transparent ? xF(bF(e), () => (TF(e, t?.time), SF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), SF(e.getCanvas(), n, t?.quality));
75226
75582
  }
75227
- function cF(e, t) {
75583
+ function TF(e, t) {
75228
75584
  if (t !== void 0) {
75229
75585
  e.seek(t);
75230
75586
  return;
@@ -75235,29 +75591,29 @@ function cF(e, t) {
75235
75591
  }
75236
75592
  throw Error("Transparent single-frame export needs either a `time` to seek to, or a scene with a render() method, so the frame is re-rendered with a transparent background.");
75237
75593
  }
75238
- async function lF(e, t) {
75594
+ async function EF(e, t) {
75239
75595
  let n = t.fps, r = t.from ?? 0, i = t.to ?? e.getTimelineDuration() ?? 5, a = t.type ?? "image/png", o = t.onProgress ?? (() => {}), s = Math.max(0, i - r), c = Math.ceil(s * n), l = 1 / n, u = async () => {
75240
75596
  let n = [];
75241
75597
  for (let i = 0; i < c; i++) {
75242
75598
  let s = r + i * l;
75243
75599
  e.seek(s);
75244
75600
  let u = e.getCanvas();
75245
- n.push(await aF(u, a, t.quality)), o((i + 1) / c);
75601
+ n.push(await SF(u, a, t.quality)), o((i + 1) / c);
75246
75602
  }
75247
75603
  return n;
75248
75604
  };
75249
- return t.transparent ? iF(rF(e), u) : u();
75605
+ return t.transparent ? xF(bF(e), u) : u();
75250
75606
  }
75251
- function uF(e, t) {
75607
+ function DF(e, t) {
75252
75608
  let n = URL.createObjectURL(e), r = document.createElement("a");
75253
75609
  r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
75254
75610
  }
75255
- async function dF(e, t = "frame.png", n) {
75256
- uF(await sF(e, n), t);
75611
+ async function OF(e, t = "frame.png", n) {
75612
+ DF(await wF(e, n), t);
75257
75613
  }
75258
75614
  //#endregion
75259
75615
  //#region src/export/WebCodecsExporter.ts
75260
- var fF = {
75616
+ var kF = {
75261
75617
  avc: {
75262
75618
  encoderCodec: "avc1.42001f",
75263
75619
  mp4Codec: "avc",
@@ -75278,7 +75634,7 @@ var fF = {
75278
75634
  mp4Codec: "av1",
75279
75635
  webmCodec: "V_AV1"
75280
75636
  }
75281
- }, pF = class e {
75637
+ }, AF = class e {
75282
75638
  _scene;
75283
75639
  _options;
75284
75640
  constructor(e, t) {
@@ -75302,8 +75658,8 @@ var fF = {
75302
75658
  }
75303
75659
  async export() {
75304
75660
  if (!e.isSupported()) throw Error("WebCodecs VideoEncoder is not available in this environment. Use VideoExporter (MediaRecorder) instead to export video.");
75305
- let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = fF[t.codec], o = null;
75306
- t.alpha && (this._assertAlphaCodec(), o = rF(this._scene), await this._assertAlphaEncodeSupport(a));
75661
+ let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = kF[t.codec], o = null;
75662
+ t.alpha && (this._assertAlphaCodec(), o = bF(this._scene), await this._assertAlphaEncodeSupport(a));
75307
75663
  let s = await this._createMuxer(a), c = new window.VideoEncoder({
75308
75664
  output: (e, t) => s.addVideoChunk(e, t),
75309
75665
  error: (e) => i.error("WebCodecs encoder error:", e)
@@ -75327,7 +75683,7 @@ var fF = {
75327
75683
  c.encode(i, { keyFrame: e % t.keyFrameInterval === 0 }), i.close(), t.onProgress(r === 0 ? 1 : (e + 1) / r);
75328
75684
  }
75329
75685
  };
75330
- return o ? await iF(o, f) : f(), await c.flush(), c.close(), s.finalize();
75686
+ return o ? await xF(o, f) : f(), await c.flush(), c.close(), s.finalize();
75331
75687
  }
75332
75688
  _assertAlphaCodec() {
75333
75689
  let e = this._options;
@@ -75383,30 +75739,30 @@ var fF = {
75383
75739
  return { ...this._options };
75384
75740
  }
75385
75741
  };
75386
- function mF(e, t) {
75387
- return new pF(e, t);
75742
+ function jF(e, t) {
75743
+ return new AF(e, t);
75388
75744
  }
75389
75745
  //#endregion
75390
75746
  //#region src/export/chooseExporter.ts
75391
- function hF(e = pF.isSupported()) {
75747
+ function MF(e = AF.isSupported()) {
75392
75748
  return e ? "webcodecs" : "mediarecorder";
75393
75749
  }
75394
75750
  //#endregion
75395
75751
  //#region src/export/SvgExporter.ts
75396
- var gF = 3;
75397
- function _F(e, t) {
75752
+ var NF = 3;
75753
+ function PF(e, t) {
75398
75754
  if (!Number.isFinite(e)) return "0";
75399
75755
  let n = Number(e.toFixed(t));
75400
75756
  return String(Object.is(n, -0) ? 0 : n);
75401
75757
  }
75402
- function vF(e) {
75758
+ function FF(e) {
75403
75759
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
75404
75760
  }
75405
- function yF(e, t, n) {
75761
+ function IF(e, t, n) {
75406
75762
  let r = e.position.x, i = e.position.y, a = e.frameWidth || 1, o = e.frameHeight || 1;
75407
75763
  return (e) => [(e[0] - r) / a * t + t / 2, n / 2 - (e[1] - i) / o * n];
75408
75764
  }
75409
- function bF(e, t) {
75765
+ function LF(e, t) {
75410
75766
  if (!t || t.length <= 1) return [e];
75411
75767
  let n = [], r = 0;
75412
75768
  for (let i of t) {
@@ -75415,11 +75771,11 @@ function bF(e, t) {
75415
75771
  }
75416
75772
  return r === e.length ? n : [e];
75417
75773
  }
75418
- function xF(e, t, n) {
75774
+ function RF(e, t, n) {
75419
75775
  if (e.length < 4) return null;
75420
75776
  let r = (e) => {
75421
75777
  let [r, i] = t(e);
75422
- return `${_F(r, n)} ${_F(i, n)}`;
75778
+ return `${PF(r, n)} ${PF(i, n)}`;
75423
75779
  }, i = [`M ${r(e[0])}`], a = Math.floor((e.length - 1) / 3);
75424
75780
  for (let t = 0; t < a; t++) {
75425
75781
  let n = e[3 * t + 1], a = e[3 * t + 2], o = e[3 * t + 3];
@@ -75427,65 +75783,65 @@ function xF(e, t, n) {
75427
75783
  }
75428
75784
  return Xi(e) && i.push("Z"), i.join(" ");
75429
75785
  }
75430
- function SF(e) {
75786
+ function zF(e) {
75431
75787
  return e.style.fillColor ?? e.color;
75432
75788
  }
75433
- function CF(e, t, n, r) {
75789
+ function BF(e, t, n, r) {
75434
75790
  let i = e.getPoints();
75435
75791
  if (i.length < 4) return null;
75436
- let a = bF(i, e.getEffectiveSubpathLengths()), o = [];
75792
+ let a = LF(i, e.getEffectiveSubpathLengths()), o = [];
75437
75793
  for (let e of a) {
75438
- let n = xF(e, t, r);
75794
+ let n = RF(e, t, r);
75439
75795
  n && o.push(n);
75440
75796
  }
75441
75797
  if (o.length === 0) return null;
75442
75798
  let s = e.fillOpacity > 0, c = e.strokeWidth > 0;
75443
75799
  if (!s && !c) return null;
75444
75800
  let l = [`d="${o.join(" ")}"`];
75445
- return s ? (l.push(`fill="${vF(SF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${_F(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${vF(e.color)}"`), l.push(`stroke-width="${_F(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${_F(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
75801
+ return s ? (l.push(`fill="${FF(zF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${PF(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${FF(e.color)}"`), l.push(`stroke-width="${PF(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${PF(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
75446
75802
  }
75447
- function wF(e) {
75803
+ function VF(e) {
75448
75804
  return e instanceof I && e.getPoints().length >= 4;
75449
75805
  }
75450
- function TF(e, t) {
75451
- let n = t?.precision ?? gF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = yF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
75806
+ function HF(e, t) {
75807
+ let n = t?.precision ?? NF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = IF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
75452
75808
  for (let t of e.mobjects) {
75453
75809
  let e = [];
75454
75810
  for (let r of t.getFamily()) {
75455
- if (!wF(r)) continue;
75456
- let t = CF(r, o, s, n);
75811
+ if (!VF(r)) continue;
75812
+ let t = BF(r, o, s, n);
75457
75813
  t && e.push(t);
75458
75814
  }
75459
75815
  if (e.length === 0) continue;
75460
- let r = t.userId ? ` data-mobject-id="${vF(t.userId)}"` : "";
75816
+ let r = t.userId ? ` data-mobject-id="${FF(t.userId)}"` : "";
75461
75817
  c.push(` <g${r}>\n ${e.join("\n ")}\n </g>`);
75462
75818
  }
75463
- let l = _F(r, n), u = _F(i, n);
75464
- return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${vF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
75819
+ let l = PF(r, n), u = PF(i, n);
75820
+ return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${FF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
75465
75821
  }
75466
- function EF(e, t) {
75467
- let n = TF(e, t);
75822
+ function UF(e, t) {
75823
+ let n = HF(e, t);
75468
75824
  return new Blob([n], { type: "image/svg+xml" });
75469
75825
  }
75470
- function DF(e, t = "scene.svg", n) {
75826
+ function WF(e, t = "scene.svg", n) {
75471
75827
  if (typeof document > "u") throw Error("exportAndDownloadSVG requires a DOM (document is undefined)");
75472
- uF(EF(e, n), t);
75828
+ DF(UF(e, n), t);
75473
75829
  }
75474
75830
  //#endregion
75475
75831
  //#region src/export/SlideDeckExporter.ts
75476
- var OF = "PNG";
75477
- function kF(e, t) {
75832
+ var GF = "PNG";
75833
+ function KF(e, t) {
75478
75834
  return e.seek(t), {
75479
75835
  dataUrl: e.getCanvas().toDataURL("image/png"),
75480
75836
  width: e.getWidth(),
75481
75837
  height: e.getHeight()
75482
75838
  };
75483
75839
  }
75484
- async function AF(e) {
75840
+ async function qF(e) {
75485
75841
  let { jsPDF: t } = await import("./jspdf.es.min-CvMJL6nS.js");
75486
75842
  return new t(e);
75487
75843
  }
75488
- function jF(e, t, n, r) {
75844
+ function JF(e, t, n, r) {
75489
75845
  let i = e > 0 ? e : 1, a = t > 0 ? t : 1, o = Math.min(n / i, r / a), s = i * o, c = a * o;
75490
75846
  return {
75491
75847
  x: (n - s) / 2,
@@ -75494,33 +75850,33 @@ function jF(e, t, n, r) {
75494
75850
  h: c
75495
75851
  };
75496
75852
  }
75497
- function MF(e, t) {
75853
+ function YF(e, t) {
75498
75854
  return t === "first" ? e.startTime : e.endTime;
75499
75855
  }
75500
- async function NF(e, t) {
75856
+ async function XF(e, t) {
75501
75857
  let n = e.timeline.getSlides();
75502
75858
  if (n.length === 0) return null;
75503
- let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? OF, c = t?.background, l = t?.captureSlide ?? kF, u = t?.pdfFactory ?? AF, d = t?.onProgress ?? (() => {}), f = await u({
75859
+ let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? GF, c = t?.background, l = t?.captureSlide ?? KF, u = t?.pdfFactory ?? qF, d = t?.onProgress ?? (() => {}), f = await u({
75504
75860
  orientation: i,
75505
75861
  unit: o,
75506
75862
  format: a
75507
75863
  }), p = f.internal.pageSize.getWidth(), m = f.internal.pageSize.getHeight();
75508
75864
  for (let t = 0; t < n.length; t++) {
75509
75865
  t > 0 && f.addPage(a, i), c && (f.setFillColor(c[0], c[1], c[2]), f.rect(0, 0, p, m, "F"));
75510
- let o = await l(e.scene, MF(n[t], r)), u = jF(o.width, o.height, p, m);
75866
+ let o = await l(e.scene, YF(n[t], r)), u = JF(o.width, o.height, p, m);
75511
75867
  f.addImage(o.dataUrl, s, u.x, u.y, u.w, u.h), d((t + 1) / n.length);
75512
75868
  }
75513
75869
  return f.output("blob");
75514
75870
  }
75515
- async function PF(e, t = "slides.pdf", n) {
75871
+ async function ZF(e, t = "slides.pdf", n) {
75516
75872
  if (typeof document > "u") {
75517
75873
  i.warn("exportAndDownloadSlidesToPDF: no DOM available, skipping download.");
75518
75874
  return;
75519
75875
  }
75520
- let r = await NF(e, n);
75521
- r && uF(r, t);
75876
+ let r = await XF(e, n);
75877
+ r && DF(r, t);
75522
75878
  }
75523
- async function FF() {
75879
+ async function QF() {
75524
75880
  let e;
75525
75881
  try {
75526
75882
  e = await import(
@@ -75532,14 +75888,14 @@ async function FF() {
75532
75888
  }
75533
75889
  return new (e.default ?? e)();
75534
75890
  }
75535
- async function IF(e, t) {
75891
+ async function $F(e, t) {
75536
75892
  let n = e.timeline.getSlides();
75537
75893
  if (n.length === 0) return null;
75538
- let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? kF, c = t?.pptxFactory ?? FF, l = t?.onProgress ?? (() => {}), u = await c();
75894
+ let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? KF, c = t?.pptxFactory ?? QF, l = t?.onProgress ?? (() => {}), u = await c();
75539
75895
  for (let t = 0; t < n.length; t++) {
75540
75896
  let c = u.addSlide();
75541
75897
  o && (c.background = { color: o });
75542
- let d = await s(e.scene, MF(n[t], r));
75898
+ let d = await s(e.scene, YF(n[t], r));
75543
75899
  c.addImage({
75544
75900
  data: d.dataUrl,
75545
75901
  x: 0,
@@ -75557,7 +75913,7 @@ async function IF(e, t) {
75557
75913
  }
75558
75914
  //#endregion
75559
75915
  //#region src/player/ExportSettingsUI.ts
75560
- var LF = [
75916
+ var eI = [
75561
75917
  {
75562
75918
  id: "current",
75563
75919
  label: "Current",
@@ -75594,11 +75950,11 @@ var LF = [
75594
75950
  width: 3840,
75595
75951
  height: 2160
75596
75952
  }
75597
- ], RF = [
75953
+ ], tI = [
75598
75954
  24,
75599
75955
  30,
75600
75956
  60
75601
- ], zF = [
75957
+ ], nI = [
75602
75958
  {
75603
75959
  id: "low",
75604
75960
  label: "Low",
@@ -75614,12 +75970,12 @@ var LF = [
75614
75970
  label: "High",
75615
75971
  value: .9
75616
75972
  }
75617
- ], BF = 1e7;
75618
- function VF(e) {
75619
- return Math.round(Math.max(0, Math.min(1, e)) * BF);
75973
+ ], rI = 1e7;
75974
+ function iI(e) {
75975
+ return Math.round(Math.max(0, Math.min(1, e)) * rI);
75620
75976
  }
75621
- function HF(e, t, n) {
75622
- let r = LF.find((t) => t.id === e);
75977
+ function aI(e, t, n) {
75978
+ let r = eI.find((t) => t.id === e);
75623
75979
  return !r || r.width === null || r.height === null ? {
75624
75980
  width: t,
75625
75981
  height: n
@@ -75628,7 +75984,7 @@ function HF(e, t, n) {
75628
75984
  height: r.height
75629
75985
  };
75630
75986
  }
75631
- var UF = class {
75987
+ var oI = class {
75632
75988
  _element;
75633
75989
  _fpsSelect;
75634
75990
  _resolutionSelect;
@@ -75641,22 +75997,22 @@ var UF = class {
75641
75997
  display: "flex",
75642
75998
  flexDirection: "column",
75643
75999
  gap: "6px"
75644
- }), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", RF.map((e) => ({
76000
+ }), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", tI.map((e) => ({
75645
76001
  value: String(e),
75646
76002
  label: `${e} fps`
75647
- })), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", LF.map((e) => ({
76003
+ })), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", eI.map((e) => ({
75648
76004
  value: e.id,
75649
76005
  label: e.label
75650
- })), "current"), this._qualitySelect = this._buildSelect("Quality", zF.map((e) => ({
76006
+ })), "current"), this._qualitySelect = this._buildSelect("Quality", nI.map((e) => ({
75651
76007
  value: String(e.value),
75652
76008
  label: e.label
75653
- })), String(zF[zF.length - 1].value));
76009
+ })), String(nI[nI.length - 1].value));
75654
76010
  }
75655
76011
  get element() {
75656
76012
  return this._element;
75657
76013
  }
75658
76014
  getSettings() {
75659
- let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = HF(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
76015
+ let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = aI(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
75660
76016
  return {
75661
76017
  fps: e,
75662
76018
  width: t,
@@ -75665,7 +76021,7 @@ var UF = class {
75665
76021
  };
75666
76022
  }
75667
76023
  _nearestFps(e) {
75668
- return RF.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
76024
+ return tI.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
75669
76025
  }
75670
76026
  _buildSelect(e, t, n) {
75671
76027
  let r = document.createElement("label");
@@ -75696,7 +76052,7 @@ var UF = class {
75696
76052
  }
75697
76053
  return a.value = n, a.addEventListener("click", (e) => e.stopPropagation()), r.appendChild(i), r.appendChild(a), this._element.appendChild(r), a;
75698
76054
  }
75699
- }, WF = class {
76055
+ }, sI = class {
75700
76056
  _container;
75701
76057
  _bar;
75702
76058
  _playBtn;
@@ -75732,19 +76088,19 @@ var UF = class {
75732
76088
  this._container = e, this._callbacks = t, this._autoHideMs = n.autoHideMs ?? 2500, this._exportControls = n.exportControls ?? !1, getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", this._bar = this._createBar(), this._playBtn = this._createPlayBtn(), this._prevBtn = this._createNavBtn("prev"), this._nextBtn = this._createNavBtn("next");
75733
76089
  let r = this._createProgressBar();
75734
76090
  this._progressWrap = r.wrap, this._progressFill = r.fill, this._segmentMarkers = r.markers, this._timeDisplay = this._createTimeDisplay(), this._speedSelect = this._createSpeedSelect(), this._fullscreenBtn = this._createFullscreenBtn(), this._slidesBtn = this._createSlidesBtn(), this._exportBtn = this._createExportBtn();
75735
- let i = GF("div", {
76091
+ let i = cI("div", {
75736
76092
  display: "flex",
75737
76093
  alignItems: "center",
75738
76094
  gap: "4px"
75739
76095
  });
75740
76096
  i.appendChild(this._prevBtn), i.appendChild(this._playBtn), i.appendChild(this._nextBtn);
75741
- let a = GF("div", {
76097
+ let a = cI("div", {
75742
76098
  display: "flex",
75743
76099
  alignItems: "center",
75744
76100
  gap: "8px"
75745
76101
  });
75746
76102
  a.appendChild(this._timeDisplay), a.appendChild(this._speedSelect), a.appendChild(this._slidesBtn), a.appendChild(this._exportBtnWrapper), a.appendChild(this._fullscreenBtn), this._bar.appendChild(this._progressWrap);
75747
- let o = GF("div", {
76103
+ let o = cI("div", {
75748
76104
  display: "flex",
75749
76105
  alignItems: "center",
75750
76106
  justifyContent: "space-between",
@@ -75759,10 +76115,10 @@ var UF = class {
75759
76115
  let n = e / t * 100;
75760
76116
  this._progressFill.style.width = `${n}%`;
75761
76117
  }
75762
- this._timeDisplay.textContent = `${qF(e)} / ${qF(t)}`;
76118
+ this._timeDisplay.textContent = `${uI(e)} / ${uI(t)}`;
75763
76119
  }
75764
76120
  setPlaying(e, t = !1) {
75765
- this._isPlaying = e, t ? (this._playBtn.innerHTML = XF, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? YF : JF, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
76121
+ this._isPlaying = e, t ? (this._playBtn.innerHTML = pI, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? fI : dI, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
75766
76122
  }
75767
76123
  setSlidesMode(e) {
75768
76124
  this._slidesActive = e, this._slidesBtn.style.opacity = e ? "1" : "0.4", this._slidesBtn.style.background = e ? "rgba(74,158,255,0.25)" : "none", this._slidesBtn.title = `Slides mode ${e ? "on" : "off"} (S)`;
@@ -75772,7 +76128,7 @@ var UF = class {
75772
76128
  let t = e.getSlides(), n = e.getDuration();
75773
76129
  if (!(n <= 0)) for (let e of t) {
75774
76130
  if (e.index === 0) continue;
75775
- let t = GF("div", {
76131
+ let t = cI("div", {
75776
76132
  position: "absolute",
75777
76133
  left: `${e.startTime / n * 100}%`,
75778
76134
  top: "50%",
@@ -75787,7 +76143,7 @@ var UF = class {
75787
76143
  }
75788
76144
  }
75789
76145
  _createBar() {
75790
- let e = GF("div", {
76146
+ let e = cI("div", {
75791
76147
  position: "absolute",
75792
76148
  bottom: "0",
75793
76149
  left: "0",
@@ -75805,21 +76161,21 @@ var UF = class {
75805
76161
  }
75806
76162
  _createPlayBtn() {
75807
76163
  let e = document.createElement("button");
75808
- return e.innerHTML = JF, e.title = "Play (Space)", KF(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
76164
+ return e.innerHTML = dI, e.title = "Play (Space)", lI(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
75809
76165
  }
75810
76166
  _createNavBtn(e) {
75811
76167
  let t = document.createElement("button");
75812
- return t.innerHTML = e === "prev" ? ZF : QF, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", KF(t, "28px", "28px"), t.addEventListener("click", () => {
76168
+ return t.innerHTML = e === "prev" ? mI : hI, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", lI(t, "28px", "28px"), t.addEventListener("click", () => {
75813
76169
  e === "prev" ? this._callbacks.onPrev() : this._callbacks.onNext();
75814
76170
  }), t;
75815
76171
  }
75816
76172
  _createProgressBar() {
75817
- let e = GF("div", {
76173
+ let e = cI("div", {
75818
76174
  position: "relative",
75819
76175
  height: "16px",
75820
76176
  padding: "6px 12px",
75821
76177
  cursor: "pointer"
75822
- }), t = GF("div", {
76178
+ }), t = cI("div", {
75823
76179
  position: "absolute",
75824
76180
  left: "12px",
75825
76181
  right: "12px",
@@ -75829,14 +76185,14 @@ var UF = class {
75829
76185
  background: "rgba(255,255,255,0.2)",
75830
76186
  borderRadius: "2px",
75831
76187
  overflow: "visible"
75832
- }), n = GF("div", {
76188
+ }), n = cI("div", {
75833
76189
  width: "0%",
75834
76190
  height: "100%",
75835
76191
  background: "#4a9eff",
75836
76192
  borderRadius: "2px",
75837
76193
  transition: "none",
75838
76194
  position: "relative"
75839
- }), r = GF("div", {
76195
+ }), r = cI("div", {
75840
76196
  position: "absolute",
75841
76197
  right: "-5px",
75842
76198
  top: "50%",
@@ -75849,7 +76205,7 @@ var UF = class {
75849
76205
  transition: "transform 0.1s"
75850
76206
  });
75851
76207
  n.appendChild(r);
75852
- let i = GF("div", {
76208
+ let i = cI("div", {
75853
76209
  width: "0%",
75854
76210
  height: "100%",
75855
76211
  background: "rgba(255,255,255,0.1)",
@@ -75858,7 +76214,7 @@ var UF = class {
75858
76214
  top: "0",
75859
76215
  left: "0",
75860
76216
  pointerEvents: "none"
75861
- }), a = GF("div", {
76217
+ }), a = cI("div", {
75862
76218
  position: "absolute",
75863
76219
  top: "0",
75864
76220
  left: "0",
@@ -75883,7 +76239,7 @@ var UF = class {
75883
76239
  };
75884
76240
  }
75885
76241
  _createTimeDisplay() {
75886
- let e = GF("span", {
76242
+ let e = cI("span", {
75887
76243
  fontFamily: "\"SF Mono\", Monaco, Consolas, monospace",
75888
76244
  fontSize: "12px",
75889
76245
  opacity: "0.8",
@@ -75925,16 +76281,16 @@ var UF = class {
75925
76281
  }), e;
75926
76282
  }
75927
76283
  _createExportBtn() {
75928
- let e = GF("div", {
76284
+ let e = cI("div", {
75929
76285
  position: "relative",
75930
76286
  display: "inline-block"
75931
76287
  }), t = document.createElement("button");
75932
- return t.innerHTML = $F, t.title = "Export animation", KF(t, "28px", "28px"), t.addEventListener("click", (e) => {
76288
+ return t.innerHTML = gI, t.title = "Export animation", lI(t, "28px", "28px"), t.addEventListener("click", (e) => {
75933
76289
  e.stopPropagation(), this._exportMenu ? this._closeExportMenu() : this._showExportMenu();
75934
76290
  }), e.appendChild(t), this._exportBtnWrapper = e, t;
75935
76291
  }
75936
76292
  _showExportMenu() {
75937
- let e = this._exportBtn.getBoundingClientRect(), t = GF("div", {
76293
+ let e = this._exportBtn.getBoundingClientRect(), t = cI("div", {
75938
76294
  position: "fixed",
75939
76295
  top: "0",
75940
76296
  left: "0",
@@ -75945,7 +76301,7 @@ var UF = class {
75945
76301
  t.setAttribute("data-player-bar", ""), t.addEventListener("mousedown", (e) => {
75946
76302
  e.stopPropagation(), e.preventDefault(), this._closeExportMenu();
75947
76303
  });
75948
- let n = GF("div", {
76304
+ let n = cI("div", {
75949
76305
  position: "fixed",
75950
76306
  bottom: `${window.innerHeight - e.top + 6}px`,
75951
76307
  left: `${e.left - 60}px`,
@@ -75966,7 +76322,7 @@ var UF = class {
75966
76322
  height: 1080,
75967
76323
  fps: 60
75968
76324
  };
75969
- this._exportPanel = new UF(e), n.appendChild(this._exportPanel.element);
76325
+ this._exportPanel = new oI(e), n.appendChild(this._exportPanel.element);
75970
76326
  }
75971
76327
  for (let e of [
75972
76328
  {
@@ -75985,7 +76341,7 @@ var UF = class {
75985
76341
  desc: "Video file"
75986
76342
  }
75987
76343
  ]) {
75988
- let t = GF("div", {
76344
+ let t = cI("div", {
75989
76345
  padding: "8px 14px",
75990
76346
  cursor: "pointer",
75991
76347
  fontSize: "13px",
@@ -76010,7 +76366,7 @@ var UF = class {
76010
76366
  this._exportMenu && (this._exportMenuBackdrop?.remove(), this._exportMenuBackdrop = null, this._exportMenu.remove(), this._exportMenu = null, this._exportPanel = null);
76011
76367
  }
76012
76368
  setExportProgress(e) {
76013
- if (e === null) this._exportBtn.innerHTML = $F, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
76369
+ if (e === null) this._exportBtn.innerHTML = gI, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
76014
76370
  else {
76015
76371
  let t = Math.round(e * 100);
76016
76372
  this._exportBtn.innerHTML = `<span style="font-size:10px;font-weight:600">${t}%</span>`, this._exportBtn.disabled = !0, this._exportBtn.title = `Exporting... ${t}%`;
@@ -76018,7 +76374,7 @@ var UF = class {
76018
76374
  }
76019
76375
  _createSlidesBtn() {
76020
76376
  let e = document.createElement("button");
76021
- return e.innerHTML = eI, e.title = "Slides mode off (S)", KF(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
76377
+ return e.innerHTML = _I, e.title = "Slides mode off (S)", lI(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
76022
76378
  this._slidesActive = !this._slidesActive, this.setSlidesMode(this._slidesActive), this._callbacks.onSlidesToggle(this._slidesActive);
76023
76379
  }), e.addEventListener("mouseenter", () => {
76024
76380
  e.style.background = this._slidesActive ? "rgba(74,158,255,0.35)" : "rgba(255,255,255,0.15)";
@@ -76028,7 +76384,7 @@ var UF = class {
76028
76384
  }
76029
76385
  _createFullscreenBtn() {
76030
76386
  let e = document.createElement("button");
76031
- return e.innerHTML = tI, e.title = "Fullscreen (F)", KF(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
76387
+ return e.innerHTML = vI, e.title = "Fullscreen (F)", lI(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
76032
76388
  }
76033
76389
  _showControls() {
76034
76390
  this._isVisible ||= (this._bar.style.opacity = "1", this._bar.style.transform = "translateY(0)", !0), this._scheduleHide();
@@ -76083,11 +76439,11 @@ var UF = class {
76083
76439
  this._hideTimeout && clearTimeout(this._hideTimeout), this._container.removeEventListener("mousemove", this._onMouseMove), this._container.removeEventListener("mouseleave", this._onMouseLeave), this._progressWrap.removeEventListener("mousedown", this._onProgressDown), document.removeEventListener("mousemove", this._onProgressMove), document.removeEventListener("mouseup", this._onProgressUp), this._bar.remove();
76084
76440
  }
76085
76441
  };
76086
- function GF(e, t) {
76442
+ function cI(e, t) {
76087
76443
  let n = document.createElement(e);
76088
76444
  return Object.assign(n.style, t), n;
76089
76445
  }
76090
- function KF(e, t, n) {
76446
+ function lI(e, t, n) {
76091
76447
  Object.assign(e.style, {
76092
76448
  width: t,
76093
76449
  height: n,
@@ -76108,11 +76464,11 @@ function KF(e, t, n) {
76108
76464
  e.style.background = "none";
76109
76465
  });
76110
76466
  }
76111
- function qF(e) {
76467
+ function uI(e) {
76112
76468
  let t = Math.floor(e / 60), n = Math.floor(e % 60);
76113
76469
  return `${t}:${String(n).padStart(2, "0")}`;
76114
76470
  }
76115
- var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", YF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", XF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", ZF = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", QF = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", $F = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", eI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", tI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", nI = class {
76471
+ var dI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", fI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", pI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", mI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", hI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", gI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", _I = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", vI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", yI = class {
76116
76472
  _container;
76117
76473
  _callbacks;
76118
76474
  _onKeyDown;
@@ -76142,7 +76498,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76142
76498
  dispose() {
76143
76499
  this._container.removeEventListener("keydown", this._onKeyDown);
76144
76500
  }
76145
- }, rI = class {
76501
+ }, bI = class {
76146
76502
  _realScene;
76147
76503
  _masterTimeline;
76148
76504
  constructor(e, t) {
@@ -76179,7 +76535,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76179
76535
  for (let n of e) t.push(n), n instanceof og && t.push(...this._collectAll(n.animations));
76180
76536
  return t;
76181
76537
  }
76182
- }, iI = [
76538
+ }, xI = [
76183
76539
  "mousedown",
76184
76540
  "mousemove",
76185
76541
  "mouseup",
@@ -76187,7 +76543,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76187
76543
  "touchstart",
76188
76544
  "touchmove",
76189
76545
  "touchend"
76190
- ], aI = class {
76546
+ ], SI = class {
76191
76547
  _target;
76192
76548
  _scene;
76193
76549
  _isIdle;
@@ -76206,13 +76562,13 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76206
76562
  }
76207
76563
  attach() {
76208
76564
  if (!this._attached) {
76209
- for (let e of iI) this._target.addEventListener(e, this._onEvent);
76565
+ for (let e of xI) this._target.addEventListener(e, this._onEvent);
76210
76566
  this._attached = !0;
76211
76567
  }
76212
76568
  }
76213
76569
  dispose() {
76214
76570
  if (this._attached) {
76215
- for (let e of iI) this._target.removeEventListener(e, this._onEvent);
76571
+ for (let e of xI) this._target.removeEventListener(e, this._onEvent);
76216
76572
  this._attached = !1, this._renderScheduled = !1;
76217
76573
  }
76218
76574
  }
@@ -76224,7 +76580,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76224
76580
  this._renderScheduled = !1, !(!this._attached || !this._isIdle()) && (this._scene.render(), this._renderCount++);
76225
76581
  }));
76226
76582
  }
76227
- }, oI = class {
76583
+ }, CI = class {
76228
76584
  _scene;
76229
76585
  _masterTimeline;
76230
76586
  _ui;
@@ -76247,7 +76603,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76247
76603
  _origHeight = 0;
76248
76604
  _onFullscreenChange;
76249
76605
  constructor(e, t = {}) {
76250
- this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new WF(e, {
76606
+ this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new sI(e, {
76251
76607
  onPlayPause: () => this.togglePlayPause(),
76252
76608
  onSeek: (e) => this.seek(e),
76253
76609
  onPrev: () => this.prevSegment(),
@@ -76264,7 +76620,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76264
76620
  }, {
76265
76621
  autoHideMs: t.autoHideMs,
76266
76622
  exportControls: this._exportControls
76267
- }), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new nI(e, {
76623
+ }), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new yI(e, {
76268
76624
  onPlayPause: () => this.togglePlayPause(),
76269
76625
  onPrev: () => this.prevSegment(),
76270
76626
  onNext: () => this.nextSegment(),
@@ -76278,10 +76634,10 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76278
76634
  }, document.addEventListener("fullscreenchange", this._onFullscreenChange), this._interactiveSlides && this._enableSlideInteraction();
76279
76635
  }
76280
76636
  _enableSlideInteraction() {
76281
- this._slideInteraction || (this._slideInteraction = new aI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
76637
+ this._slideInteraction || (this._slideInteraction = new SI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
76282
76638
  }
76283
76639
  async sequence(e) {
76284
- this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new rI(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
76640
+ this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new bI(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
76285
76641
  }
76286
76642
  get scene() {
76287
76643
  return this._scene;
@@ -76392,7 +76748,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76392
76748
  let a = `animation.${e}`, o = this._masterTimeline.getDuration(), s = (e) => this._ui.setExportProgress(e);
76393
76749
  this._ui.setExportProgress(0);
76394
76750
  try {
76395
- (e === "webm" || e === "mp4") && hF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
76751
+ (e === "webm" || e === "mp4") && MF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
76396
76752
  } catch (e) {
76397
76753
  i.error("Export failed:", e), this._ui.showError(`Export failed: ${e instanceof Error ? e.message : "Unknown error"}`);
76398
76754
  } finally {
@@ -76400,12 +76756,12 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76400
76756
  }
76401
76757
  }
76402
76758
  async _exportWithWebCodecs(e, t, n, r, i) {
76403
- uF(await new pF(this._scene, {
76759
+ DF(await new AF(this._scene, {
76404
76760
  format: e,
76405
76761
  fps: t?.fps ?? this._exportFps,
76406
76762
  width: t?.width ?? this._scene.getWidth(),
76407
76763
  height: t?.height ?? this._scene.getHeight(),
76408
- bitrate: VF(t?.quality ?? .9),
76764
+ bitrate: iI(t?.quality ?? .9),
76409
76765
  duration: n,
76410
76766
  onProgress: r
76411
76767
  }).export(), i);
@@ -76466,36 +76822,36 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76466
76822
  _stopLoop() {
76467
76823
  this._animFrameId !== null && (cancelAnimationFrame(this._animFrameId), this._animFrameId = null);
76468
76824
  }
76469
- }, sI = {
76825
+ }, wI = {
76470
76826
  EXPERIMENTAL_3D_LIGHTING: !1,
76471
76827
  WEBGPU_RENDERER: !1,
76472
76828
  ADVANCED_TEXT_LAYOUT: !1
76473
- }, cI = { ...sI };
76474
- function lI(e) {
76475
- return cI[e] ?? !1;
76829
+ }, TI = { ...wI };
76830
+ function EI(e) {
76831
+ return TI[e] ?? !1;
76476
76832
  }
76477
- function uI(e) {
76478
- cI = {
76479
- ...cI,
76833
+ function DI(e) {
76834
+ TI = {
76835
+ ...TI,
76480
76836
  ...e
76481
76837
  };
76482
76838
  }
76483
- function dI() {
76484
- cI = { ...sI };
76839
+ function OI() {
76840
+ TI = { ...wI };
76485
76841
  }
76486
- function fI() {
76487
- return { ...cI };
76842
+ function kI() {
76843
+ return { ...TI };
76488
76844
  }
76489
76845
  //#endregion
76490
76846
  //#region src/utils/ManimColor.ts
76491
- var pI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
76492
- function mI(e) {
76847
+ var AI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
76848
+ function jI(e) {
76493
76849
  return Math.min(255, Math.max(0, Math.trunc(e * 255)));
76494
76850
  }
76495
- function hI(e) {
76496
- return mI(e).toString(16).toUpperCase().padStart(2, "0");
76851
+ function MI(e) {
76852
+ return jI(e).toString(16).toUpperCase().padStart(2, "0");
76497
76853
  }
76498
- function gI(e, t) {
76854
+ function NI(e, t) {
76499
76855
  let n = e;
76500
76856
  (n.length === 3 || n.length === 4) && (n = n.split("").map((e) => e + e).join(""));
76501
76857
  let r = t;
@@ -76508,14 +76864,14 @@ function gI(e, t) {
76508
76864
  r
76509
76865
  ];
76510
76866
  }
76511
- function _I(e, t) {
76512
- let n = pI.exec(e);
76513
- if (n !== null) return gI(n[1], t);
76867
+ function PI(e, t) {
76868
+ let n = AI.exec(e);
76869
+ if (n !== null) return NI(n[1], t);
76514
76870
  let r = se[e.toUpperCase()];
76515
- if (typeof r == "string") return _I(r, t);
76871
+ if (typeof r == "string") return PI(r, t);
76516
76872
  throw Error(`Failed to parse a color from "${e}"`);
76517
76873
  }
76518
- function vI(e, t) {
76874
+ function FI(e, t) {
76519
76875
  return [
76520
76876
  (e >> 16 & 255) / 255,
76521
76877
  (e >> 8 & 255) / 255,
@@ -76523,7 +76879,7 @@ function vI(e, t) {
76523
76879
  t
76524
76880
  ];
76525
76881
  }
76526
- var yI = class e {
76882
+ var II = class e {
76527
76883
  value;
76528
76884
  constructor(t, n = 1) {
76529
76885
  if (t === null) this.value = [
@@ -76540,8 +76896,8 @@ var yI = class e {
76540
76896
  e[2],
76541
76897
  e[3]
76542
76898
  ];
76543
- } else if (typeof t == "number") this.value = vI(t, n);
76544
- else if (typeof t == "string") this.value = _I(t, n);
76899
+ } else if (typeof t == "number") this.value = FI(t, n);
76900
+ else if (typeof t == "string") this.value = PI(t, n);
76545
76901
  else if (t.length === 3) this.value = [
76546
76902
  t[0],
76547
76903
  t[1],
@@ -76599,18 +76955,18 @@ var yI = class e {
76599
76955
  toIntRgb() {
76600
76956
  let e = this.internalRgba();
76601
76957
  return [
76602
- mI(e[0]),
76603
- mI(e[1]),
76604
- mI(e[2])
76958
+ jI(e[0]),
76959
+ jI(e[1]),
76960
+ jI(e[2])
76605
76961
  ];
76606
76962
  }
76607
76963
  toIntRgba() {
76608
76964
  let e = this.internalRgba();
76609
76965
  return [
76610
- mI(e[0]),
76611
- mI(e[1]),
76612
- mI(e[2]),
76613
- mI(e[3])
76966
+ jI(e[0]),
76967
+ jI(e[1]),
76968
+ jI(e[2]),
76969
+ jI(e[3])
76614
76970
  ];
76615
76971
  }
76616
76972
  toHex(e = !1) {
@@ -76619,7 +76975,7 @@ var yI = class e {
76619
76975
  t[1],
76620
76976
  t[2]
76621
76977
  ]);
76622
- return e ? n + hI(t[3]) : n;
76978
+ return e ? n + MI(t[3]) : n;
76623
76979
  }
76624
76980
  toHsv() {
76625
76981
  return Yb(this.toRgb());
@@ -76679,7 +77035,7 @@ var yI = class e {
76679
77035
  static parse(t, n = 1) {
76680
77036
  return Array.isArray(t) && t.some((e) => typeof e != "number") ? t.map((t) => new e(t, n)) : new e(t, n);
76681
77037
  }
76682
- }, bI = yI, xI = class e extends yI {
77038
+ }, LI = II, RI = class e extends II {
76683
77039
  hsva;
76684
77040
  constructor(e, t = 1) {
76685
77041
  if (super(null), e.length === 3) this.hsva = [
@@ -76748,7 +77104,7 @@ var yI = class e {
76748
77104
  return this.hsva[2];
76749
77105
  }
76750
77106
  };
76751
- function SI(e) {
77107
+ function zI(e) {
76752
77108
  let t = e >>> 0;
76753
77109
  return () => {
76754
77110
  t = t + 1831565813 | 0;
@@ -76756,18 +77112,18 @@ function SI(e) {
76756
77112
  return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
76757
77113
  };
76758
77114
  }
76759
- var CI = Array.from(new Set(Object.values(se))).map((e) => new yI(e)), wI = class {
77115
+ var BI = Array.from(new Set(Object.values(se))).map((e) => new II(e)), VI = class {
76760
77116
  rng;
76761
77117
  colors;
76762
77118
  constructor(e, t) {
76763
- this.rng = e === void 0 ? Math.random : SI(e), this.colors = t === void 0 ? CI : t.map((e) => e instanceof yI ? e : new yI(e));
77119
+ this.rng = e === void 0 ? Math.random : zI(e), this.colors = t === void 0 ? BI : t.map((e) => e instanceof II ? e : new II(e));
76764
77120
  }
76765
77121
  next() {
76766
77122
  let e = Math.floor(this.rng() * this.colors.length);
76767
77123
  return this.colors[e];
76768
77124
  }
76769
77125
  };
76770
- function TI(e, t, n, r) {
77126
+ function HI(e, t, n, r) {
76771
77127
  let i = .5 * Fn(n, Rn([
76772
77128
  r[0] - t[0],
76773
77129
  r[1] - t[1],
@@ -76781,7 +77137,7 @@ function TI(e, t, n, r) {
76781
77137
  }
76782
77138
  //#endregion
76783
77139
  //#region src/utils/iterables.ts
76784
- function EI(e, t) {
77140
+ function UI(e, t) {
76785
77141
  let n = e.length;
76786
77142
  if (n === 0) return [];
76787
77143
  let r = [];
@@ -76792,10 +77148,10 @@ function EI(e, t) {
76792
77148
  }
76793
77149
  return r;
76794
77150
  }
76795
- function DI(e) {
76796
- return EI(e, 2);
77151
+ function WI(e) {
77152
+ return UI(e, 2);
76797
77153
  }
76798
- function OI(e) {
77154
+ function GI(e) {
76799
77155
  let t = [], n = /* @__PURE__ */ new Set();
76800
77156
  for (let r = e.length - 1; r >= 0; r--) {
76801
77157
  let i = e[r];
@@ -76803,7 +77159,7 @@ function OI(e) {
76803
77159
  }
76804
77160
  return t.reverse(), t;
76805
77161
  }
76806
- function kI(e, t, n) {
77162
+ function KI(e, t, n) {
76807
77163
  if (n === void 0) {
76808
77164
  let n = new Set(t);
76809
77165
  return e.filter((e) => !n.has(e));
@@ -76811,29 +77167,29 @@ function kI(e, t, n) {
76811
77167
  let r = new Set(t.map((e) => n(e)));
76812
77168
  return e.filter((e) => !r.has(n(e)));
76813
77169
  }
76814
- function AI(e, t, n) {
76815
- return kI(e, t, n).concat(t);
77170
+ function qI(e, t, n) {
77171
+ return KI(e, t, n).concat(t);
76816
77172
  }
76817
- function jI(e) {
77173
+ function JI(e) {
76818
77174
  return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
76819
77175
  }
76820
- function MI(e, t) {
77176
+ function YI(e, t) {
76821
77177
  let n = e.length, r = t.length, i = Math.max(n, r), a = [], o = [];
76822
77178
  for (let s = 0; s < i; s++) a.push(e[Math.floor(s * n / i)]), o.push(t[Math.floor(s * r / i)]);
76823
77179
  return [a, o];
76824
77180
  }
76825
- function NI(e, t) {
77181
+ function XI(e, t) {
76826
77182
  let n = e.length;
76827
77183
  if (n > t) throw Error("Trying to stretch array to a length shorter than its own");
76828
77184
  let r = [];
76829
77185
  for (let i = 0; i < t; i++) r.push(e[Math.floor(i / t * n)]);
76830
77186
  return r;
76831
77187
  }
76832
- function* PI(...e) {
77188
+ function* ZI(...e) {
76833
77189
  let t = /* @__PURE__ */ new Set();
76834
77190
  for (let n of e) for (let e of n) t.has(e) || (t.add(e), yield e);
76835
77191
  }
76836
- function FI(e) {
77192
+ function QI(e) {
76837
77193
  let t = [[]];
76838
77194
  for (let n of e) {
76839
77195
  let e = t.length;
@@ -76841,82 +77197,82 @@ function FI(e) {
76841
77197
  }
76842
77198
  return t;
76843
77199
  }
76844
- function II(e, t) {
77200
+ function $I(e, t) {
76845
77201
  for (let n of e) if (!(n instanceof t)) return !1;
76846
77202
  return !0;
76847
77203
  }
76848
- function LI(...e) {
77204
+ function eL(...e) {
76849
77205
  let t = [];
76850
77206
  for (let n of e) for (let e of n) t.push(e);
76851
77207
  return t;
76852
77208
  }
76853
- function RI(e) {
77209
+ function tL(e) {
76854
77210
  return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
76855
77211
  }
76856
- function zI(e) {
77212
+ function nL(e) {
76857
77213
  let t = [];
76858
77214
  for (let n of e) n && t.push(n);
76859
77215
  return t;
76860
77216
  }
76861
- function BI(e, t) {
77217
+ function rL(e, t) {
76862
77218
  let n = Math.max(e.length, t.length), r = [], i = [];
76863
77219
  for (let a = 0; a < n; a++) r.push(e[a % e.length]), i.push(t[a % t.length]);
76864
77220
  return [r, i];
76865
77221
  }
76866
- function VI(e) {
76867
- return UI(HI(e));
77222
+ function iL(e) {
77223
+ return oL(aL(e));
76868
77224
  }
76869
- function HI(e) {
77225
+ function aL(e) {
76870
77226
  if (e === null) return "null";
76871
77227
  if (e === void 0) return "undefined";
76872
77228
  let t = typeof e;
76873
77229
  if (t === "string") return `s:${e}`;
76874
77230
  if (t === "number" || t === "boolean" || t === "bigint") return `${t[0]}:${String(e)}`;
76875
- if (e instanceof Set) return `set:[${[...e].map(HI).sort().join(",")}]`;
76876
- if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${HI(e)}=${HI(t)}`).sort().join(",")}}`;
76877
- if (Array.isArray(e)) return `arr:[${e.map(HI).join(",")}]`;
77231
+ if (e instanceof Set) return `set:[${[...e].map(aL).sort().join(",")}]`;
77232
+ if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${aL(e)}=${aL(t)}`).sort().join(",")}}`;
77233
+ if (Array.isArray(e)) return `arr:[${e.map(aL).join(",")}]`;
76878
77234
  if (t === "object") {
76879
77235
  let t = e;
76880
- return `obj:{${Object.keys(t).sort().map((e) => `${e}=${HI(t[e])}`).join(",")}}`;
77236
+ return `obj:{${Object.keys(t).sort().map((e) => `${e}=${aL(t[e])}`).join(",")}}`;
76881
77237
  }
76882
77238
  return `${t}:${String(e)}`;
76883
77239
  }
76884
- function UI(e) {
77240
+ function oL(e) {
76885
77241
  let t = 2166136261;
76886
77242
  for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
76887
77243
  return t >>> 0;
76888
77244
  }
76889
77245
  //#endregion
76890
77246
  //#region src/utils/unit.ts
76891
- function WI(e) {
77247
+ function sL(e) {
76892
77248
  return e * Zt / $t;
76893
77249
  }
76894
- function GI(e) {
77250
+ function cL(e) {
76895
77251
  return e * Math.PI / 180;
76896
77252
  }
76897
- function KI(e) {
77253
+ function lL(e) {
76898
77254
  return e;
76899
77255
  }
76900
- function qI(e, t) {
77256
+ function uL(e, t) {
76901
77257
  return e[0] === t[0] && e[1] === t[1] && e[2] === t[2];
76902
77258
  }
76903
- function JI(e, t) {
77259
+ function dL(e, t) {
76904
77260
  let n;
76905
- if (qI(e, _n)) n = Zt;
76906
- else if (qI(e, mn)) n = 8;
76907
- else if (qI(e, vn)) throw Error("length of Z axis is undefined");
77261
+ if (uL(e, _n)) n = Zt;
77262
+ else if (uL(e, mn)) n = 8;
77263
+ else if (uL(e, vn)) throw Error("length of Z axis is undefined");
76908
77264
  else throw Error("Percent axis must be the X axis (RIGHT) or Y axis (UP)");
76909
77265
  return t / 100 * n;
76910
77266
  }
76911
77267
  //#endregion
76912
77268
  //#region src/utils/debug.ts
76913
- function YI(e, t = !1) {
77269
+ function fL(e, t = !1) {
76914
77270
  let n = [];
76915
77271
  for (let t of e) n.push(...t.getFamily());
76916
77272
  return t ? n.filter((e) => e instanceof I && e.hasOwnPoints()) : n;
76917
77273
  }
76918
- function XI(e, t) {
76919
- let n = [], r = new Set(YI(t)), i = (e, t) => {
77274
+ function pL(e, t) {
77275
+ let n = [], r = new Set(fL(t)), i = (e, t) => {
76920
77276
  for (let r of e) {
76921
77277
  if (t.has(r)) continue;
76922
77278
  let e = new Set(r.getFamily().filter((e) => t.has(e)));
@@ -76925,14 +77281,14 @@ function XI(e, t) {
76925
77281
  };
76926
77282
  return i(e, r), n;
76927
77283
  }
76928
- function ZI(e, t = {}) {
77284
+ function mL(e, t = {}) {
76929
77285
  let { labelHeight: n = .15 } = t, r = new L();
76930
77286
  return e.children.forEach((e, t) => {
76931
77287
  let i = new HS({ value: t });
76932
77288
  i.setHeight(n), i.moveTo(e), r.add(i);
76933
77289
  }), r;
76934
77290
  }
76935
- function QI(e, t = 0) {
77291
+ function hL(e, t = 0) {
76936
77292
  let n = [], r = (e, t) => {
76937
77293
  n.push(" ".repeat(t) + `${e.constructor.name} ${e.id}`);
76938
77294
  for (let n of e.children) r(n, t + 1);
@@ -76943,8 +77299,8 @@ function QI(e, t = 0) {
76943
77299
  }
76944
77300
  //#endregion
76945
77301
  //#region src/utils/spaceOps.ts
76946
- var $I = 2 * Math.PI;
76947
- function eL(e) {
77302
+ var gL = 2 * Math.PI;
77303
+ function _L(e) {
76948
77304
  let t = e.length, n = e[0].length, r = [];
76949
77305
  for (let i = 0; i < n; i++) {
76950
77306
  let n = [];
@@ -76953,20 +77309,20 @@ function eL(e) {
76953
77309
  }
76954
77310
  return r;
76955
77311
  }
76956
- function tL(e, t) {
77312
+ function vL(e, t) {
76957
77313
  return e.map((e) => e.reduce((e, n, r) => e + n * (t[r] ?? 0), 0));
76958
77314
  }
76959
- function nL(e) {
77315
+ function yL(e) {
76960
77316
  return e.reduce((e, t) => e + t * t, 0);
76961
77317
  }
76962
- function rL(e, t) {
77318
+ function bL(e, t) {
76963
77319
  return e[0] * t[1] - e[1] * t[0];
76964
77320
  }
76965
- function iL(e, t) {
76966
- let n = Math.sqrt(nL(e));
77321
+ function xL(e, t) {
77322
+ let n = Math.sqrt(yL(e));
76967
77323
  return n > 0 ? e.map((e) => e / n) : t ?? e.map(() => 0);
76968
77324
  }
76969
- function aL(...e) {
77325
+ function SL(...e) {
76970
77326
  if (e.length === 0) return [
76971
77327
  1,
76972
77328
  0,
@@ -76985,8 +77341,8 @@ function aL(...e) {
76985
77341
  }
76986
77342
  return t;
76987
77343
  }
76988
- function oL(e, t, n = !1) {
76989
- let r = n ? t : iL(t), i = Math.sin(e / 2);
77344
+ function CL(e, t, n = !1) {
77345
+ let r = n ? t : xL(t), i = Math.sin(e / 2);
76990
77346
  return [
76991
77347
  Math.cos(e / 2),
76992
77348
  i * (r[0] ?? 0),
@@ -76994,19 +77350,19 @@ function oL(e, t, n = !1) {
76994
77350
  i * (r[2] ?? 0)
76995
77351
  ];
76996
77352
  }
76997
- function sL(e) {
76998
- let t = iL(e.slice(1), [
77353
+ function wL(e) {
77354
+ let t = xL(e.slice(1), [
76999
77355
  1,
77000
77356
  0,
77001
77357
  0
77002
77358
  ]), n = 2 * Math.acos(e[0]);
77003
- return n > $I / 2 && (n = $I - n, t = [
77359
+ return n > gL / 2 && (n = gL - n, t = [
77004
77360
  -t[0],
77005
77361
  -t[1],
77006
77362
  -t[2]
77007
77363
  ]), [n, t];
77008
77364
  }
77009
- function cL(e) {
77365
+ function TL(e) {
77010
77366
  return [
77011
77367
  e[0],
77012
77368
  -e[1],
@@ -77014,7 +77370,7 @@ function cL(e) {
77014
77370
  -e[3]
77015
77371
  ];
77016
77372
  }
77017
- function lL(e, t, n = !1) {
77373
+ function EL(e, t, n = !1) {
77018
77374
  let [r, i, a] = Rn(t), o = Math.cos(e), s = Math.sin(e), c = 1 - o, l = [
77019
77375
  [
77020
77376
  o + r * r * c,
@@ -77044,7 +77400,7 @@ function lL(e, t, n = !1) {
77044
77400
  ]
77045
77401
  ] : l;
77046
77402
  }
77047
- function uL(e) {
77403
+ function DL(e) {
77048
77404
  let t = Math.cos(e), n = Math.sin(e);
77049
77405
  return [
77050
77406
  [
@@ -77064,23 +77420,23 @@ function uL(e) {
77064
77420
  ]
77065
77421
  ];
77066
77422
  }
77067
- function dL(e, t) {
77068
- return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? eL(uL(e * Math.sign(t[2] ?? 0))) : eL(lL(e, t));
77423
+ function OL(e, t) {
77424
+ return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? _L(DL(e * Math.sign(t[2] ?? 0))) : _L(EL(e, t));
77069
77425
  }
77070
- function fL(e, t, n = vn) {
77426
+ function kL(e, t, n = vn) {
77071
77427
  if (e.length > 3) throw Error("Vector must have the correct dimensions.");
77072
77428
  let r = e.length === 2 ? [
77073
77429
  e[0],
77074
77430
  e[1],
77075
77431
  0
77076
- ] : e, i = tL(lL(t, n), r);
77432
+ ] : e, i = vL(EL(t, n), r);
77077
77433
  return [
77078
77434
  i[0],
77079
77435
  i[1],
77080
77436
  i[2]
77081
77437
  ];
77082
77438
  }
77083
- function pL(e) {
77439
+ function AL(e) {
77084
77440
  let t = Rn(e), n = Rn(In(t, _n)), r = In(n, t);
77085
77441
  if (Ln(n) === 0) {
77086
77442
  r = Rn(In(mn, t));
@@ -77091,27 +77447,27 @@ function pL(e) {
77091
77447
  -e[2]
77092
77448
  ];
77093
77449
  }
77094
- return eL([
77450
+ return _L([
77095
77451
  r,
77096
77452
  n,
77097
77453
  t
77098
77454
  ]);
77099
77455
  }
77100
- function mL(e) {
77456
+ function jL(e) {
77101
77457
  return Math.atan2(e[1] ?? 0, e[0] ?? 0);
77102
77458
  }
77103
- function hL(e, t) {
77104
- let n = iL(e), r = iL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
77105
- return 2 * Math.atan2(Math.sqrt(nL(i)), Math.sqrt(nL(a)));
77459
+ function ML(e, t) {
77460
+ let n = xL(e), r = xL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
77461
+ return 2 * Math.atan2(Math.sqrt(yL(i)), Math.sqrt(yL(a)));
77106
77462
  }
77107
- function gL(e, t, n = 1e-6) {
77463
+ function NL(e, t, n = 1e-6) {
77108
77464
  let r = Math.max(...e.map(Math.abs)), i = Math.max(...t.map(Math.abs)), a;
77109
77465
  if (r === 0) {
77110
77466
  if (i === 0) return hn;
77111
77467
  a = t.map((e) => e / i);
77112
77468
  } else if (i === 0) a = e.map((e) => e / r);
77113
77469
  else {
77114
- let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(nL(s));
77470
+ let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(yL(s));
77115
77471
  if (c > n) return [
77116
77472
  s[0] / c,
77117
77473
  s[1] / c,
@@ -77124,43 +77480,43 @@ function gL(e, t, n = 1e-6) {
77124
77480
  -a[0] * a[2],
77125
77481
  -a[1] * a[2],
77126
77482
  a[0] * a[0] + a[1] * a[1]
77127
- ], s = Math.sqrt(nL(o));
77483
+ ], s = Math.sqrt(yL(o));
77128
77484
  return [
77129
77485
  o[0] / s,
77130
77486
  o[1] / s,
77131
77487
  o[2] / s
77132
77488
  ];
77133
77489
  }
77134
- function _L(e = 4, t = _n) {
77135
- let n = $I / e, r = [];
77136
- for (let i = 0; i < e; i++) r.push(fL(t, i * n));
77490
+ function PL(e = 4, t = _n) {
77491
+ let n = gL / e, r = [];
77492
+ for (let i = 0; i < e; i++) r.push(kL(t, i * n));
77137
77493
  return r;
77138
77494
  }
77139
- function vL(e, t = {}) {
77140
- let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : $I / 4);
77141
- return [_L(e, fL([
77495
+ function FL(e, t = {}) {
77496
+ let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : gL / 4);
77497
+ return [PL(e, kL([
77142
77498
  n,
77143
77499
  0,
77144
77500
  0
77145
77501
  ], r)), r];
77146
77502
  }
77147
- function yL(e) {
77503
+ function IL(e) {
77148
77504
  return [
77149
77505
  e.re,
77150
77506
  e.im,
77151
77507
  0
77152
77508
  ];
77153
77509
  }
77154
- function bL(e) {
77510
+ function LL(e) {
77155
77511
  return {
77156
77512
  re: e[0] ?? 0,
77157
77513
  im: e[1] ?? 0
77158
77514
  };
77159
77515
  }
77160
- function xL(e) {
77161
- return (t) => yL(e(bL(t)));
77516
+ function RL(e) {
77517
+ return (t) => IL(e(LL(t)));
77162
77518
  }
77163
- function SL(e) {
77519
+ function zL(e) {
77164
77520
  let t = [
77165
77521
  0,
77166
77522
  0,
@@ -77174,10 +77530,10 @@ function SL(e) {
77174
77530
  t[2] / n
77175
77531
  ];
77176
77532
  }
77177
- function CL(e, t) {
77178
- return SL([e, t]);
77533
+ function BL(e, t) {
77534
+ return zL([e, t]);
77179
77535
  }
77180
- function wL(e, t) {
77536
+ function VL(e, t) {
77181
77537
  for (let n of [e, t]) for (let e of n) if ((e[2] ?? 0) !== 0) throw Error("Coords must be in the xy-plane.");
77182
77538
  let n = (e) => In([
77183
77539
  e[0][0],
@@ -77195,7 +77551,7 @@ function wL(e, t) {
77195
77551
  0
77196
77552
  ];
77197
77553
  }
77198
- function TL(e, t, n, r, i = 1e-5) {
77554
+ function HL(e, t, n, r, i = 1e-5) {
77199
77555
  let a = [];
77200
77556
  for (let o = 0; o < e.length; o++) {
77201
77557
  let s = e[o], c = t[o], l = n[o], u = r[o], d = In(u, In(c, u)), f = c[0] * d[0] + c[1] * d[1] + c[2] * d[2], p = Math.max(f, i), m = [
@@ -77211,15 +77567,15 @@ function TL(e, t, n, r, i = 1e-5) {
77211
77567
  }
77212
77568
  return a;
77213
77569
  }
77214
- function EL(e) {
77570
+ function UL(e) {
77215
77571
  let t = 0;
77216
77572
  for (let n = 0; n < e.length - 1; n++) t += (e[n + 1][0] - e[n][0]) * (e[n][1] + e[n + 1][1]) / 2;
77217
77573
  return t;
77218
77574
  }
77219
- function DL(e) {
77220
- return EL(e) > 0 ? "CW" : "CCW";
77575
+ function WL(e) {
77576
+ return UL(e) > 0 ? "CW" : "CCW";
77221
77577
  }
77222
- function OL(e) {
77578
+ function GL(e) {
77223
77579
  let t = Ln(e);
77224
77580
  if (t === 0) return [
77225
77581
  0,
@@ -77233,7 +77589,7 @@ function OL(e) {
77233
77589
  n
77234
77590
  ];
77235
77591
  }
77236
- function kL(e) {
77592
+ function KL(e) {
77237
77593
  let [t, n, r] = e;
77238
77594
  return [
77239
77595
  t * Math.cos(n) * Math.sin(r),
@@ -77241,12 +77597,12 @@ function kL(e) {
77241
77597
  t * Math.cos(r)
77242
77598
  ];
77243
77599
  }
77244
- function AL(e, t = vn) {
77600
+ function qL(e, t = vn) {
77245
77601
  let n = e[0], r = e[1], i = In([
77246
77602
  n[0] - r[0],
77247
77603
  n[1] - r[1],
77248
77604
  n[2] - r[2]
77249
- ], t), a = CL(n, r);
77605
+ ], t), a = BL(n, r);
77250
77606
  return [[
77251
77607
  a[0] + i[0],
77252
77608
  a[1] + i[1],
@@ -77257,7 +77613,7 @@ function AL(e, t = vn) {
77257
77613
  a[2] - i[2]
77258
77614
  ]];
77259
77615
  }
77260
- function jL(e, t = 2) {
77616
+ function JL(e, t = 2) {
77261
77617
  let n = [];
77262
77618
  for (let r = 0; r < e; r++) {
77263
77619
  let i = [];
@@ -77266,41 +77622,41 @@ function jL(e, t = 2) {
77266
77622
  }
77267
77623
  return n;
77268
77624
  }
77269
- function ML(e) {
77625
+ function YL(e) {
77270
77626
  let t = 0;
77271
- for (let [n, r] of DI(e)) {
77272
- let e = ((mL(r) - mL(n) + Math.PI) % $I + $I) % $I - Math.PI;
77627
+ for (let [n, r] of WI(e)) {
77628
+ let e = ((jL(r) - jL(n) + Math.PI) % gL + gL) % gL - Math.PI;
77273
77629
  t += e;
77274
77630
  }
77275
- return t / $I;
77631
+ return t / gL;
77276
77632
  }
77277
77633
  //#endregion
77278
77634
  //#region src/utils/paths.ts
77279
- var NL = .01;
77280
- function PL(e, t, n) {
77635
+ var XL = .01;
77636
+ function ZL(e, t, n) {
77281
77637
  return e.map((e, r) => e.map((e, i) => e + n * (t[r][i] - e)));
77282
77638
  }
77283
- function FL(e, t) {
77639
+ function QL(e, t) {
77284
77640
  return t.map((t) => t.reduce((t, n, r) => t + n * e[r], 0));
77285
77641
  }
77286
- function IL() {
77287
- return PL;
77642
+ function $L() {
77643
+ return ZL;
77288
77644
  }
77289
- function LL(e, t, n = vn) {
77290
- let r = iL(n, vn), i = (e) => t[e] ?? t[0];
77645
+ function eR(e, t, n = vn) {
77646
+ let r = xL(n, vn), i = (e) => t[e] ?? t[0];
77291
77647
  return (t, n, a) => {
77292
- let o = lL(-e, r), s = lL(a * e, r);
77648
+ let o = EL(-e, r), s = EL(a * e, r);
77293
77649
  return t.map((e, t) => {
77294
- let r = i(t), c = FL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
77295
- return FL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
77650
+ let r = i(t), c = QL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
77651
+ return QL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
77296
77652
  });
77297
77653
  };
77298
77654
  }
77299
- function RL(e, t = vn) {
77300
- if (Math.abs(e) < NL) return IL();
77301
- let n = iL(t, vn);
77655
+ function tR(e, t = vn) {
77656
+ if (Math.abs(e) < XL) return $L();
77657
+ let n = xL(t, vn);
77302
77658
  return (t, r, i) => {
77303
- let a = lL(i * e, n);
77659
+ let a = EL(i * e, n);
77304
77660
  return t.map((t, i) => {
77305
77661
  let o = r[i].map((e, n) => e - t[n]), s = t.map((e, t) => e + .5 * o[t]);
77306
77662
  if (e !== Math.PI) {
@@ -77311,19 +77667,19 @@ function RL(e, t = vn) {
77311
77667
  ], i = 1 / Math.tan(e / 2);
77312
77668
  for (let e = 0; e < s.length; e++) s[e] += r[e] * i;
77313
77669
  }
77314
- return FL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
77670
+ return QL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
77315
77671
  });
77316
77672
  };
77317
77673
  }
77318
- function zL() {
77319
- return RL(-Math.PI);
77674
+ function nR() {
77675
+ return tR(-Math.PI);
77320
77676
  }
77321
- function BL() {
77322
- return RL(Math.PI);
77677
+ function rR() {
77678
+ return tR(Math.PI);
77323
77679
  }
77324
77680
  //#endregion
77325
77681
  //#region src/utils/simpleFunctions.ts
77326
- function VL(e, t, n, r, i = 1e-4) {
77682
+ function iR(e, t, n, r, i = 1e-4) {
77327
77683
  let a = n, o = r, s = (a + o) / 2;
77328
77684
  for (; Math.abs(o - a) > i;) {
77329
77685
  s = (a + o) / 2;
@@ -77336,7 +77692,7 @@ function VL(e, t, n, r, i = 1e-4) {
77336
77692
  }
77337
77693
  return s;
77338
77694
  }
77339
- function HL(e, t) {
77695
+ function aR(e, t) {
77340
77696
  if (t < 0 || t > e) return 0;
77341
77697
  let n = t;
77342
77698
  n > e - n && (n = e - n);
@@ -77344,30 +77700,30 @@ function HL(e, t) {
77344
77700
  for (let t = 0; t < n; t++) r = r * (e - t) / (t + 1);
77345
77701
  return Math.round(r);
77346
77702
  }
77347
- function UL(e, t, n) {
77703
+ function oR(e, t, n) {
77348
77704
  return e < t ? t : e > n ? n : e;
77349
77705
  }
77350
- function WL(e) {
77706
+ function sR(e) {
77351
77707
  return 1 / (1 + Math.exp(-e));
77352
77708
  }
77353
77709
  //#endregion
77354
77710
  //#region src/utils/bezier.ts
77355
- function GL(e, t, n) {
77711
+ function cR(e, t, n) {
77356
77712
  if (Array.isArray(e) && Array.isArray(t)) return e.map((e, r) => (1 - n) * e + n * t[r]);
77357
77713
  if (typeof e == "number" && typeof t == "number") return (1 - n) * e + n * t;
77358
77714
  throw Error("interpolate: start and end must both be numbers or both be arrays");
77359
77715
  }
77360
- function KL(e, t) {
77716
+ function lR(e, t) {
77361
77717
  if (Array.isArray(e) && Array.isArray(t)) return e.map((e, n) => (e + t[n]) / 2);
77362
77718
  if (typeof e == "number" && typeof t == "number") return (e + t) / 2;
77363
77719
  throw Error("mid: start and end must both be numbers or both be arrays");
77364
77720
  }
77365
- function qL(e, t, n) {
77721
+ function uR(e, t, n) {
77366
77722
  if (Array.isArray(e) && Array.isArray(t) && Array.isArray(n)) return e.map((e, r) => (n[r] - e) / (t[r] - e));
77367
77723
  if (typeof e == "number" && typeof t == "number" && typeof n == "number") return (n - e) / (t - e);
77368
77724
  throw Error("inverse_interpolate: start, end and value must all be numbers or all be arrays");
77369
77725
  }
77370
- function JL(e, t, n, r, i) {
77726
+ function dR(e, t, n, r, i) {
77371
77727
  let a = r - n;
77372
77728
  if (Array.isArray(i)) return i.map((r) => {
77373
77729
  let i = (r - n) / a;
@@ -77376,7 +77732,7 @@ function JL(e, t, n, r, i) {
77376
77732
  let o = (i - n) / a;
77377
77733
  return (1 - o) * e + o * t;
77378
77734
  }
77379
- function YL(e, t) {
77735
+ function fR(e, t) {
77380
77736
  if (e.length === 0) return 0;
77381
77737
  let n = e.slice();
77382
77738
  for (; n.length > 1;) {
@@ -77386,7 +77742,7 @@ function YL(e, t) {
77386
77742
  }
77387
77743
  return n[0];
77388
77744
  }
77389
- function XL(e, t) {
77745
+ function pR(e, t) {
77390
77746
  if (e.length === 0) return [];
77391
77747
  let n = e.map((e) => e.slice());
77392
77748
  for (; n.length > 1;) {
@@ -77396,15 +77752,15 @@ function XL(e, t) {
77396
77752
  }
77397
77753
  return n[0];
77398
77754
  }
77399
- function ZL(e) {
77755
+ function mR(e) {
77400
77756
  if (e.length > 0 && Array.isArray(e[0])) {
77401
77757
  let t = e.filter((e) => Array.isArray(e));
77402
- return (e) => XL(t, e);
77758
+ return (e) => pR(t, e);
77403
77759
  }
77404
77760
  let t = e.filter((e) => typeof e == "number");
77405
- return (e) => YL(t, e);
77761
+ return (e) => fR(t, e);
77406
77762
  }
77407
- function QL(e, t) {
77763
+ function hR(e, t) {
77408
77764
  let n = e.length, r = e.map((e) => e.slice()), i = Array(n);
77409
77765
  i[0] = e[0].slice();
77410
77766
  for (let e = 1; e < n; e++) {
@@ -77413,7 +77769,7 @@ function QL(e, t) {
77413
77769
  }
77414
77770
  return [...i, ...r];
77415
77771
  }
77416
- function $L(e, t) {
77772
+ function gR(e, t) {
77417
77773
  if (t <= 1) return e.map((e) => e.slice());
77418
77774
  let n = [];
77419
77775
  for (let r = 0; r < t; r++) {
@@ -77422,7 +77778,7 @@ function $L(e, t) {
77422
77778
  }
77423
77779
  return n;
77424
77780
  }
77425
- function eR(e, t) {
77781
+ function _R(e, t) {
77426
77782
  let n = e.length;
77427
77783
  if (n === 0) return [];
77428
77784
  let r = e[0].length, i = [];
@@ -77433,12 +77789,12 @@ function eR(e, t) {
77433
77789
  for (let t = 0; t < n; t++) {
77434
77790
  let n = a[t];
77435
77791
  if (n <= 0) continue;
77436
- let i = $L(e[t], n);
77792
+ let i = gR(e[t], n);
77437
77793
  for (let e = 0; e < n; e++) o.push(i.slice(e * r, e * r + r));
77438
77794
  }
77439
77795
  return o;
77440
77796
  }
77441
- function tR(e) {
77797
+ function vR(e) {
77442
77798
  let t = e[0], n = e[e.length - 1];
77443
77799
  for (let e = 0; e < 3; e++) {
77444
77800
  let r = t[e] ?? 0, i = n[e] ?? 0, a = 1e-8 + 1e-5 * Math.abs(r);
@@ -77446,43 +77802,43 @@ function tR(e) {
77446
77802
  }
77447
77803
  return !0;
77448
77804
  }
77449
- function nR(e, t) {
77805
+ function yR(e, t) {
77450
77806
  return {
77451
77807
  re: e.re + t.re,
77452
77808
  im: e.im + t.im
77453
77809
  };
77454
77810
  }
77455
- function rR(e, t) {
77811
+ function bR(e, t) {
77456
77812
  return {
77457
77813
  re: e.re - t.re,
77458
77814
  im: e.im - t.im
77459
77815
  };
77460
77816
  }
77461
- function iR(e, t) {
77817
+ function xR(e, t) {
77462
77818
  return {
77463
77819
  re: e.re * t.re - e.im * t.im,
77464
77820
  im: e.re * t.im + e.im * t.re
77465
77821
  };
77466
77822
  }
77467
- function aR(e, t) {
77823
+ function SR(e, t) {
77468
77824
  let n = t.re * t.re + t.im * t.im;
77469
77825
  return {
77470
77826
  re: (e.re * t.re + e.im * t.im) / n,
77471
77827
  im: (e.im * t.re - e.re * t.im) / n
77472
77828
  };
77473
77829
  }
77474
- function oR(e, t) {
77830
+ function CR(e, t) {
77475
77831
  let n = {
77476
77832
  re: e[e.length - 1],
77477
77833
  im: 0
77478
77834
  };
77479
- for (let r = e.length - 2; r >= 0; r--) n = nR(iR(n, t), {
77835
+ for (let r = e.length - 2; r >= 0; r--) n = yR(xR(n, t), {
77480
77836
  re: e[r],
77481
77837
  im: 0
77482
77838
  });
77483
77839
  return n;
77484
77840
  }
77485
- function sR(e) {
77841
+ function wR(e) {
77486
77842
  let t = e.slice();
77487
77843
  for (; t.length > 1 && Math.abs(t[t.length - 1]) < 1e-14;) t.pop();
77488
77844
  let n = t.length - 1;
@@ -77497,17 +77853,17 @@ function sR(e) {
77497
77853
  for (let e = 0; e < n; e++) a.push({
77498
77854
  re: s.re,
77499
77855
  im: s.im
77500
- }), s = iR(s, o);
77856
+ }), s = xR(s, o);
77501
77857
  for (let e = 0; e < 200; e++) {
77502
77858
  let e = 0;
77503
77859
  for (let t = 0; t < n; t++) {
77504
- let r = oR(i, a[t]), o = {
77860
+ let r = CR(i, a[t]), o = {
77505
77861
  re: 1,
77506
77862
  im: 0
77507
77863
  };
77508
- for (let e = 0; e < n; e++) e !== t && (o = iR(o, rR(a[t], a[e])));
77509
- let s = aR(r, o);
77510
- a[t] = rR(a[t], s);
77864
+ for (let e = 0; e < n; e++) e !== t && (o = xR(o, bR(a[t], a[e])));
77865
+ let s = SR(r, o);
77866
+ a[t] = bR(a[t], s);
77511
77867
  let c = Math.hypot(s.re, s.im);
77512
77868
  c > e && (e = c);
77513
77869
  }
@@ -77515,98 +77871,98 @@ function sR(e) {
77515
77871
  }
77516
77872
  return a;
77517
77873
  }
77518
- function cR(e, t) {
77874
+ function TR(e, t) {
77519
77875
  if (t < 0 || t > e) return 0;
77520
77876
  let n = 1;
77521
77877
  for (let r = 0; r < t; r++) n = n * (e - r) / (r + 1);
77522
77878
  return Math.round(n);
77523
77879
  }
77524
- function lR(e, t) {
77880
+ function ER(e, t) {
77525
77881
  let n = 10 ** t;
77526
77882
  return Math.round(e * n) / n;
77527
77883
  }
77528
- function uR(e, t, n) {
77884
+ function DR(e, t, n) {
77529
77885
  let r = .5 * 10 ** -n, i = [];
77530
77886
  for (let n of e) t.some((e) => Math.abs(n - e) <= r) && !i.some((e) => Math.abs(n - e) <= r) && i.push(n);
77531
77887
  return i;
77532
77888
  }
77533
- function dR(e, t, n = 1e-6) {
77889
+ function OR(e, t, n = 1e-6) {
77534
77890
  for (let n of t) if (n.length !== e.length) throw Error("proportions_along_bezier_curve_for_point: point and control points have different shapes");
77535
77891
  let r = t.length - 1, i = Math.round(Math.log10(1 / n)), a = [];
77536
77892
  for (let n = 0; n < e.length; n++) {
77537
77893
  let o = e[n], s = t.map((e) => e[n]), c = [];
77538
77894
  for (let e = r; e >= 0; e--) {
77539
- let t = cR(r, e), n = 1, i = 0;
77895
+ let t = TR(r, e), n = 1, i = 0;
77540
77896
  for (let t = e; t >= 0; t--) {
77541
- let r = cR(e, t) * n * s[t];
77897
+ let r = TR(e, t) * n * s[t];
77542
77898
  e === 0 && (r -= o), i += r, n *= -1;
77543
77899
  }
77544
77900
  c.push(t * i);
77545
77901
  }
77546
77902
  if (c.every((e) => e === 0)) continue;
77547
- let l = sR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => lR(e.re, i));
77903
+ let l = wR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => ER(e.re, i));
77548
77904
  a.push(l);
77549
77905
  }
77550
77906
  if (a.length === 0) return [];
77551
77907
  let o = a[0];
77552
- for (let e = 1; e < a.length; e++) o = uR(o, a[e], i);
77908
+ for (let e = 1; e < a.length; e++) o = DR(o, a[e], i);
77553
77909
  return o.filter((e) => e >= 0 && e <= 1);
77554
77910
  }
77555
- function fR(e, t, n = 1e-6) {
77556
- return dR(e, t, n).length > 0;
77911
+ function kR(e, t, n = 1e-6) {
77912
+ return OR(e, t, n).length > 0;
77557
77913
  }
77558
77914
  //#endregion
77559
77915
  //#region src/mobjects/three-d/threeDVmobUtils.ts
77560
- function pR(e) {
77916
+ function AR(e) {
77561
77917
  return [
77562
77918
  e[0],
77563
77919
  e[1],
77564
77920
  e[2]
77565
77921
  ];
77566
77922
  }
77567
- function mR(e) {
77923
+ function jR(e) {
77568
77924
  return e.filter((e, t) => t % 3 == 0);
77569
77925
  }
77570
- function hR(e) {
77571
- return [vR(e), yR(e)];
77926
+ function MR(e) {
77927
+ return [FR(e), IR(e)];
77572
77928
  }
77573
- function gR(e) {
77929
+ function NR(e) {
77574
77930
  return 0;
77575
77931
  }
77576
- function _R(e) {
77932
+ function PR(e) {
77577
77933
  return Math.floor((e.getPoints().length - 1) / 6) * 3;
77578
77934
  }
77579
- function vR(e) {
77935
+ function FR(e) {
77580
77936
  let t = e.getPoints();
77581
- return t.length === 0 ? [...bn] : pR(t[gR(e)]);
77937
+ return t.length === 0 ? [...bn] : AR(t[NR(e)]);
77582
77938
  }
77583
- function yR(e) {
77939
+ function IR(e) {
77584
77940
  let t = e.getPoints();
77585
- return t.length === 0 ? [...bn] : pR(t[_R(e)]);
77941
+ return t.length === 0 ? [...bn] : AR(t[PR(e)]);
77586
77942
  }
77587
- function bR(e, t) {
77943
+ function LR(e, t) {
77588
77944
  let n = e.getPoints(), r = n.length;
77589
- if (mR(n).length <= 2) return [...mn];
77590
- let i = t, a = i > 2 ? i - 3 : r - 4, o = gL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
77945
+ if (jR(n).length <= 2) return [...mn];
77946
+ let i = t, a = i > 2 ? i - 3 : r - 4, o = NL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
77591
77947
  return Math.hypot(...o) === 0 ? [...mn] : o;
77592
77948
  }
77593
- function xR(e) {
77594
- return bR(e, gR(e));
77949
+ function RR(e) {
77950
+ return LR(e, NR(e));
77595
77951
  }
77596
- function SR(e) {
77597
- return bR(e, _R(e));
77952
+ function zR(e) {
77953
+ return LR(e, PR(e));
77598
77954
  }
77599
77955
  //#endregion
77600
77956
  //#region src/core/SpecialThreeDScene.ts
77601
- var CR = 70 * _t, wR = -110 * _t, TR = 2, ER = 48, DR = class extends c_ {
77957
+ var BR = 70 * _t, VR = -110 * _t, HR = 2, UR = 48, WR = class extends c_ {
77602
77958
  cutAxesAtRadius;
77603
77959
  _threeDAxesConfig;
77604
77960
  _sphereConfig;
77605
77961
  _defaultAngledCameraPosition;
77606
77962
  constructor(e, t = {}) {
77607
77963
  let { cutAxesAtRadius: n = !0, threeDAxesConfig: r = {}, sphereConfig: i = {}, defaultAngledCameraPosition: a = {
77608
- phi: CR,
77609
- theta: wR
77964
+ phi: BR,
77965
+ theta: VR
77610
77966
  }, phi: o = a.phi, theta: s = a.theta, ...c } = t;
77611
77967
  super(e, {
77612
77968
  ...c,
@@ -77636,8 +77992,8 @@ var CR = 70 * _t, wR = -110 * _t, TR = 2, ER = 48, DR = class extends c_ {
77636
77992
  }
77637
77993
  getDefaultSphereConfig() {
77638
77994
  return {
77639
- radius: TR,
77640
- resolution: ER
77995
+ radius: HR,
77996
+ resolution: UR
77641
77997
  };
77642
77998
  }
77643
77999
  getAxes() {
@@ -77663,73 +78019,73 @@ var CR = 70 * _t, wR = -110 * _t, TR = 2, ER = 48, DR = class extends c_ {
77663
78019
  };
77664
78020
  //#endregion
77665
78021
  //#region src/mobjects/text/registerFont.ts
77666
- function OR(e, t) {
78022
+ function GR(e, t) {
77667
78023
  if (typeof document > "u" || typeof FontFace > "u" || document.fonts === void 0) return !1;
77668
78024
  let n = typeof t == "string" && !/^\s*(url|local)\s*\(/i.test(t) ? `url("${t}")` : t, r = new FontFace(e, n);
77669
78025
  return document.fonts.add(r), !0;
77670
78026
  }
77671
78027
  //#endregion
77672
78028
  //#region src/serialization/registry.ts
77673
- var kR = /* @__PURE__ */ new Map();
77674
- function AR(e, t) {
77675
- kR.set(e, t);
78029
+ var KR = /* @__PURE__ */ new Map();
78030
+ function qR(e, t) {
78031
+ KR.set(e, t);
77676
78032
  }
77677
- function jR(e) {
77678
- kR.delete(e);
78033
+ function JR(e) {
78034
+ KR.delete(e);
77679
78035
  }
77680
- function MR(e) {
77681
- return kR.get(e);
78036
+ function YR(e) {
78037
+ return KR.get(e);
77682
78038
  }
77683
- function NR() {
77684
- return [...kR.keys()].sort();
78039
+ function XR() {
78040
+ return [...KR.keys()].sort();
77685
78041
  }
77686
78042
  //#endregion
77687
78043
  //#region src/serialization/props.ts
77688
- function PR(e, t) {
78044
+ function ZR(e, t) {
77689
78045
  return typeof e == "number" && Number.isFinite(e) ? e : t;
77690
78046
  }
77691
- function FR(e, t) {
78047
+ function QR(e, t) {
77692
78048
  return typeof e == "string" ? e : t;
77693
78049
  }
77694
- function IR(e, t) {
78050
+ function $R(e, t) {
77695
78051
  return typeof e == "boolean" ? e : t;
77696
78052
  }
77697
- function LR(e) {
78053
+ function ez(e) {
77698
78054
  return typeof e == "string" ? e : void 0;
77699
78055
  }
77700
- function RR(e) {
78056
+ function tz(e) {
77701
78057
  return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
77702
78058
  }
77703
- function zR(e, t) {
77704
- return RR(e) ? [
78059
+ function nz(e, t) {
78060
+ return tz(e) ? [
77705
78061
  e[0],
77706
78062
  e[1],
77707
78063
  e[2]
77708
78064
  ] : t;
77709
78065
  }
77710
- function BR(e) {
78066
+ function rz(e) {
77711
78067
  if (!Array.isArray(e)) return [];
77712
78068
  let t = [];
77713
- for (let n of e) RR(n) && t.push([
78069
+ for (let n of e) tz(n) && t.push([
77714
78070
  n[0],
77715
78071
  n[1],
77716
78072
  n[2]
77717
78073
  ]);
77718
78074
  return t;
77719
78075
  }
77720
- function VR(e) {
78076
+ function iz(e) {
77721
78077
  return typeof e == "object" && !!e && !Array.isArray(e);
77722
78078
  }
77723
78079
  //#endregion
77724
78080
  //#region src/serialization/defaults.ts
77725
- function HR(e) {
77726
- return typeof e == "number" && Number.isFinite(e) ? e : FR(e, "normal");
78081
+ function az(e) {
78082
+ return typeof e == "number" && Number.isFinite(e) ? e : QR(e, "normal");
77727
78083
  }
77728
- function UR(e) {
78084
+ function oz(e) {
77729
78085
  return e === "left" || e === "right" ? e : "center";
77730
78086
  }
77731
- function WR() {
77732
- AR("Circle", {
78087
+ function sz() {
78088
+ qR("Circle", {
77733
78089
  serialize: (e) => {
77734
78090
  let t = e;
77735
78091
  return {
@@ -77738,10 +78094,10 @@ function WR() {
77738
78094
  };
77739
78095
  },
77740
78096
  deserialize: (e) => new Wv({
77741
- radius: PR(e.radius, 1),
77742
- numPoints: PR(e.numPoints, 64)
78097
+ radius: ZR(e.radius, 1),
78098
+ numPoints: ZR(e.numPoints, 64)
77743
78099
  })
77744
- }), AR("Rectangle", {
78100
+ }), qR("Rectangle", {
77745
78101
  serialize: (e) => {
77746
78102
  let t = e;
77747
78103
  return {
@@ -77750,13 +78106,13 @@ function WR() {
77750
78106
  };
77751
78107
  },
77752
78108
  deserialize: (e) => new l_({
77753
- width: PR(e.width, 2),
77754
- height: PR(e.height, 1)
78109
+ width: ZR(e.width, 2),
78110
+ height: ZR(e.height, 1)
77755
78111
  })
77756
- }), AR("Square", {
78112
+ }), qR("Square", {
77757
78113
  serialize: (e) => ({ sideLength: e._width }),
77758
- deserialize: (e) => new u_({ sideLength: PR(e.sideLength, 2) })
77759
- }), AR("Line", {
78114
+ deserialize: (e) => new u_({ sideLength: ZR(e.sideLength, 2) })
78115
+ }), qR("Line", {
77760
78116
  serialize: (e) => {
77761
78117
  let t = e;
77762
78118
  return {
@@ -77765,27 +78121,27 @@ function WR() {
77765
78121
  };
77766
78122
  },
77767
78123
  deserialize: (e) => new x_({
77768
- start: zR(e.start, [
78124
+ start: nz(e.start, [
77769
78125
  0,
77770
78126
  0,
77771
78127
  0
77772
78128
  ]),
77773
- end: zR(e.end, [
78129
+ end: nz(e.end, [
77774
78130
  1,
77775
78131
  0,
77776
78132
  0
77777
78133
  ])
77778
78134
  })
77779
- }), AR("Dot", {
78135
+ }), qR("Dot", {
77780
78136
  serialize: (e) => ({ radius: e._radius }),
77781
- deserialize: (e) => new my({ radius: PR(e.radius, .08) })
77782
- }), AR("Polygon", {
78137
+ deserialize: (e) => new my({ radius: ZR(e.radius, .08) })
78138
+ }), qR("Polygon", {
77783
78139
  serialize: (e) => ({
77784
78140
  vertices: e.getVertices().map((e) => [...e]),
77785
78141
  closed: e._closed
77786
78142
  }),
77787
78143
  deserialize: (e) => {
77788
- let t = BR(e.vertices);
78144
+ let t = rz(e.vertices);
77789
78145
  return new Gv({
77790
78146
  vertices: t.length >= 2 ? t : [[
77791
78147
  0,
@@ -77796,16 +78152,16 @@ function WR() {
77796
78152
  0,
77797
78153
  0
77798
78154
  ]],
77799
- closed: IR(e.closed, !0)
78155
+ closed: $R(e.closed, !0)
77800
78156
  });
77801
78157
  }
77802
- }), AR("Group", {
78158
+ }), qR("Group", {
77803
78159
  serialize: () => ({}),
77804
78160
  deserialize: () => new Qh()
77805
- }), AR("VGroup", {
78161
+ }), qR("VGroup", {
77806
78162
  serialize: () => ({}),
77807
78163
  deserialize: () => new L()
77808
- }), AR("Text", {
78164
+ }), qR("Text", {
77809
78165
  serialize: (e) => {
77810
78166
  let t = e;
77811
78167
  return {
@@ -77820,16 +78176,16 @@ function WR() {
77820
78176
  };
77821
78177
  },
77822
78178
  deserialize: (e) => new sh({
77823
- text: FR(e.text, ""),
77824
- fontSize: PR(e.fontSize, 48),
77825
- fontFamily: FR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
77826
- fontWeight: HR(e.fontWeight),
77827
- fontStyle: FR(e.fontStyle, "normal"),
77828
- lineHeight: PR(e.lineHeight, 1.2),
77829
- letterSpacing: PR(e.letterSpacing, 0),
77830
- textAlign: UR(e.textAlign)
78179
+ text: QR(e.text, ""),
78180
+ fontSize: ZR(e.fontSize, 48),
78181
+ fontFamily: QR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
78182
+ fontWeight: az(e.fontWeight),
78183
+ fontStyle: QR(e.fontStyle, "normal"),
78184
+ lineHeight: ZR(e.lineHeight, 1.2),
78185
+ letterSpacing: ZR(e.letterSpacing, 0),
78186
+ textAlign: oz(e.textAlign)
77831
78187
  })
77832
- }), AR("MathTex", {
78188
+ }), qR("MathTex", {
77833
78189
  serialize: (e) => {
77834
78190
  let t = e;
77835
78191
  return {
@@ -77839,15 +78195,15 @@ function WR() {
77839
78195
  };
77840
78196
  },
77841
78197
  deserialize: (e) => new wS({
77842
- latex: FR(e.latex, ""),
77843
- fontSize: PR(e.fontSize, 1),
77844
- displayMode: IR(e.displayMode, !0)
78198
+ latex: QR(e.latex, ""),
78199
+ fontSize: ZR(e.fontSize, 1),
78200
+ displayMode: $R(e.displayMode, !0)
77845
78201
  })
77846
78202
  });
77847
78203
  }
77848
78204
  //#endregion
77849
78205
  //#region src/serialization/types.ts
77850
- var GR = "manim-web-scene", KR = {
78206
+ var cz = "manim-web-scene", lz = {
77851
78207
  position: [
77852
78208
  0,
77853
78209
  0,
@@ -77864,7 +78220,7 @@ var GR = "manim-web-scene", KR = {
77864
78220
  1
77865
78221
  ]
77866
78222
  };
77867
- function qR(e) {
78223
+ function uz(e) {
77868
78224
  return {
77869
78225
  position: [
77870
78226
  e.position.x,
@@ -77883,98 +78239,98 @@ function qR(e) {
77883
78239
  ]
77884
78240
  };
77885
78241
  }
77886
- function JR(e) {
78242
+ function dz(e) {
77887
78243
  let t = {};
77888
78244
  return e.strokeColor !== void 0 && (t.strokeColor = e.strokeColor), e.fillColor !== void 0 && (t.fillColor = e.fillColor), typeof e.opacity == "number" && (t.strokeOpacity = e.opacity), typeof e.fillOpacity == "number" && (t.fillOpacity = e.fillOpacity), typeof e.strokeWidth == "number" && (t.strokeWidth = e.strokeWidth), t;
77889
78245
  }
77890
- function YR(e, t) {
77891
- let n = VR(t) ? t : {}, r = zR(n.position, KR.position), i = zR(n.rotation, KR.rotation), a = zR(n.scale, KR.scale);
78246
+ function fz(e, t) {
78247
+ let n = iz(t) ? t : {}, r = nz(n.position, lz.position), i = nz(n.rotation, lz.rotation), a = nz(n.scale, lz.scale);
77892
78248
  e.position.set(r[0], r[1], r[2]), e.rotation.set(i[0], i[1], i[2]), e.scaleVector.set(a[0], a[1], a[2]);
77893
78249
  }
77894
- function XR(e, t) {
77895
- let n = VR(t) ? t : {};
78250
+ function pz(e, t) {
78251
+ let n = iz(t) ? t : {};
77896
78252
  typeof n.strokeWidth == "number" && e.setStrokeWidth(n.strokeWidth), typeof n.strokeOpacity == "number" && e.setStrokeOpacity(n.strokeOpacity), typeof n.fillOpacity == "number" && e.setFillOpacity(n.fillOpacity);
77897
- let r = LR(n.strokeColor), i = LR(n.fillColor);
78253
+ let r = ez(n.strokeColor), i = ez(n.fillColor);
77898
78254
  r !== void 0 && (e.color = r), r !== void 0 && (e.strokeColor = r), i !== void 0 && (e.fillColor = i);
77899
78255
  }
77900
- function ZR(e) {
77901
- let t = e.constructor.name, n = MR(t), r = {
78256
+ function mz(e) {
78257
+ let t = e.constructor.name, n = YR(t), r = {
77902
78258
  type: t,
77903
78259
  props: n ? n.serialize(e) : {},
77904
- transform: qR(e),
77905
- style: JR(e),
77906
- children: e.children.map(ZR)
78260
+ transform: uz(e),
78261
+ style: dz(e),
78262
+ children: e.children.map(mz)
77907
78263
  };
77908
78264
  return n || (r.unknown = !0), r;
77909
78265
  }
77910
- function QR(e) {
77911
- if (!VR(e) || e.unknown === !0) return null;
77912
- let t = LR(e.type);
78266
+ function hz(e) {
78267
+ if (!iz(e) || e.unknown === !0) return null;
78268
+ let t = ez(e.type);
77913
78269
  if (t === void 0) return null;
77914
- let n = MR(t);
78270
+ let n = YR(t);
77915
78271
  if (!n) return null;
77916
- let r = VR(e.props) ? e.props : {}, i = n.deserialize(r);
77917
- if (YR(i, e.transform), XR(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
77918
- let e = QR(t);
78272
+ let r = iz(e.props) ? e.props : {}, i = n.deserialize(r);
78273
+ if (fz(i, e.transform), pz(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
78274
+ let e = hz(t);
77919
78275
  e && i.add(e);
77920
78276
  }
77921
78277
  return i;
77922
78278
  }
77923
- function $R(e) {
78279
+ function gz(e) {
77924
78280
  let t = [];
77925
- for (let n of e.mobjects) t.push(ZR(n));
78281
+ for (let n of e.mobjects) t.push(mz(n));
77926
78282
  return {
77927
- format: GR,
78283
+ format: cz,
77928
78284
  version: 1,
77929
78285
  mobjects: t
77930
78286
  };
77931
78287
  }
77932
- function ez(e, t) {
77933
- if (!VR(e) || !Array.isArray(e.mobjects)) return [];
78288
+ function _z(e, t) {
78289
+ if (!iz(e) || !Array.isArray(e.mobjects)) return [];
77934
78290
  let n = [];
77935
78291
  for (let r of e.mobjects) {
77936
- let e = QR(r);
78292
+ let e = hz(r);
77937
78293
  e && (t.add(e), n.push(e));
77938
78294
  }
77939
78295
  return n;
77940
78296
  }
77941
78297
  //#endregion
77942
78298
  //#region src/serialization/urlState.ts
77943
- var tz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", nz = (() => {
78299
+ var vz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", yz = (() => {
77944
78300
  let e = /* @__PURE__ */ new Map();
77945
- for (let t = 0; t < 64; t++) e.set(tz.charAt(t), t);
78301
+ for (let t = 0; t < 64; t++) e.set(vz.charAt(t), t);
77946
78302
  return e;
77947
78303
  })();
77948
- function rz(e) {
78304
+ function bz(e) {
77949
78305
  let t = "";
77950
78306
  for (let n = 0; n < e.length; n += 3) {
77951
78307
  let r = e[n], i = n + 1 < e.length, a = n + 2 < e.length, o = i ? e[n + 1] : 0, s = a ? e[n + 2] : 0, c = r << 16 | o << 8 | s;
77952
- t += tz.charAt(c >> 18 & 63), t += tz.charAt(c >> 12 & 63), i && (t += tz.charAt(c >> 6 & 63)), a && (t += tz.charAt(c & 63));
78308
+ t += vz.charAt(c >> 18 & 63), t += vz.charAt(c >> 12 & 63), i && (t += vz.charAt(c >> 6 & 63)), a && (t += vz.charAt(c & 63));
77953
78309
  }
77954
78310
  return t;
77955
78311
  }
77956
- function iz(e) {
78312
+ function xz(e) {
77957
78313
  let t = e.length;
77958
78314
  if (t % 4 == 1) return null;
77959
78315
  let n = [];
77960
78316
  for (let r = 0; r < t; r += 4) {
77961
- let i = Math.min(4, t - r), a = nz.get(e.charAt(r)), o = nz.get(e.charAt(r + 1));
78317
+ let i = Math.min(4, t - r), a = yz.get(e.charAt(r)), o = yz.get(e.charAt(r + 1));
77962
78318
  if (a === void 0 || o === void 0) return null;
77963
- let s = i > 2 ? nz.get(e.charAt(r + 2)) : 0, c = i > 3 ? nz.get(e.charAt(r + 3)) : 0;
78319
+ let s = i > 2 ? yz.get(e.charAt(r + 2)) : 0, c = i > 3 ? yz.get(e.charAt(r + 3)) : 0;
77964
78320
  if (s === void 0 || c === void 0) return null;
77965
78321
  let l = a << 18 | o << 12 | s << 6 | c;
77966
78322
  n.push(l >> 16 & 255), i > 2 && n.push(l >> 8 & 255), i > 3 && n.push(l & 255);
77967
78323
  }
77968
78324
  return Uint8Array.from(n);
77969
78325
  }
77970
- function az(e) {
78326
+ function Sz(e) {
77971
78327
  let t = JSON.stringify(e), n = typeof t == "string" ? t : "null";
77972
- return rz(new TextEncoder().encode(n));
78328
+ return bz(new TextEncoder().encode(n));
77973
78329
  }
77974
- function oz(e) {
78330
+ function Cz(e) {
77975
78331
  let t = e.startsWith("#") ? e.slice(1) : e;
77976
78332
  if (t.length === 0) return null;
77977
- let n = iz(t);
78333
+ let n = xz(t);
77978
78334
  if (n === null) return null;
77979
78335
  try {
77980
78336
  let e = new TextDecoder().decode(n);
@@ -77983,18 +78339,18 @@ function oz(e) {
77983
78339
  return null;
77984
78340
  }
77985
78341
  }
77986
- function sz() {
78342
+ function wz() {
77987
78343
  return typeof window < "u" && window.location ? window.location : null;
77988
78344
  }
77989
- function cz() {
78345
+ function Tz() {
77990
78346
  return typeof window < "u" && window.history ? window.history : null;
77991
78347
  }
77992
- function lz(e, t = {}) {
77993
- let n = sz();
78348
+ function Ez(e, t = {}) {
78349
+ let n = wz();
77994
78350
  if (!n) return;
77995
- let r = az(e), i = `#${r}`;
78351
+ let r = Sz(e), i = `#${r}`;
77996
78352
  if (t.replace) {
77997
- let e = cz();
78353
+ let e = Tz();
77998
78354
  if (e && typeof e.replaceState == "function") {
77999
78355
  e.replaceState(e.state ?? null, "", i);
78000
78356
  return;
@@ -78002,29 +78358,29 @@ function lz(e, t = {}) {
78002
78358
  }
78003
78359
  n.hash = r;
78004
78360
  }
78005
- function uz() {
78006
- let e = sz();
78007
- return e ? oz(e.hash) : null;
78361
+ function Dz() {
78362
+ let e = wz();
78363
+ return e ? Cz(e.hash) : null;
78008
78364
  }
78009
- function dz(e) {
78365
+ function Oz(e) {
78010
78366
  if (typeof window > "u" || typeof window.addEventListener != "function") return () => void 0;
78011
- let t = () => e(uz());
78367
+ let t = () => e(Dz());
78012
78368
  return window.addEventListener("hashchange", t), () => window.removeEventListener("hashchange", t);
78013
78369
  }
78014
- function fz(e) {
78370
+ function kz(e) {
78015
78371
  let t = {};
78016
78372
  for (let n of e) t[n.id] = n.get();
78017
78373
  return t;
78018
78374
  }
78019
- function pz(e, t) {
78375
+ function Az(e, t) {
78020
78376
  if (typeof t != "object" || !t || Array.isArray(t)) return !1;
78021
78377
  let n = t, r = !1;
78022
78378
  for (let t of e) Object.prototype.hasOwnProperty.call(n, t.id) && (t.set(n[t.id]), r = !0);
78023
78379
  return r;
78024
78380
  }
78025
- function mz(e, t = {}) {
78026
- let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => fz(e), o = () => lz(a(), { replace: n }), s = () => pz(e, uz()), c = null;
78027
- return r && s(), i && (c = dz((t) => pz(e, t))), {
78381
+ function jz(e, t = {}) {
78382
+ let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => kz(e), o = () => Ez(a(), { replace: n }), s = () => Az(e, Dz()), c = null;
78383
+ return r && s(), i && (c = Oz((t) => Az(e, t))), {
78028
78384
  capture: a,
78029
78385
  save: o,
78030
78386
  restore: s,
@@ -78035,13 +78391,13 @@ function mz(e, t = {}) {
78035
78391
  }
78036
78392
  //#endregion
78037
78393
  //#region src/serialization/parametrized.ts
78038
- function hz(e) {
78394
+ function Mz(e) {
78039
78395
  return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
78040
78396
  }
78041
- function gz(e) {
78042
- return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : hz(e) ? "vec3" : Array.isArray(e) ? "array" : VR(e) ? "object" : null;
78397
+ function Nz(e) {
78398
+ return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : Mz(e) ? "vec3" : Array.isArray(e) ? "array" : iz(e) ? "object" : null;
78043
78399
  }
78044
- function _z(e, t, n) {
78400
+ function Pz(e, t, n) {
78045
78401
  switch (t) {
78046
78402
  case "number":
78047
78403
  if (typeof e == "number" && Number.isFinite(e)) return e;
@@ -78052,46 +78408,46 @@ function _z(e, t, n) {
78052
78408
  return typeof e == "boolean" ? +!!e : n;
78053
78409
  case "string": return typeof e == "string" ? e : typeof e == "number" && Number.isFinite(e) || typeof e == "boolean" ? String(e) : n;
78054
78410
  case "boolean": return typeof e == "boolean" ? e : e === "true" ? !0 : e === "false" ? !1 : typeof e == "number" && Number.isFinite(e) ? e !== 0 : n;
78055
- case "vec3": return zR(e, hz(n) ? n : [
78411
+ case "vec3": return nz(e, Mz(n) ? n : [
78056
78412
  0,
78057
78413
  0,
78058
78414
  0
78059
78415
  ]);
78060
78416
  case "array": return Array.isArray(e) ? e : n;
78061
- case "object": return VR(e) ? e : n;
78417
+ case "object": return iz(e) ? e : n;
78062
78418
  }
78063
78419
  }
78064
- function vz(e, t, n) {
78065
- let r = e.defaultProps[t], i = e.schema?.[t] ?? gz(r);
78066
- return i === null ? n === void 0 ? r : n : _z(n, i, r);
78420
+ function Fz(e, t, n) {
78421
+ let r = e.defaultProps[t], i = e.schema?.[t] ?? Nz(r);
78422
+ return i === null ? n === void 0 ? r : n : Pz(n, i, r);
78067
78423
  }
78068
- function yz(e, t, n) {
78424
+ function Iz(e, t, n) {
78069
78425
  let r = { ...t };
78070
- if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = vz(e, t, n[t]));
78426
+ if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = Fz(e, t, n[t]));
78071
78427
  return r;
78072
78428
  }
78073
- function bz(e) {
78429
+ function Lz(e) {
78074
78430
  return e;
78075
78431
  }
78076
- function xz(e, t) {
78077
- return yz(e, { ...e.defaultProps }, t);
78432
+ function Rz(e, t) {
78433
+ return Iz(e, { ...e.defaultProps }, t);
78078
78434
  }
78079
- function Sz(e) {
78080
- let t = uz();
78081
- return xz(e, VR(t) ? t : void 0);
78435
+ function zz(e) {
78436
+ let t = Dz();
78437
+ return Rz(e, iz(t) ? t : void 0);
78082
78438
  }
78083
- var Cz = async (e, t) => {
78439
+ var Bz = async (e, t) => {
78084
78440
  if (typeof fetch != "function") throw Error("renderParametrized: no global fetch available. Pass options.fetch to inject one.");
78085
78441
  let n = await fetch(e, t);
78086
78442
  if (!n.ok) throw Error(`renderParametrized: fetch failed for ${e} (status ${n.status})`);
78087
78443
  return n.json();
78088
78444
  };
78089
- function wz(e, t) {
78445
+ function Vz(e, t) {
78090
78446
  let n = t.width ?? e.renderer.width, r = t.height ?? e.renderer.height;
78091
78447
  (n !== e.renderer.width || r !== e.renderer.height) && e.resize(n, r), typeof t.fps == "number" && Number.isFinite(t.fps) && e.setTargetFps(t.fps);
78092
78448
  }
78093
- async function Tz(e, t, n = {}) {
78094
- let r = n.fetch ?? Cz, i = xz(e, t), a, o = {};
78449
+ async function Hz(e, t, n = {}) {
78450
+ let r = n.fetch ?? Bz, i = Rz(e, t), a, o = {};
78095
78451
  if (e.calculateMetadata) {
78096
78452
  let t = await e.calculateMetadata({
78097
78453
  props: i,
@@ -78102,7 +78458,7 @@ async function Tz(e, t, n = {}) {
78102
78458
  width: t.width,
78103
78459
  height: t.height,
78104
78460
  fps: t.fps
78105
- }, t.props && (i = yz(e, i, t.props));
78461
+ }, t.props && (i = Iz(e, i, t.props));
78106
78462
  }
78107
78463
  let s = n.scene;
78108
78464
  s ||= jg.createHeadless({
@@ -78110,9 +78466,9 @@ async function Tz(e, t, n = {}) {
78110
78466
  ...o.width === void 0 ? {} : { width: o.width },
78111
78467
  ...o.height === void 0 ? {} : { height: o.height },
78112
78468
  ...o.fps === void 0 ? {} : { targetFps: o.fps }
78113
- }), wz(s, o);
78114
- let c = az(i);
78115
- return n.writeUrl && lz(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
78469
+ }), Vz(s, o);
78470
+ let c = Sz(i);
78471
+ return n.writeUrl && Ez(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
78116
78472
  scene: s,
78117
78473
  props: i,
78118
78474
  data: a,
@@ -78127,10 +78483,10 @@ async function Tz(e, t, n = {}) {
78127
78483
  }
78128
78484
  //#endregion
78129
78485
  //#region src/serialization/index.ts
78130
- WR();
78486
+ sz();
78131
78487
  //#endregion
78132
78488
  //#region src/mobjects/geo/geojson.ts
78133
- function Ez(e) {
78489
+ function Uz(e) {
78134
78490
  if (e.type === "Polygon") {
78135
78491
  let t = e.coordinates[0];
78136
78492
  return t ? [t] : [];
@@ -78144,26 +78500,26 @@ function Ez(e) {
78144
78500
  }
78145
78501
  //#endregion
78146
78502
  //#region src/mobjects/geo/projections.ts
78147
- var Dz = Math.PI / 180;
78148
- function Oz(e = {}) {
78149
- let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Dz);
78150
- return ([e, i]) => [(e - n) * Dz * t * a, (i - r) * Dz * t];
78503
+ var Wz = Math.PI / 180;
78504
+ function Gz(e = {}) {
78505
+ let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Wz);
78506
+ return ([e, i]) => [(e - n) * Wz * t * a, (i - r) * Wz * t];
78151
78507
  }
78152
- function kz(e = {}) {
78508
+ function Kz(e = {}) {
78153
78509
  let { radius: t = 1, centerLon: n = 0, maxLatitude: r = 85.05112878 } = e;
78154
78510
  return ([e, i]) => {
78155
- let a = Math.max(-r, Math.min(r, i)) * Dz;
78156
- return [(e - n) * Dz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
78511
+ let a = Math.max(-r, Math.min(r, i)) * Wz;
78512
+ return [(e - n) * Wz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
78157
78513
  };
78158
78514
  }
78159
78515
  //#endregion
78160
78516
  //#region src/mobjects/geo/colorScale.ts
78161
- var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78517
+ var qz = ["#0d1b2a", "#4cc9f0"], Jz = class {
78162
78518
  _palette;
78163
78519
  _domain;
78164
78520
  constructor(e = {}) {
78165
- let { colors: t = Az, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
78166
- this._palette = Ua(t.length > 0 ? t : Az, i), this._domain = [n[0], n[1]];
78521
+ let { colors: t = qz, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
78522
+ this._palette = Ua(t.length > 0 ? t : qz, i), this._domain = [n[0], n[1]];
78167
78523
  }
78168
78524
  setDomainFromValues(e) {
78169
78525
  let t = Infinity, n = -Infinity;
@@ -78179,7 +78535,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78179
78535
  let a = Math.round(i * (this._palette.length - 1));
78180
78536
  return this._palette[a];
78181
78537
  }
78182
- }, Mz = class extends Qh {
78538
+ }, Yz = class extends Qh {
78183
78539
  _projection;
78184
78540
  _colorScale;
78185
78541
  _regions = [];
@@ -78187,10 +78543,10 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78187
78543
  _regionPolygons = [];
78188
78544
  constructor(e) {
78189
78545
  super();
78190
- let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Oz() } = e;
78546
+ let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Gz() } = e;
78191
78547
  this._projection = l;
78192
78548
  let u = t.features ?? [], d = u.map((e, t) => n(e, t));
78193
- this._colorScale = new jz({
78549
+ this._colorScale = new Jz({
78194
78550
  colors: r,
78195
78551
  domain: i
78196
78552
  }), i || this._colorScale.setDomainFromValues(d.filter((e) => typeof e == "number" && Number.isFinite(e))), u.forEach((e, t) => {
@@ -78203,7 +78559,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78203
78559
  });
78204
78560
  }
78205
78561
  _buildRegion(e, t, n) {
78206
- let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Ez(e.geometry), a = [];
78562
+ let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Uz(e.geometry), a = [];
78207
78563
  for (let e of i) {
78208
78564
  let t = this._buildPolygon(e, r, n);
78209
78565
  t && a.push(t);
@@ -78212,7 +78568,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78212
78568
  this.add(o), this._regions.push(o), this._regionColors.push(r), this._regionPolygons.push(a);
78213
78569
  }
78214
78570
  _buildPolygon(e, t, n) {
78215
- let r = Pz(e);
78571
+ let r = Zz(e);
78216
78572
  if (r.length < 3) return null;
78217
78573
  let i = new Gv({
78218
78574
  vertices: r.map((e) => {
@@ -78248,15 +78604,15 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
78248
78604
  getColorScale() {
78249
78605
  return this._colorScale;
78250
78606
  }
78251
- }, Nz = Mz;
78252
- function Pz(e) {
78607
+ }, Xz = Yz;
78608
+ function Zz(e) {
78253
78609
  if (e.length < 2) return e;
78254
78610
  let t = e[0], n = e[e.length - 1];
78255
78611
  return t[0] === n[0] && t[1] === n[1] ? e.slice(0, -1) : e;
78256
78612
  }
78257
78613
  //#endregion
78258
78614
  //#region src/mobjects/geo/Globe.ts
78259
- var Fz = Math.PI / 180, Iz = class extends Qh {
78615
+ var Qz = Math.PI / 180, $z = class extends Qh {
78260
78616
  _radius;
78261
78617
  _center;
78262
78618
  _sphere;
@@ -78304,9 +78660,9 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
78304
78660
  return [...this._plottedPoints];
78305
78661
  }
78306
78662
  arc(e, t, n = {}) {
78307
- let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = Lz(e[0], e[1]), l = Lz(t[0], t[1]), u = Bz(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
78663
+ let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = eB(e[0], e[1]), l = eB(t[0], t[1]), u = rB(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
78308
78664
  for (let e = 0; e <= r; e++) {
78309
- let t = Rz(c, l, e / r, d, f);
78665
+ let t = tB(c, l, e / r, d, f);
78310
78666
  p.push([
78311
78667
  this._center[0] + s * t[0],
78312
78668
  this._center[1] + s * t[1],
@@ -78323,8 +78679,8 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
78323
78679
  }
78324
78680
  graticule(e = {}) {
78325
78681
  let { latStep: t = 30, lonStep: n = 30, segments: r = 48, color: i = "#8d99ae", lineWidth: a = 1 } = e, o = new Qh();
78326
- for (let e = -180; e < 180; e += n) o.add(this._gridLine(Vz(e, r), i, a));
78327
- for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(Hz(e, r), i, a));
78682
+ for (let e = -180; e < 180; e += n) o.add(this._gridLine(iB(e, r), i, a));
78683
+ for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(aB(e, r), i, a));
78328
78684
  return this.add(o), o;
78329
78685
  }
78330
78686
  _gridLine(e, t, n) {
@@ -78336,7 +78692,7 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
78336
78692
  });
78337
78693
  }
78338
78694
  _surfacePoint(e, t, n) {
78339
- let r = Lz(e, t);
78695
+ let r = eB(e, t);
78340
78696
  return [
78341
78697
  this._center[0] + n * r[0],
78342
78698
  this._center[1] + n * r[1],
@@ -78344,16 +78700,16 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
78344
78700
  ];
78345
78701
  }
78346
78702
  };
78347
- function Lz(e, t) {
78348
- let n = e * Fz, r = t * Fz, i = Math.cos(n);
78703
+ function eB(e, t) {
78704
+ let n = e * Qz, r = t * Qz, i = Math.cos(n);
78349
78705
  return [
78350
78706
  i * Math.cos(r),
78351
78707
  i * Math.sin(r),
78352
78708
  Math.sin(n)
78353
78709
  ];
78354
78710
  }
78355
- function Rz(e, t, n, r, i) {
78356
- if (i < 1e-9) return zz([
78711
+ function tB(e, t, n, r, i) {
78712
+ if (i < 1e-9) return nB([
78357
78713
  e[0] + (t[0] - e[0]) * n,
78358
78714
  e[1] + (t[1] - e[1]) * n,
78359
78715
  e[2] + (t[2] - e[2]) * n
@@ -78365,7 +78721,7 @@ function Rz(e, t, n, r, i) {
78365
78721
  e[2] * a + t[2] * o
78366
78722
  ];
78367
78723
  }
78368
- function zz(e) {
78724
+ function nB(e) {
78369
78725
  let t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) || 1;
78370
78726
  return [
78371
78727
  e[0] / t,
@@ -78373,44 +78729,44 @@ function zz(e) {
78373
78729
  e[2] / t
78374
78730
  ];
78375
78731
  }
78376
- function Bz(e, t, n) {
78732
+ function rB(e, t, n) {
78377
78733
  return Math.max(t, Math.min(n, e));
78378
78734
  }
78379
- function Vz(e, t) {
78735
+ function iB(e, t) {
78380
78736
  let n = [];
78381
78737
  for (let r = 0; r <= t; r++) n.push([-90 + 180 * r / t, e]);
78382
78738
  return n;
78383
78739
  }
78384
- function Hz(e, t) {
78740
+ function aB(e, t) {
78385
78741
  let n = [];
78386
78742
  for (let r = 0; r <= t; r++) n.push([e, -180 + 360 * r / t]);
78387
78743
  return n;
78388
78744
  }
78389
78745
  //#endregion
78390
78746
  //#region src/mobjects/ml/mlStyles.ts
78391
- var Uz = {
78747
+ var oB = {
78392
78748
  color: be,
78393
78749
  fillColor: be,
78394
78750
  fillOpacity: .3,
78395
78751
  strokeWidth: 2
78396
- }, Wz = {
78752
+ }, sB = {
78397
78753
  color: pe,
78398
78754
  strokeWidth: 1.5,
78399
78755
  opacity: .35
78400
- }, Gz = E;
78401
- function Kz(e, t) {
78756
+ }, cB = E;
78757
+ function lB(e, t) {
78402
78758
  return {
78403
78759
  ...e,
78404
- ...Jz(t)
78760
+ ...dB(t)
78405
78761
  };
78406
78762
  }
78407
- function qz(e, t) {
78763
+ function uB(e, t) {
78408
78764
  return {
78409
78765
  ...e,
78410
- ...Jz(t)
78766
+ ...dB(t)
78411
78767
  };
78412
78768
  }
78413
- function Jz(e) {
78769
+ function dB(e) {
78414
78770
  if (!e) return {};
78415
78771
  let t = {};
78416
78772
  for (let n of Object.keys(e)) e[n] !== void 0 && (t[n] = e[n]);
@@ -78418,7 +78774,7 @@ function Jz(e) {
78418
78774
  }
78419
78775
  //#endregion
78420
78776
  //#region src/mobjects/ml/NeuralNetworkLayer.ts
78421
- var Yz = class extends L {
78777
+ var fB = class extends L {
78422
78778
  _nodes = [];
78423
78779
  normalizeTransform(e = this._ownMatrix()) {
78424
78780
  return this._flattenAsContainer(e);
@@ -78432,14 +78788,14 @@ var Yz = class extends L {
78432
78788
  nodeAnchors() {
78433
78789
  return this._nodes.map((e) => e.getCenter());
78434
78790
  }
78435
- }, Xz = class extends Yz {
78791
+ }, pB = class extends fB {
78436
78792
  _nodeRadius;
78437
78793
  _nodeSpacing;
78438
78794
  _nodeStyle;
78439
78795
  constructor(e = {}) {
78440
78796
  super();
78441
78797
  let t = e.numNodes ?? 3, n = Math.max(0, Math.floor(t));
78442
- this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = Kz(Uz, e.nodeStyle), this._buildNodes(n);
78798
+ this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = lB(oB, e.nodeStyle), this._buildNodes(n);
78443
78799
  }
78444
78800
  _buildNodes(e) {
78445
78801
  if (e === 0) return;
@@ -78468,7 +78824,7 @@ var Yz = class extends L {
78468
78824
  };
78469
78825
  //#endregion
78470
78826
  //#region src/mobjects/ml/featureMapStack.ts
78471
- function Zz(e) {
78827
+ function mB(e) {
78472
78828
  let { numFeatureMaps: t, mapSize: n, offset: r, style: i } = e, a = Math.max(0, Math.floor(t)), o = a > 0 ? (a - 1) * r : 0, s = n + o, c = [];
78473
78829
  for (let e = 0; e < a; e++) {
78474
78830
  let t = -o / 2 + e * r, a = o / 2 - e * r, s = new l_({
@@ -78492,15 +78848,15 @@ function Zz(e) {
78492
78848
  }
78493
78849
  //#endregion
78494
78850
  //#region src/mobjects/ml/ConvolutionalLayer.ts
78495
- var Qz = class extends Yz {
78851
+ var hB = class extends fB {
78496
78852
  _width;
78497
78853
  constructor(e = {}) {
78498
78854
  super();
78499
- let { nodes: t, width: n } = Zz({
78855
+ let { nodes: t, width: n } = mB({
78500
78856
  numFeatureMaps: e.numFeatureMaps ?? 3,
78501
78857
  mapSize: e.mapSize ?? .5,
78502
78858
  offset: e.offset ?? .15,
78503
- style: Kz(Uz, e.nodeStyle)
78859
+ style: lB(oB, e.nodeStyle)
78504
78860
  });
78505
78861
  this._width = n;
78506
78862
  for (let e of t) this._nodes.push(e), this.add(e);
@@ -78508,15 +78864,15 @@ var Qz = class extends Yz {
78508
78864
  layerWidth() {
78509
78865
  return this._width;
78510
78866
  }
78511
- }, $z = class extends Yz {
78867
+ }, gB = class extends fB {
78512
78868
  _width;
78513
78869
  constructor(e = {}) {
78514
78870
  super();
78515
- let { nodes: t, width: n } = Zz({
78871
+ let { nodes: t, width: n } = mB({
78516
78872
  numFeatureMaps: e.numFeatureMaps ?? 3,
78517
78873
  mapSize: e.mapSize ?? .3,
78518
78874
  offset: e.offset ?? .12,
78519
- style: Kz(Uz, e.nodeStyle)
78875
+ style: lB(oB, e.nodeStyle)
78520
78876
  });
78521
78877
  this._width = n;
78522
78878
  for (let e of t) this._nodes.push(e), this.add(e);
@@ -78524,7 +78880,7 @@ var Qz = class extends Yz {
78524
78880
  layerWidth() {
78525
78881
  return this._width;
78526
78882
  }
78527
- }, eB = class extends Yz {
78883
+ }, _B = class extends fB {
78528
78884
  _cols;
78529
78885
  _cellSize;
78530
78886
  _grid;
@@ -78532,7 +78888,7 @@ var Qz = class extends Yz {
78532
78888
  super();
78533
78889
  let t = Math.max(0, Math.floor(e.rows ?? 3));
78534
78890
  this._cols = Math.max(0, Math.floor(e.cols ?? 3)), this._cellSize = e.cellSize ?? .25;
78535
- let n = Kz(Uz, e.nodeStyle);
78891
+ let n = lB(oB, e.nodeStyle);
78536
78892
  this._grid = this._buildGrid(t, this._cols, n), this.add(this._grid), t > 0 && this._cols > 0 && this._nodes.push(this._grid);
78537
78893
  }
78538
78894
  _buildGrid(e, t, n) {
@@ -78557,13 +78913,13 @@ var Qz = class extends Yz {
78557
78913
  layerWidth() {
78558
78914
  return Math.max(this._cols, 1) * this._cellSize;
78559
78915
  }
78560
- }, tB = class extends L {
78916
+ }, vB = class extends L {
78561
78917
  _layers;
78562
78918
  _connections = [];
78563
78919
  _stages = [];
78564
78920
  _edgeStyle;
78565
78921
  constructor(e = [], t = {}) {
78566
- super(), this._layers = [...e], this._edgeStyle = qz(Wz, t.edgeStyle);
78922
+ super(), this._layers = [...e], this._edgeStyle = uB(sB, t.edgeStyle);
78567
78923
  let n = t.layerSpacing ?? 1, r = t.connectAdjacent ?? !0;
78568
78924
  this._placeLayers(n), r && this._buildConnections();
78569
78925
  for (let e of this._connections) this.add(e);
@@ -78610,7 +78966,7 @@ var Qz = class extends Yz {
78610
78966
  getConnectionStages() {
78611
78967
  return this._stages.map((e) => [...e]);
78612
78968
  }
78613
- }, nB = class extends z {
78969
+ }, yB = class extends z {
78614
78970
  activation = 0;
78615
78971
  _activationColor;
78616
78972
  _peakOpacity;
@@ -78621,7 +78977,7 @@ var Qz = class extends Yz {
78621
78977
  super(e, {
78622
78978
  duration: t.duration ?? 1,
78623
78979
  rateFunc: t.rateFunc ?? (t.restore ? Fo : void 0)
78624
- }), this._activationColor = t.activationColor ?? Gz, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
78980
+ }), this._activationColor = t.activationColor ?? cB, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
78625
78981
  }
78626
78982
  begin() {
78627
78983
  super.begin(), this._baseOpacity = this.mobject.opacity, this._baseColor = this.mobject.color, this.activation = 0;
@@ -78637,12 +78993,12 @@ var Qz = class extends Yz {
78637
78993
  this._restore ? (this.mobject.setStrokeOpacity(this._baseOpacity), this.mobject.setColor(this._baseColor), this.activation = 0) : this.activation = 1, this.mobject._markDirty(), super.finish();
78638
78994
  }
78639
78995
  };
78640
- function rB(e, t) {
78641
- return new nB(e, t);
78996
+ function bB(e, t) {
78997
+ return new yB(e, t);
78642
78998
  }
78643
78999
  //#endregion
78644
79000
  //#region src/mobjects/ml/forwardPass.ts
78645
- function iB(e, t, n) {
79001
+ function xB(e, t, n) {
78646
79002
  let r = e.getConnectionStages(), i = t ? [...r].reverse() : r, a = {
78647
79003
  duration: n.gapDuration ?? 1,
78648
79004
  activationColor: n.activationColor,
@@ -78650,13 +79006,13 @@ function iB(e, t, n) {
78650
79006
  restore: n.restore,
78651
79007
  rateFunc: n.rateFunc
78652
79008
  };
78653
- return i.map((e) => new og(e.map((e) => new nB(e, a)), { lagRatio: 0 }));
79009
+ return i.map((e) => new og(e.map((e) => new yB(e, a)), { lagRatio: 0 }));
78654
79010
  }
78655
- function aB(e, t = {}) {
78656
- return new jM(iB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
79011
+ function SB(e, t = {}) {
79012
+ return new jM(xB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
78657
79013
  }
78658
- function oB(e, t = {}) {
78659
- return new jM(iB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
79014
+ function CB(e, t = {}) {
79015
+ return new jM(xB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
78660
79016
  }
78661
79017
  //#endregion
78662
- export { eR as $, ft as $_, ij as $a, iT as $c, Fy as $d, Ev as $f, St as $g, yr as $h, kM as $i, xC as $l, ss as $m, YP as $n, xk as $o, ng as $p, LN as $r, mD as $s, GI as $t, px as $u, az as A, me as A_, Ej as Aa, TE as Ac, _b as Ad, $v as Af, Xt as Ag, zo as Ah, ZM as Ai, aw as Al, Jp as Am, WF as An, dA as Ao, jg as Ap, tP as Ar, zD as As, wL as At, Zx as Au, Te as Av, AR as B, pe as B_, Tj as Ba, PT as Bc, Xy as Bd, Uv as Bf, on as Bg, co as Bh, qM as Bi, FC as Bl, Do as Bm, DF as Bn, Kk as Bo, hg as Bp, WN as Br, vD as Bs, fL as Bt, Rx as Bu, Ez as C, de as C_, Wj as Ca, EE as Cc, Vb as Cd, cy as Cf, _n as Cg, Io as Ch, rN as Ci, _w as Cl, Im as Cm, TI as Cn, AA as Co, l_ as Cp, lP as Cr, mO as Cs, _L as Ct, AS as Cu, Je as Cv, xz as D, _e as D_, Ij as Da, bE as Dc, Ob as Dd, ny as Df, dn as Dg, $o as Dh, eN as Di, uw as Dl, cm as Dm, uI as Dn, SA as Do, Pg as Dp, aP as Dr, sO as Ds, TL as Dt, vS as Du, Se as Dv, Tz as E, ge as E_, Nj as Ea, wE as Ec, Db as Ed, ry as Ef, Sn as Eg, es as Eh, nN as Ei, pw as El, um as Em, dI as En, wA as Eo, a_ as Ep, iP as Er, cO as Es, rL as Et, TS as Eu, De as Ev, ez as F, Be as F_, wj as Fa, XT as Fc, fb as Fd, Yv as Ff, sn as Fg, yo as Fh, zM as Fi, GC as Fl, Os as Fm, VF as Fn, tA as Fo, kg as Fp, ZN as Fr, wD as Fs, cL as Ft, Wx as Fu, Ie as Fv, _R as G, ue as G_, cj as Ga, mT as Gc, Qy as Gd, Bv as Gf, Ft as Gg, Na as Gh, AM as Gi, CC as Gl, jo as Gm, mF as Gn, Bk as Go, mg as Gp, BN as Gr, sD as Gs, DL as Gt, jx as Gu, OR as H, ce as H_, lj as Ha, OT as Hc, qy as Hd, zv as Hf, rn as Hg, I as Hh, PM as Hi, DC as Hl, Po as Hm, TF as Hn, Wk as Ho, _g as Hp, HN as Hr, _D as Hs, lL as Ht, Px as Hu, ZR as I, Ve as I_, Cj as Ia, GT as Ic, ub as Id, Gv as If, cn as Ig, bo as Ih, XM as Ii, UC as Il, Es as Im, HF as In, nA as Io, Dg as Ip, JN as Ir, ED as Is, oL as It, Ux as Iu, Le as Iv, vR as J, ke as J_, fj as Ja, uT as Jc, Ly as Jd, jv as Jf, Ct as Jg, kr as Jh, EM as Ji, NC as Jl, Ts as Jm, sF as Jn, Vk as Jo, dg as Jp, IN as Jr, pD as Js, pL as Jt, Cx as Ju, SR as K, Pe as K_, uj as Ka, dT as Kc, Zy as Kd, Lv as Kf, qt as Kg, La as Kh, SM as Ki, jC as Kl, Eo as Km, uF as Kn, zk as Ko, pg as Kp, PN as Kr, lD as Ks, kL as Kt, Tx as Ku, $R as L, He as L_, xj as La, qT as Lc, mb as Ld, qv as Lf, en as Lg, So as Lh, MM as Li, RC as Ll, z as Lm, PF as Ln, eA as Lo, wg as Lp, YN as Lr, DD as Ls, aL as Lt, Ix as Lu, Re as Lv, uz as M, pt as M_, bj as Ma, oE as Mc, gb as Md, Zv as Mf, tn as Mg, Ko as Mh, GM as Mi, tw as Ml, Kp as Mm, RF as Mn, lA as Mo, Eg as Mp, QN as Mr, FD as Ms, nL as Mt, Jx as Mu, E as Mv, lz as N, A as N_, gj as Na, eE as Nc, pb as Nd, Xv as Nf, Qt as Ng, Jo as Nh, UM as Ni, YC as Nl, Wp as Nm, zF as Nn, uA as No, Tg as Np, $N as Nr, TD as Ns, iL as Nt, qx as Nu, ze as Nv, mz as O, ve as O_, Pj as Oa, xE as Oc, Eb as Od, ty as Of, ln as Og, Qo as Oh, $M as Oi, sw as Ol, lm as Om, oI as On, yA as Oo, Ng as Op, eP as Or, lO as Os, gL as Ot, nS as Ou, Ce as Ov, QR as P, Ge as P_, vj as Pa, $T as Pc, db as Pd, Jv as Pf, Zt as Pg, vo as Ph, FM as Pi, qC as Pl, Hp as Pm, LF as Pn, iA as Po, Cg as Pp, XN as Pr, CD as Ps, AL as Pt, Xx as Pu, Fe as Pv, ZL as Q, k as Q_, nj as Qa, rT as Qc, Iy as Qd, Tv as Qf, Vt as Qg, br as Qh, DM as Qi, bC as Ql, is as Qm, JP as Qn, Ek as Qo, rg as Qp, zN as Qr, fD as Qs, XI as Qt, ux as Qu, NR as R, Ue as R_, _j as Ra, HT as Rc, Uy as Rd, Kv as Rf, $t as Rg, xo as Rh, BM as Ri, LC as Rl, Vo as Rm, NF as Rn, Xk as Ro, Og as Rp, KN as Rr, xD as Rs, bL as Rt, Bx as Ru, M as Rv, kz as S, bt as S_, Uj as Sa, DE as Sc, Yb as Sd, ly as Sf, vn as Sg, Lo as Sh, aN as Si, Tw as Sl, Rm as Sm, wI as Sn, jA as So, m_ as Sp, cP as Sr, uO as Ss, SL as St, FS as Su, qe as Sv, Sz as T, he as T_, Vj as Ta, SE as Tc, kb as Td, sy as Tf, mn as Tg, To as Th, tN as Ti, hw as Tl, sm as Tm, lI as Tn, DA as To, c_ as Tp, sP as Tr, hO as Ts, yL as Tt, wS as Tu, Xe as Tv, DR as U, le as U_, mj as Ua, pT as Uc, $y as Ud, Iv as Uf, nn as Ug, Ua as Uh, WM as Ui, EC as Ul, fs as Um, hF as Un, Uk as Uo, gg as Up, UN as Ur, hD as Us, dL as Ut, Nx as Uu, jR as V, D as V_, sj as Va, NT as Vc, Jy as Vd, Vv as Vf, an as Vg, L as Vh, KM as Vi, AC as Vl, vs as Vm, EF as Vn, Gk as Vo, ug as Vp, GN as Vr, yD as Vs, uL as Vt, Lx as Vu, yR as W, O as W_, dj as Wa, fT as Wc, eb as Wd, Rv as Wf, Et as Wg, Pa as Wh, jM as Wi, PC as Wl, Cs as Wm, pF as Wn, Lk as Wo, lg as Wp, MN as Wr, aD as Ws, EL as Wt, Mx as Wu, xR as X, je as X_, rj as Xa, cT as Xc, zy as Xd, Dv as Xf, Bt as Xg, Tr as Xh, CM as Xi, SC as Xl, R as Xm, ZP as Xn, Ik as Xo, og as Xp, VN as Xr, cD as Xs, ZI as Xt, fx as Xu, gR as Y, Ae as Y_, tj as Ya, sT as Yc, By as Yd, Mv as Yf, xt as Yg, Cr as Yh, OM as Yi, wC as Yl, ms as Ym, lF as Yn, Hk as Yo, cg as Yp, NN as Yr, oD as Ys, YI as Yt, Sx as Yu, bR as Z, Me as Z_, aj as Za, oT as Zc, Py as Zd, Ov as Zf, Ht as Zg, wr as Zh, TM as Zi, yC as Zl, ds as Zm, QP as Zn, Pk as Zo, sg as Zp, FN as Zr, uD as Zs, QI as Zt, dx as Zu, Iz as _, It as __, Qj as _a, UE as _c, Hb as _d, hy as _f, hn as _g, wo as _h, pN as _i, jw as _l, Lh as _m, jI as _n, FA as _o, E_ as _p, vP as _r, FO as _s, IL as _t, HS as _u, at as _v, tB as a, Kt as a_, vM as aa, IE as ac, nx as ad, Dy as af, In as ag, ts as ah, jN as ai, Qw as al, Zh as am, II as an, XA as ao, ev as ap, BP as ar, YO as as, fR as at, pC as au, P as av, jz as b, vt as b_, Kj as ba, ME as bc, Bb as bd, dy as bf, gn as bg, Bo as bh, sN as bi, ww as bl, sh as bm, yI as bn, kA as bo, h_ as bp, pP as br, fO as bs, mL as bt, MS as bu, N as bv, Qz as c, Rt as c_, sM as ca, BE as cc, ix as cd, Sy as cf, Hn as cg, No as ch, SN as ci, Jw as cl, Uh as cm, kI as cn, QA as co, V_ as cp, IP as cr, HO as cs, $L as ct, lC as cu, tt as cv, Yz as d, At as d_, tM as da, qE as dc, zb as dd, _y as df, Bn as dg, Mo as dh, hN as di, Gw as dl, Bh as dm, MI as dn, HA as do, M_ as dp, kP as dr, zO as ds, UL as dt, YS as du, ye as dv, zt as e_, hM as ea, eD as ec, mx as ed, Vy as ef, xr as eg, us as eh, EN as ei, nT as el, tg as em, KI as en, oj as eo, xv as ep, UP as er, yk as es, GL as et, vC as eu, fe as ev, Gz as f, Pt as f_, iM as fa, LE as fc, Ib as fd, by as ff, Mn as fg, Ao as fh, vN as fi, zw as fl, zh as fm, BI as fn, UA as fo, L_ as fp, xP as fr, UO as fs, WL as ft, KS as fu, Ne as fv, Kz as g, Dt as g_, eM as ga, GE as gc, Ub as gd, gy as gf, Cn as gg, Zo as gh, mN as gi, Pw as gl, Mh as gm, NI as gn, LA as go, T_ as gp, _P as gr, IO as gs, LL as gt, VS as gu, it as gv, qz as h, gt as h_, Zj as ha, VE as hc, Jb as hd, my as hf, a as hg, ns as hh, dN as hi, Fw as hl, Ph as hm, zI as hn, IA as ho, O_ as hp, bP as hr, LO as hs, RL as ht, qS as hu, rt as hv, rB as i, Ot as i_, yM as ia, KE as ic, lx as id, jy as if, Nn as ig, cs as ih, AN as ii, Zw as il, Xh as im, DI as in, ZA as io, dv as ip, zP as ir, XO as is, KL as it, mC as iu, Qe as iv, dz as j, xe as j_, Sj as ja, CE as jc, hb as jd, Qv as jf, Yt as jg, Fo as jh, YM as ji, iw as jl, Qp as jm, UF as jn, fA as jo, Ag as jp, rP as jr, BD as js, CL as jt, Yx as ju, Ee as jv, oz as k, j as k_, Lj as ka, yE as kc, Tb as kd, ey as kf, fn as kg, Go as kh, QM as ki, ow as kl, im as km, nI as kn, hA as ko, Mg as kp, nP as kr, qD as ks, ML as kt, $x as ku, we as kv, Zz as l, ht as l_, cM as la, WE as lc, Wb as ld, Cy as lf, Rn as lg, ps as lh, bN as li, qw as ll, Vh as lm, AI as ln, WA as lo, P_ as lp, PP as lr, WO as ls, VL as lt, eC as lu, dt as lv, Uz as m, Gt as m_, $j as ma, YE as mc, Fb as md, yy as mf, zn as mg, ls as mh, fN as mi, Rw as ml, Ih as mm, OI as mn, zA as mo, k_ as mp, yP as mr, VO as ms, BL as mt, JS as mu, ct as mv, aB as n, jt as n_, _M as na, tD as nc, ax as nd, Ay as nf, Sr as ng, ko as nh, kN as ni, eT as nl, $h as nm, WI as nn, qA as no, yv as np, LP as nr, dk as ns, tR as nt, gC as nu, mt as nv, eB as o, kt as o_, xM as oa, RE as oc, rx as od, Ey as of, Fn as og, Oo as oh, xN as oi, Xw as ol, Yh as om, LI as on, JA as oo, Q_ as op, RP as or, qO as os, dR as ot, dC as ou, $e as ov, Wz as p, Wt as p_, nM as pa, zE as pc, Lb as pd, vy as pf, Pn as pg, os as ph, _N as pi, Ww as pl, Wh as pm, FI as pn, RA as po, j_ as pp, wP as pr, BO as ps, zL as pt, WS as pu, Ze as pv, hR as q, Oe as q_, hj as qa, lT as qc, Ry as qd, Fv as qf, wt as qg, Bi as qh, wM as qi, TC as ql, bs as qm, dF as qn, Rk as qo, fg as qp, RN as qr, dD as qs, jL as qt, wx as qu, nB as r, Lt as r_, gM as ra, rD as rc, cx as rd, ky as rf, vr as rg, as as rh, ON as ri, $w as rl, Qh as rm, EI as rn, $A as ro, mv as rp, VP as rr, ek as rs, JL as rt, fC as ru, nt as rv, $z as s, Tt as s_, bM as sa, JE as sc, ox as sd, Ty as sf, Ln as sg, ys as sh, yN as si, Yw as sl, Gh as sm, VI as sn, ej as so, H_ as sp, NP as sr, GO as ss, QL as st, uC as su, et as sv, oB as t, _t as t_, mM as ta, nD as tc, tx as td, Oy as tf, _r as tg, rs as th, DN as ti, tT as tl, eg as tm, JI as tn, YA as to, gv as tp, WP as tr, vk as ts, qL as tt, hC as tu, ut as tv, Xz as u, Ut as u_, rM as ua, HE as uc, Rb as ud, xy as uf, Vn as ug, ws as uh, gN as ui, Kw as ul, Hh as um, RI as un, GA as uo, R_ as up, DP as ur, RO as us, HL as ut, tC as uu, lt as uv, Mz as v, Mt as v_, Jj as va, AE as vc, qb as vd, py as vf, wn as vg, Xo as vh, cN as vi, kw as vl, Fh as vm, PI as vn, PA as vo, D_ as vp, hP as vr, TO as vs, sL as vt, RS as vu, ot as vv, bz as w, be as w_, Bj as wa, kE as wc, Ab as wd, iy as wf, xn as wg, Wo as wh, iN as wi, yw as wl, hm as wm, fI as wn, EA as wo, u_ as wp, oP as wr, pO as ws, xL as wt, ES as wu, Ye as wv, Oz as x, yt as x_, qj as xa, OE as xc, Pb as xd, uy as xf, bn as xg, qo as xh, oN as xi, Ew as xl, Hm as xm, bI as xn, OA as xo, p_ as xp, mP as xr, dO as xs, OL as xt, NS as xu, Ke as xv, Nz as y, Nt as y_, Yj as ya, jE as yc, Kb as yd, fy as yf, yn as yg, Yo as yh, lN as yi, Dw as yl, Nh as ym, xI as yn, NA as yo, x_ as yp, gP as yr, EO as ys, hL as yt, LS as yu, st as yv, MR as z, We as z_, yj as za, BT as zc, Yy as zd, Wv as zf, Jt as zg, Co as zh, HM as zi, IC as zl, Ro as zm, IF as zn, qk as zo, vg as zp, qN as zr, bD as zs, vL as zt, zx as zu };
79018
+ export { _R as $, O as $_, dj as $a, fT as $c, eb as $d, Rv as $f, Et as $g, Pa as $h, jM as $i, PC as $l, Cs as $m, fF as $n, Lk as $o, lg as $p, MN as $r, aD as $s, cL as $t, Mx as $u, Sz as A, yt as A_, qj as Aa, OE as Ac, Pb as Ad, uy as Af, bn as Ag, qo as Ah, oN as Ai, Ew as Al, Hm as Am, sI as An, OA as Ao, p_ as Ap, mP as Ar, dO as As, VL as At, NS as Au, Ke as Av, qR as B, xe as B_, Sj as Ba, CE as Bc, hb as Bd, Qv as Bf, Yt as Bg, Fo as Bh, YM as Bi, iw as Bl, Qp as Bm, WF as Bn, fA as Bo, Ag as Bp, rP as Br, BD as Bs, kL as Bt, Yx as Bu, Ee as Bv, Uz as C, Gt as C_, $j as Ca, YE as Cc, Fb as Cd, yy as Cf, zn as Cg, ls as Ch, fN as Ci, Rw as Cl, Ih as Cm, HI as Cn, zA as Co, k_ as Cp, yP as Cr, VO as Cs, PL as Ct, JS as Cu, ct as Cv, Rz as D, Mt as D_, Jj as Da, AE as Dc, qb as Dd, py as Df, wn as Dg, Xo as Dh, cN as Di, kw as Dl, Fh as Dm, DI as Dn, PA as Do, D_ as Dp, hP as Dr, TO as Ds, HL as Dt, RS as Du, ot as Dv, Hz as E, It as E_, Qj as Ea, UE as Ec, Hb as Ed, hy as Ef, hn as Eg, wo as Eh, pN as Ei, jw as El, Lh as Em, OI as En, FA as Eo, E_ as Ep, vP as Er, FO as Es, bL as Et, HS as Eu, at as Ev, _z as F, ge as F_, Nj as Fa, wE as Fc, Db as Fd, ry as Ff, Sn as Fg, es as Fh, nN as Fi, pw as Fl, um as Fm, iI as Fn, wA as Fo, a_ as Fp, iP as Fr, cO as Fs, TL as Ft, TS as Fu, De as Fv, PR as G, Ve as G_, Cj as Ga, GT as Gc, ub as Gd, Gv as Gf, cn as Gg, bo as Gh, XM as Gi, UC as Gl, Es as Gm, jF as Gn, nA as Go, Dg as Gp, JN as Gr, ED as Gs, WL as Gt, Ux as Gu, Le as Gv, GR as H, A as H_, gj as Ha, eE as Hc, pb as Hd, Xv as Hf, Qt as Hg, Jo as Hh, UM as Hi, YC as Hl, Wp as Hm, HF as Hn, uA as Ho, Tg as Hp, $N as Hr, TD as Hs, EL as Ht, qx as Hu, ze as Hv, mz as I, _e as I_, Ij as Ia, bE as Ic, Ob as Id, ny as If, dn as Ig, $o as Ih, eN as Ii, uw as Il, cm as Im, aI as In, SA as Io, Pg as Ip, aP as Ir, sO as Is, CL as It, vS as Iu, Se as Iv, FR as J, We as J_, yj as Ja, BT as Jc, Yy as Jd, Wv as Jf, Jt as Jg, Co as Jh, HM as Ji, IC as Jl, Ro as Jm, wF as Jn, qk as Jo, vg as Jp, qN as Jr, bD as Js, AL as Jt, zx as Ju, zR as K, He as K_, xj as Ka, qT as Kc, mb as Kd, qv as Kf, en as Kg, So as Kh, MM as Ki, RC as Kl, z as Km, DF as Kn, eA as Ko, wg as Kp, YN as Kr, DD as Ks, KL as Kt, Ix as Ku, Re as Kv, gz as L, ve as L_, Pj as La, xE as Lc, Eb as Ld, ty as Lf, ln as Lg, Qo as Lh, $M as Li, sw as Ll, lm as Lm, ZF as Ln, yA as Lo, Ng as Lp, eP as Lr, lO as Ls, SL as Lt, nS as Lu, Ce as Lv, Dz as M, de as M_, Wj as Ma, EE as Mc, Vb as Md, cy as Mf, _n as Mg, Io as Mh, rN as Mi, _w as Ml, Im as Mm, tI as Mn, AA as Mo, l_ as Mp, lP as Mr, mO as Ms, yL as Mt, AS as Mu, Je as Mv, Ez as N, be as N_, Bj as Na, kE as Nc, Ab as Nd, iy as Nf, xn as Ng, Wo as Nh, iN as Ni, yw as Nl, hm as Nm, nI as Nn, EA as No, u_ as Np, oP as Nr, pO as Ns, xL as Nt, ES as Nu, Ye as Nv, jz as O, Nt as O_, Yj as Oa, jE as Oc, Kb as Od, fy as Of, yn as Og, Yo as Oh, lN as Oi, Dw as Ol, Nh as Om, CI as On, NA as Oo, x_ as Op, gP as Or, EO as Os, NL as Ot, LS as Ou, st as Ov, hz as P, he as P_, Vj as Pa, SE as Pc, kb as Pd, sy as Pf, mn as Pg, To as Ph, tN as Pi, hw as Pl, sm as Pm, eI as Pn, DA as Po, c_ as Pp, sP as Pr, hO as Ps, qL as Pt, wS as Pu, Xe as Pv, mR as Q, le as Q_, mj as Qa, pT as Qc, $y as Qd, Iv as Qf, nn as Qg, Ua as Qh, WM as Qi, EC as Ql, fs as Qm, dF as Qn, Uk as Qo, gg as Qp, UN as Qr, hD as Qs, pL as Qt, Nx as Qu, XR as R, j as R_, Lj as Ra, yE as Rc, Tb as Rd, ey as Rf, fn as Rg, Go as Rh, QM as Ri, ow as Rl, im as Rm, XF as Rn, hA as Ro, Mg as Rp, nP as Rr, qD as Rs, LL as Rt, $x as Ru, we as Rv, Kz as S, Wt as S_, nM as Sa, zE as Sc, Lb as Sd, vy as Sf, Pn as Sg, os as Sh, _N as Si, Ww as Sl, Wh as Sm, VI as Sn, RA as So, j_ as Sp, wP as Sr, BO as Ss, zL as St, WS as Su, Ze as Sv, zz as T, Dt as T_, eM as Ta, GE as Tc, Ub as Td, gy as Tf, Cn as Tg, Zo as Th, mN as Ti, Pw as Tl, Mh as Tm, EI as Tn, LA as To, T_ as Tp, _P as Tr, IO as Ts, IL as Tt, VS as Tu, it as Tv, WR as U, Ge as U_, vj as Ua, $T as Uc, db as Ud, Jv as Uf, Zt as Ug, vo as Uh, FM as Ui, qC as Ul, Hp as Um, MF as Un, iA as Uo, Cg as Up, XN as Ur, CD as Us, OL as Ut, Xx as Uu, Fe as Uv, JR as V, pt as V_, bj as Va, oE as Vc, gb as Vd, Zv as Vf, tn as Vg, Ko as Vh, GM as Vi, tw as Vl, Kp as Vm, UF as Vn, lA as Vo, Eg as Vp, QN as Vr, FD as Vs, DL as Vt, Jx as Vu, E as Vv, IR as W, Be as W_, wj as Wa, XT as Wc, fb as Wd, Yv as Wf, sn as Wg, yo as Wh, zM as Wi, GC as Wl, Os as Wm, AF as Wn, tA as Wo, kg as Wp, ZN as Wr, wD as Ws, UL as Wt, Wx as Wu, Ie as Wv, RR as X, D as X_, sj as Xa, NT as Xc, Jy as Xd, Vv as Xf, an as Xg, L as Xh, KM as Xi, AC as Xl, vs as Xm, mF as Xn, Gk as Xo, ug as Xp, GN as Xr, yD as Xs, mL as Xt, Lx as Xu, NR as Y, pe as Y_, Tj as Ya, PT as Yc, Xy as Yd, Uv as Yf, on as Yg, co as Yh, qM as Yi, FC as Yl, Do as Ym, EF as Yn, Kk as Yo, hg as Yp, WN as Yr, vD as Ys, fL as Yt, Rx as Yu, LR as Z, ce as Z_, lj as Za, OT as Zc, qy as Zd, zv as Zf, rn as Zg, I as Zh, PM as Zi, DC as Zl, Po as Zm, hF as Zn, Wk as Zo, _g as Zp, HN as Zr, _D as Zs, hL as Zt, Px as Zu, $z as _, Rt as __, sM as _a, BE as _c, ix as _d, Sy as _f, Hn as _g, No as _h, SN as _i, Jw as _l, Uh as _m, JI as _n, QA as _o, V_ as _p, IP as _r, HO as _s, $L as _t, lC as _u, tt as _v, vB as a, Bt as a_, CM as aa, cD as ac, fx as ad, zy as af, Tr as ag, R as ah, VN as ai, cT as al, og as am, $I as an, rj as ao, Dv as ap, tF as ar, Ik as as, kR as at, SC as au, je as av, Jz as b, At as b_, tM as ba, qE as bc, zb as bd, _y as bf, Bn as bg, Mo as bh, hN as bi, Gw as bl, Bh as bm, II as bn, HA as bo, M_ as bp, kP as br, zO as bs, jL as bt, YS as bu, ye as bv, hB as c, St as c_, kM as ca, mD as cc, px as cd, Fy as cf, yr as cg, ss as ch, LN as ci, iT as cl, ng as cm, KI as cn, ij as co, Ev as cp, KP as cr, xk as cs, gR as ct, xC as cu, ft as cv, fB as d, jt as d_, _M as da, tD as dc, ax as dd, Ay as df, Sr as dg, ko as dh, kN as di, eT as dl, $h as dm, YI as dn, qA as do, yv as dp, LP as dr, dk as ds, oR as dt, gC as du, mt as dv, Ft as e_, AM as ea, sD as ec, jx as ed, Qy as ef, Na as eg, jo as eh, BN as ei, mT as el, mg as em, lL as en, cj as eo, Bv as ep, oF as er, Bk as es, cR as et, CC as eu, ue as ev, cB as f, Lt as f_, gM as fa, rD as fc, cx as fd, ky as ff, vr as fg, as as fh, ON as fi, $w as fl, Qh as fm, rL as fn, $A as fo, mv as fp, VP as fr, ek as fs, sR as ft, fC as fu, nt as fv, lB as g, Tt as g_, bM as ga, JE as gc, ox as gd, Ty as gf, Ln as gg, ys as gh, yN as gi, Yw as gl, Gh as gm, XI as gn, ej as go, H_ as gp, NP as gr, GO as gs, eR as gt, uC as gu, et as gv, uB as h, kt as h_, xM as ha, RE as hc, rx as hd, Ey as hf, Fn as hg, Oo as hh, xN as hi, Xw as hl, Yh as hm, nL as hn, JA as ho, Q_ as hp, RP as hr, qO as hs, tR as ht, dC as hu, $e as hv, bB as i, xt as i_, OM as ia, oD as ic, Sx as id, By as if, Cr as ig, ms as ih, NN as ii, sT as il, cg as im, WI as in, tj as io, Mv as ip, JP as ir, Hk as is, lR as it, wC as iu, Ae as iv, Oz as j, bt as j_, Uj as ja, DE as jc, Yb as jd, ly as jf, vn as jg, Lo as jh, aN as ji, Tw as jl, Rm as jm, oI as jn, jA as jo, m_ as jp, cP as jr, uO as js, BL as jt, FS as ju, qe as jv, Cz as k, vt as k_, Kj as ka, ME as kc, Bb as kd, dy as kf, gn as kg, Bo as kh, sN as ki, ww as kl, sh as km, yI as kn, kA as ko, h_ as kp, pP as kr, fO as ks, YL as kt, MS as ku, N as kv, mB as l, zt as l_, hM as la, eD as lc, mx as ld, Vy as lf, xr as lg, us as lh, EN as li, nT as ll, tg as lm, qI as ln, oj as lo, xv as lp, qP as lr, yk as ls, iR as lt, vC as lu, fe as lv, oB as m, Kt as m_, vM as ma, IE as mc, nx as md, Dy as mf, In as mg, ts as mh, jN as mi, Qw as ml, Zh as mm, GI as mn, XA as mo, ev as mp, BP as mr, YO as ms, rR as mt, pC as mu, P as mv, SB as n, wt as n_, wM as na, dD as nc, wx as nd, Ry as nf, Bi as ng, bs as nh, RN as ni, lT as nl, fg as nm, sL as nn, hj as no, Fv as np, nF as nr, Rk as ns, vR as nt, TC as nu, Oe as nv, _B as o, Ht as o_, TM as oa, uD as oc, dx as od, Py as of, wr as og, ds as oh, FN as oi, oT as ol, sg as om, eL as on, aj as oo, Ov as op, iF as or, Pk as os, OR as ot, yC as ou, Me as ov, sB as p, Ot as p_, yM as pa, KE as pc, lx as pd, jy as pf, Nn as pg, cs as ph, AN as pi, Zw as pl, Xh as pm, QI as pn, ZA as po, dv as pp, zP as pr, XO as ps, nR as pt, mC as pu, Qe as pv, MR as q, Ue as q_, _j as qa, HT as qc, Uy as qd, Kv as qf, $t as qg, xo as qh, BM as qi, LC as ql, Vo as qm, OF as qn, Xk as qo, Og as qp, KN as qr, xD as qs, JL as qt, Bx as qu, M as qv, yB as r, Ct as r_, EM as ra, pD as rc, Cx as rd, Ly as rf, kr as rg, Ts as rh, IN as ri, uT as rl, dg as rm, UI as rn, fj as ro, jv as rp, YP as rr, Vk as rs, dR as rt, NC as ru, ke as rv, gB as s, Vt as s_, DM as sa, fD as sc, ux as sd, Iy as sf, br as sg, is as sh, zN as si, rT as sl, rg as sm, iL as sn, nj as so, Tv as sp, QP as sr, Ek as ss, hR as st, bC as su, k as sv, CB as t, qt as t_, SM as ta, lD as tc, Tx as td, Zy as tf, La as tg, Eo as th, PN as ti, dT as tl, pg as tm, dL as tn, uj as to, Lv as tp, sF as tr, zk as ts, uR as tt, jC as tu, Pe as tv, pB as u, _t as u_, mM as ua, nD as uc, tx as ud, Oy as uf, _r as ug, rs as uh, DN as ui, tT as ul, eg as um, tL as un, YA as uo, gv as up, UP as ur, vk as us, aR as ut, hC as uu, ut as uv, Yz as v, ht as v_, cM as va, WE as vc, Wb as vd, Cy as vf, Rn as vg, ps as vh, bN as vi, qw as vl, Vh as vm, ZI as vn, WA as vo, P_ as vp, PP as vr, WO as vs, wL as vt, eC as vu, dt as vv, Lz as w, gt as w_, Zj as wa, VE as wc, Jb as wd, my as wf, a as wg, ns as wh, dN as wi, Fw as wl, Ph as wm, kI as wn, IA as wo, O_ as wp, bP as wr, LO as ws, RL as wt, qS as wu, rt as wv, Gz as x, Pt as x_, iM as xa, LE as xc, Ib as xd, by as xf, Mn as xg, Ao as xh, vN as xi, zw as xl, zh as xm, LI as xn, UA as xo, L_ as xp, xP as xr, UO as xs, GL as xt, KS as xu, Ne as xv, Xz as y, Ut as y_, rM as ya, HE as yc, Rb as yd, xy as yf, Vn as yg, ws as yh, gN as yi, Kw as yl, Hh as ym, RI as yn, GA as yo, R_ as yp, DP as yr, RO as ys, ML as yt, tC as yu, lt as yv, YR as z, me as z_, Ej as za, TE as zc, _b as zd, $v as zf, Xt as zg, zo as zh, ZM as zi, aw as zl, Jp as zm, $F as zn, dA as zo, jg as zp, tP as zr, zD as zs, FL as zt, Zx as zu, Te as zv };