in key message");
- return mp(atob(c));
- }
- setupLicenseXHR(e, n, i, r) {
- const s = this.config.licenseXhrSetup;
- return s
- ? Promise.resolve()
- .then(() => {
- if (!i.decryptdata) throw new Error("Key removed");
- return s.call(this.hls, e, n, i, r);
- })
- .catch((o) => {
- if (!i.decryptdata) throw o;
- return (e.open("POST", n, !0), s.call(this.hls, e, n, i, r));
- })
- .then(
- (o) => (
- e.readyState || e.open("POST", n, !0),
- { xhr: e, licenseChallenge: o || r }
- ),
- )
- : (e.open("POST", n, !0),
- Promise.resolve({ xhr: e, licenseChallenge: r }));
- }
- requestLicense(e, n) {
- const i = this.config.keyLoadPolicy.default;
- return new Promise((r, s) => {
- const o = this.getLicenseServerUrlOrThrow(e.keySystem);
- this.log(`Sending license request to URL: ${o}`);
- const a = new XMLHttpRequest();
- ((a.responseType = "arraybuffer"),
- (a.onreadystatechange = () => {
- if (!this.hls || !e.mediaKeysSession)
- return s(new Error("invalid state"));
- if (a.readyState === 4)
- if (a.status === 200) {
- this._requestLicenseFailureCount = 0;
- let u = a.response;
- this.log(
- `License received ${u instanceof ArrayBuffer ? u.byteLength : u}`,
- );
- const c = this.config.licenseResponseCallback;
- if (c)
- try {
- u = c.call(this.hls, a, o, e);
- } catch (b) {
- this.error(b);
- }
- r(u);
- } else {
- const u = i.errorRetry,
- c = u ? u.maxNumRetry : 0;
- if (
- (this._requestLicenseFailureCount++,
- this._requestLicenseFailureCount > c ||
- (a.status >= 400 && a.status < 500))
- )
- s(
- new Se(
- {
- type: h0.KEY_SYSTEM_ERROR,
- details: $.KEY_SYSTEM_LICENSE_REQUEST_FAILED,
- decryptdata: e.decryptdata,
- fatal: !0,
- networkDetails: a,
- response: {
- url: o,
- data: void 0,
- code: a.status,
- text: a.statusText,
- },
- },
- `License Request XHR failed (${o}). Status: ${a.status} (${a.statusText})`,
- ),
- );
- else {
- const b = c - this._requestLicenseFailureCount + 1;
- (this.warn(`Retrying license request, ${b} attempts left`),
- this.requestLicense(e, n).then(r, s));
- }
- }
- }),
- e.licenseXhr &&
- e.licenseXhr.readyState !== XMLHttpRequest.DONE &&
- e.licenseXhr.abort(),
- (e.licenseXhr = a),
- this.setupLicenseXHR(a, o, e, n)
- .then(({ xhr: u, licenseChallenge: c }) => {
- (e.keySystem == n1.PLAYREADY &&
- (c = this.unpackPlayReadyKeyMessage(u, c)),
- u.send(c));
- })
- .catch(s));
- });
- }
- onDestroying() {
- (this.unregisterListeners(), this._clear());
- }
- onMediaAttached(e, n) {
- if (!this.config.emeEnabled) return;
- const i = n.media;
- ((this.media = i),
- I1(i, "encrypted", this.onMediaEncrypted),
- I1(i, "waitingforkey", this.onWaitingForKey));
- }
- onMediaDetached() {
- const e = this.media;
- e &&
- (G1(e, "encrypted", this.onMediaEncrypted),
- G1(e, "waitingforkey", this.onWaitingForKey),
- (this.media = null),
- (this.mediaKeys = null));
- }
- _clear() {
- var e;
- if (
- ((this._requestLicenseFailureCount = 0),
- (this.keyIdToKeySessionPromise = {}),
- (this.bannedKeyIds = {}),
- !this.mediaKeys && !this.mediaKeySessions.length)
- )
- return;
- const n = this.media,
- i = this.mediaKeySessions.slice();
- ((this.mediaKeySessions = []),
- (this.mediaKeys = null),
- l2.clearKeyUriToKeyIdMap());
- const r = i.length;
- Zi.CDMCleanupPromise = Promise.all(
- i
- .map((s) => this.removeSession(s))
- .concat(
- n == null || (e = n.setMediaKeys(null)) == null
- ? void 0
- : e.catch((s) => {
- (this.log(`Could not clear media keys: ${s}`),
- this.hls &&
- this.hls.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,
- fatal: !1,
- error: new Error(`Could not clear media keys: ${s}`),
- }));
- }),
- ),
- )
- .catch((s) => {
- (this.log(`Could not close sessions and clear media keys: ${s}`),
- this.hls &&
- this.hls.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,
- fatal: !1,
- error: new Error(
- `Could not close sessions and clear media keys: ${s}`,
- ),
- }));
- })
- .then(() => {
- r && this.log("finished closing key sessions and clearing media keys");
- });
- }
- onManifestLoading() {
- ((this.keyFormatPromise = null), (this.bannedKeyIds = {}));
- }
- onManifestLoaded(e, { sessionKeys: n }) {
- if (!(!n || !this.config.emeEnabled) && !this.keyFormatPromise) {
- const i = n.reduce(
- (r, s) => (r.indexOf(s.keyFormat) === -1 && r.push(s.keyFormat), r),
- [],
- );
- (this.log(`Selecting key-system from session-keys ${i.join(", ")}`),
- (this.keyFormatPromise = this.getKeyFormatPromise(i)));
- }
- }
- removeSession(e) {
- const { mediaKeysSession: n, licenseXhr: i, decryptdata: r } = e;
- if (n) {
- (this.log(
- `Remove licenses and keys and close session "${n.sessionId}" keyId: ${P1(r?.keyId || [])}`,
- ),
- e._onmessage &&
- (n.removeEventListener("message", e._onmessage),
- (e._onmessage = void 0)),
- e._onkeystatuseschange &&
- (n.removeEventListener("keystatuseschange", e._onkeystatuseschange),
- (e._onkeystatuseschange = void 0)),
- i && i.readyState !== XMLHttpRequest.DONE && i.abort(),
- (e.mediaKeysSession = e.decryptdata = e.licenseXhr = void 0));
- const s = this.mediaKeySessions.indexOf(e);
- s > -1 && this.mediaKeySessions.splice(s, 1);
- const { drmSystemOptions: o } = this.config;
- return (
- FB(o)
- ? new Promise((u, c) => {
- (self.setTimeout(
- () => c(new Error("MediaKeySession.remove() timeout")),
- 8e3,
- ),
- n.remove().then(u).catch(c));
- })
- : Promise.resolve()
- )
- .catch((u) => {
- (this.log(`Could not remove session: ${u}`),
- this.hls &&
- this.hls.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,
- fatal: !1,
- error: new Error(`Could not remove session: ${u}`),
- }));
- })
- .then(() => n.close())
- .catch((u) => {
- (this.log(`Could not close session: ${u}`),
- this.hls &&
- this.hls.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,
- fatal: !1,
- error: new Error(`Could not close session: ${u}`),
- }));
- });
- }
- }
-}
-Zi.CDMCleanupPromise = void 0;
-class Se extends Error {
- constructor(e, n) {
- (super(n),
- (this.data = void 0),
- e.error || (e.error = new Error(n)),
- (this.data = e),
- (e.err = e.error));
- }
-}
-function P3(t, e) {
- const n = t === "output-restricted",
- i = n
- ? $.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED
- : $.KEY_SYSTEM_STATUS_INTERNAL_ERROR;
- return new Se(
- { type: h0.KEY_SYSTEM_ERROR, details: i, fatal: !1, decryptdata: e },
- n ? "HDCP level output restricted" : `key status changed to "${t}"`,
- );
-}
-class aD {
- constructor(e) {
- ((this.hls = void 0),
- (this.isVideoPlaybackQualityAvailable = !1),
- (this.timer = void 0),
- (this.media = null),
- (this.lastTime = void 0),
- (this.lastDroppedFrames = 0),
- (this.lastDecodedFrames = 0),
- (this.streamController = void 0),
- (this.hls = e),
- this.registerListeners());
- }
- setStreamController(e) {
- this.streamController = e;
- }
- registerListeners() {
- (this.hls.on(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- this.hls.on(L.MEDIA_DETACHING, this.onMediaDetaching, this));
- }
- unregisterListeners() {
- (this.hls.off(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- this.hls.off(L.MEDIA_DETACHING, this.onMediaDetaching, this));
- }
- destroy() {
- (this.timer && clearInterval(this.timer),
- this.unregisterListeners(),
- (this.isVideoPlaybackQualityAvailable = !1),
- (this.media = null));
- }
- onMediaAttaching(e, n) {
- const i = this.hls.config;
- if (i.capLevelOnFPSDrop) {
- const r = n.media instanceof self.HTMLVideoElement ? n.media : null;
- ((this.media = r),
- r &&
- typeof r.getVideoPlaybackQuality == "function" &&
- (this.isVideoPlaybackQualityAvailable = !0),
- self.clearInterval(this.timer),
- (this.timer = self.setInterval(
- this.checkFPSInterval.bind(this),
- i.fpsDroppedMonitoringPeriod,
- )));
- }
- }
- onMediaDetaching() {
- this.media = null;
- }
- checkFPS(e, n, i) {
- const r = performance.now();
- if (n) {
- if (this.lastTime) {
- const s = r - this.lastTime,
- o = i - this.lastDroppedFrames,
- a = n - this.lastDecodedFrames,
- u = (1e3 * o) / s,
- c = this.hls;
- if (
- (c.trigger(L.FPS_DROP, {
- currentDropped: o,
- currentDecoded: a,
- totalDroppedFrames: i,
- }),
- u > 0 && o > c.config.fpsDroppedMonitoringThreshold * a)
- ) {
- let b = c.currentLevel;
- (c.logger.warn(
- "drop FPS ratio greater than max allowed value for currentLevel: " +
- b,
- ),
- b > 0 &&
- (c.autoLevelCapping === -1 || c.autoLevelCapping >= b) &&
- ((b = b - 1),
- c.trigger(L.FPS_DROP_LEVEL_CAPPING, {
- level: b,
- droppedLevel: c.currentLevel,
- }),
- (c.autoLevelCapping = b),
- this.streamController.nextLevelSwitch()));
- }
- }
- ((this.lastTime = r),
- (this.lastDroppedFrames = i),
- (this.lastDecodedFrames = n));
- }
- }
- checkFPSInterval() {
- const e = this.media;
- if (e)
- if (this.isVideoPlaybackQualityAvailable) {
- const n = e.getVideoPlaybackQuality();
- this.checkFPS(e, n.totalVideoFrames, n.droppedVideoFrames);
- } else
- this.checkFPS(e, e.webkitDecodedFrameCount, e.webkitDroppedFrameCount);
- }
-}
-function n6(t, e) {
- let n;
- try {
- n = new Event("addtrack");
- } catch {
- ((n = document.createEvent("Event")), n.initEvent("addtrack", !1, !1));
- }
- ((n.track = t), e.dispatchEvent(n));
-}
-function i6(t, e) {
- const n = t.mode;
- if (
- (n === "disabled" && (t.mode = "hidden"),
- t.cues && !t.cues.getCueById(e.id))
- )
- try {
- if ((t.addCue(e), !t.cues.getCueById(e.id)))
- throw new Error(`addCue is failed for: ${e}`);
- } catch (i) {
- U0.debug(`[texttrack-utils]: ${i}`);
- try {
- const r = new self.TextTrackCue(e.startTime, e.endTime, e.text);
- ((r.id = e.id), t.addCue(r));
- } catch (r) {
- U0.debug(
- `[texttrack-utils]: Legacy TextTrackCue fallback failed: ${r}`,
- );
- }
- }
- n === "disabled" && (t.mode = n);
-}
-function Ci(t, e) {
- const n = t.mode;
- if ((n === "disabled" && (t.mode = "hidden"), t.cues))
- for (let i = t.cues.length; i--; )
- (e && t.cues[i].removeEventListener("enter", e), t.removeCue(t.cues[i]));
- n === "disabled" && (t.mode = n);
-}
-function xp(t, e, n, i) {
- const r = t.mode;
- if ((r === "disabled" && (t.mode = "hidden"), t.cues && t.cues.length > 0)) {
- const s = uD(t.cues, e, n);
- for (let o = 0; o < s.length; o++) (!i || i(s[o])) && t.removeCue(s[o]);
- }
- r === "disabled" && (t.mode = r);
-}
-function cD(t, e) {
- if (e <= t[0].startTime) return 0;
- const n = t.length - 1;
- if (e > t[n].endTime) return -1;
- let i = 0,
- r = n,
- s;
- for (; i <= r; )
- if (((s = Math.floor((r + i) / 2)), e < t[s].startTime)) r = s - 1;
- else if (e > t[s].startTime && i < n) i = s + 1;
- else return s;
- return t[i].startTime - e < e - t[r].startTime ? i : r;
-}
-function uD(t, e, n) {
- const i = [],
- r = cD(t, e);
- if (r > -1)
- for (let s = r, o = t.length; s < o; s++) {
- const a = t[s];
- if (a.startTime >= e && a.endTime <= n) i.push(a);
- else if (a.startTime > n) return i;
- }
- return i;
-}
-function Wa(t) {
- const e = [];
- for (let n = 0; n < t.length; n++) {
- const i = t[n];
- (i.kind === "subtitles" || i.kind === "captions") &&
- i.label &&
- e.push(t[n]);
- }
- return e;
-}
-class bD extends SM {
- constructor(e) {
- (super(e, "subtitle-track-controller"),
- (this.media = null),
- (this.tracks = []),
- (this.groupIds = null),
- (this.tracksInGroup = []),
- (this.trackId = -1),
- (this.currentTrack = null),
- (this.selectDefaultTrack = !0),
- (this.queuedDefaultTrack = -1),
- (this.useTextTrackPolling = !1),
- (this.subtitlePollingInterval = -1),
- (this._subtitleDisplay = !0),
- (this.asyncPollTrackChange = () => this.pollTrackChange(0)),
- (this.onTextTracksChanged = () => {
- if (
- (this.useTextTrackPolling ||
- self.clearInterval(this.subtitlePollingInterval),
- !this.media || !this.hls.config.renderTextTracksNatively)
- )
- return;
- let n = null;
- const i = Wa(this.media.textTracks);
- for (let s = 0; s < i.length; s++)
- if (i[s].mode === "hidden") n = i[s];
- else if (i[s].mode === "showing") {
- n = i[s];
- break;
- }
- const r = this.findTrackForTextTrack(n);
- this.subtitleTrack !== r && this.setSubtitleTrack(r);
- }),
- this.registerListeners());
- }
- destroy() {
- (this.unregisterListeners(),
- (this.tracks.length = 0),
- (this.tracksInGroup.length = 0),
- (this.currentTrack = null),
- (this.onTextTracksChanged = this.asyncPollTrackChange = null),
- super.destroy());
- }
- get subtitleDisplay() {
- return this._subtitleDisplay;
- }
- set subtitleDisplay(e) {
- ((this._subtitleDisplay = e), this.trackId > -1 && this.toggleTrackModes());
- }
- registerListeners() {
- const { hls: e } = this;
- (e.on(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.MANIFEST_PARSED, this.onManifestParsed, this),
- e.on(L.LEVEL_LOADING, this.onLevelLoading, this),
- e.on(L.LEVEL_SWITCHING, this.onLevelSwitching, this),
- e.on(L.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this),
- e.on(L.ERROR, this.onError, this));
- }
- unregisterListeners() {
- const { hls: e } = this;
- (e.off(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.MANIFEST_PARSED, this.onManifestParsed, this),
- e.off(L.LEVEL_LOADING, this.onLevelLoading, this),
- e.off(L.LEVEL_SWITCHING, this.onLevelSwitching, this),
- e.off(L.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this),
- e.off(L.ERROR, this.onError, this));
- }
- onMediaAttached(e, n) {
- ((this.media = n.media),
- this.media &&
- (this.queuedDefaultTrack > -1 &&
- ((this.subtitleTrack = this.queuedDefaultTrack),
- (this.queuedDefaultTrack = -1)),
- (this.useTextTrackPolling = !(
- this.media.textTracks && "onchange" in this.media.textTracks
- )),
- this.useTextTrackPolling
- ? this.pollTrackChange(500)
- : this.media.textTracks.addEventListener(
- "change",
- this.asyncPollTrackChange,
- )));
- }
- pollTrackChange(e) {
- (self.clearInterval(this.subtitlePollingInterval),
- (this.subtitlePollingInterval = self.setInterval(
- this.onTextTracksChanged,
- e,
- )));
- }
- onMediaDetaching(e, n) {
- const i = this.media;
- if (!i) return;
- const r = !!n.transferMedia;
- if (
- (self.clearInterval(this.subtitlePollingInterval),
- this.useTextTrackPolling ||
- i.textTracks.removeEventListener("change", this.asyncPollTrackChange),
- this.trackId > -1 && (this.queuedDefaultTrack = this.trackId),
- (this.subtitleTrack = -1),
- (this.media = null),
- r)
- )
- return;
- Wa(i.textTracks).forEach((o) => {
- Ci(o);
- });
- }
- onManifestLoading() {
- ((this.tracks = []),
- (this.groupIds = null),
- (this.tracksInGroup = []),
- (this.trackId = -1),
- (this.currentTrack = null),
- (this.selectDefaultTrack = !0));
- }
- onManifestParsed(e, n) {
- this.tracks = n.subtitleTracks;
- }
- onSubtitleTrackLoaded(e, n) {
- const { id: i, groupId: r, details: s } = n,
- o = this.tracksInGroup[i];
- if (!o || o.groupId !== r) {
- this.warn(
- `Subtitle track with id:${i} and group:${r} not found in active group ${o?.groupId}`,
- );
- return;
- }
- const a = o.details;
- ((o.details = n.details),
- this.log(
- `Subtitle track ${i} "${o.name}" lang:${o.lang} group:${r} loaded [${s.startSN}-${s.endSN}]`,
- ),
- i === this.trackId && this.playlistLoaded(i, n, a));
- }
- onLevelLoading(e, n) {
- this.switchLevel(n.level);
- }
- onLevelSwitching(e, n) {
- this.switchLevel(n.level);
- }
- switchLevel(e) {
- const n = this.hls.levels[e];
- if (!n) return;
- const i = n.subtitleGroups || null,
- r = this.groupIds;
- let s = this.currentTrack;
- if (
- !i ||
- r?.length !== i?.length ||
- (i != null && i.some((o) => r?.indexOf(o) === -1))
- ) {
- ((this.groupIds = i), (this.trackId = -1), (this.currentTrack = null));
- const o = this.tracks.filter((b) => !i || i.indexOf(b.groupId) !== -1);
- if (o.length)
- (this.selectDefaultTrack &&
- !o.some((b) => b.default) &&
- (this.selectDefaultTrack = !1),
- o.forEach((b, l) => {
- b.id = l;
- }));
- else if (!s && !this.tracksInGroup.length) return;
- this.tracksInGroup = o;
- const a = this.hls.config.subtitlePreference;
- if (!s && a) {
- this.selectDefaultTrack = !1;
- const b = st(a, o);
- if (b > -1) s = o[b];
- else {
- const l = st(a, this.tracks);
- s = this.tracks[l];
- }
- }
- let u = this.findTrackId(s);
- u === -1 && s && (u = this.findTrackId(null));
- const c = { subtitleTracks: o };
- (this.log(
- `Updating subtitle tracks, ${o.length} track(s) found in "${i?.join(",")}" group-id`,
- ),
- this.hls.trigger(L.SUBTITLE_TRACKS_UPDATED, c),
- u !== -1 && this.trackId === -1 && this.setSubtitleTrack(u));
- }
- }
- findTrackId(e) {
- const n = this.tracksInGroup,
- i = this.selectDefaultTrack;
- for (let r = 0; r < n.length; r++) {
- const s = n[r];
- if (!((i && !s.default) || (!i && !e)) && (!e || ai(s, e))) return r;
- }
- if (e) {
- for (let r = 0; r < n.length; r++) {
- const s = n[r];
- if (
- Ps(e.attrs, s.attrs, [
- "LANGUAGE",
- "ASSOC-LANGUAGE",
- "CHARACTERISTICS",
- ])
- )
- return r;
- }
- for (let r = 0; r < n.length; r++) {
- const s = n[r];
- if (Ps(e.attrs, s.attrs, ["LANGUAGE"])) return r;
- }
- }
- return -1;
- }
- findTrackForTextTrack(e) {
- if (e) {
- const n = this.tracksInGroup;
- for (let i = 0; i < n.length; i++) {
- const r = n[i];
- if (vp(r, e)) return i;
- }
- }
- return -1;
- }
- onError(e, n) {
- n.fatal ||
- !n.context ||
- (n.context.type === _0.SUBTITLE_TRACK &&
- n.context.id === this.trackId &&
- (!this.groupIds || this.groupIds.indexOf(n.context.groupId) !== -1) &&
- this.checkRetry(n));
- }
- get allSubtitleTracks() {
- return this.tracks;
- }
- get subtitleTracks() {
- return this.tracksInGroup;
- }
- get subtitleTrack() {
- return this.trackId;
- }
- set subtitleTrack(e) {
- ((this.selectDefaultTrack = !1), this.setSubtitleTrack(e));
- }
- setSubtitleOption(e) {
- if (((this.hls.config.subtitlePreference = e), e)) {
- if (e.id === -1) return (this.setSubtitleTrack(-1), null);
- const n = this.allSubtitleTracks;
- if (((this.selectDefaultTrack = !1), n.length)) {
- const i = this.currentTrack;
- if (i && ai(e, i)) return i;
- const r = st(e, this.tracksInGroup);
- if (r > -1) {
- const s = this.tracksInGroup[r];
- return (this.setSubtitleTrack(r), s);
- } else {
- if (i) return null;
- {
- const s = st(e, n);
- if (s > -1) return n[s];
- }
- }
- }
- }
- return null;
- }
- loadPlaylist(e) {
- (super.loadPlaylist(),
- this.shouldLoadPlaylist(this.currentTrack) &&
- this.scheduleLoading(this.currentTrack, e));
- }
- loadingPlaylist(e, n) {
- super.loadingPlaylist(e, n);
- const i = e.id,
- r = e.groupId,
- s = this.getUrlWithDirectives(e.url, n),
- o = e.details,
- a = o?.age;
- (this.log(
- `Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${r}${n?.msn !== void 0 ? " at sn " + n.msn + " part " + n.part : ""}${a && o.live ? " age " + a.toFixed(1) + ((o.type && " " + o.type) || "") : ""} ${s}`,
- ),
- this.hls.trigger(L.SUBTITLE_TRACK_LOADING, {
- url: s,
- id: i,
- groupId: r,
- deliveryDirectives: n || null,
- track: e,
- }));
- }
- toggleTrackModes() {
- const { media: e } = this;
- if (!e) return;
- const n = Wa(e.textTracks),
- i = this.currentTrack;
- let r;
- if (
- (i &&
- ((r = n.filter((s) => vp(i, s))[0]),
- r ||
- this.warn(
- `Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`,
- )),
- [].slice.call(n).forEach((s) => {
- s.mode !== "disabled" && s !== r && (s.mode = "disabled");
- }),
- r)
- ) {
- const s = this.subtitleDisplay ? "showing" : "hidden";
- r.mode !== s && (r.mode = s);
- }
- }
- setSubtitleTrack(e) {
- const n = this.tracksInGroup;
- if (!this.media) {
- this.queuedDefaultTrack = e;
- return;
- }
- if (e < -1 || e >= n.length || !p0(e)) {
- this.warn(`Invalid subtitle track id: ${e}`);
- return;
- }
- this.selectDefaultTrack = !1;
- const i = this.currentTrack,
- r = n[e] || null;
- if (
- ((this.trackId = e), (this.currentTrack = r), this.toggleTrackModes(), !r)
- ) {
- this.hls.trigger(L.SUBTITLE_TRACK_SWITCH, { id: e });
- return;
- }
- const s = !!r.details && !r.details.live;
- if (e === this.trackId && r === i && s) return;
- this.log(
- `Switching to subtitle-track ${e}` +
- (r ? ` "${r.name}" lang:${r.lang} group:${r.groupId}` : ""),
- );
- const { id: o, groupId: a = "", name: u, type: c, url: b } = r;
- this.hls.trigger(L.SUBTITLE_TRACK_SWITCH, {
- id: o,
- groupId: a,
- name: u,
- type: c,
- url: b,
- });
- const l = this.switchParams(r.url, i?.details, r.details);
- this.loadPlaylist(l);
- }
-}
-function pD() {
- try {
- return crypto.randomUUID();
- } catch {
- try {
- const e = URL.createObjectURL(new Blob()),
- n = e.toString();
- return (URL.revokeObjectURL(e), n.slice(n.lastIndexOf("/") + 1));
- } catch {
- let n = new Date().getTime();
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (r) => {
- const s = ((n + Math.random() * 16) % 16) | 0;
- return (
- (n = Math.floor(n / 16)),
- (r == "x" ? s : (s & 3) | 8).toString(16)
- );
- });
- }
- }
-}
-function cs(t) {
- let e = 5381,
- n = t.length;
- for (; n; ) e = (e * 33) ^ t.charCodeAt(--n);
- return (e >>> 0).toString();
-}
-const er = 0.025;
-let yc = (function (t) {
- return ((t[(t.Point = 0)] = "Point"), (t[(t.Range = 1)] = "Range"), t);
-})({});
-function lD(t, e, n) {
- return `${t.identifier}-${n + 1}-${cs(e)}`;
-}
-class MD {
- constructor(e, n) {
- ((this.base = void 0),
- (this._duration = null),
- (this._timelineStart = null),
- (this.appendInPlaceDisabled = void 0),
- (this.appendInPlaceStarted = void 0),
- (this.dateRange = void 0),
- (this.hasPlayed = !1),
- (this.cumulativeDuration = 0),
- (this.resumeOffset = NaN),
- (this.playoutLimit = NaN),
- (this.restrictions = { skip: !1, jump: !1 }),
- (this.snapOptions = { out: !1, in: !1 }),
- (this.assetList = []),
- (this.assetListLoader = void 0),
- (this.assetListResponse = null),
- (this.resumeAnchor = void 0),
- (this.error = void 0),
- (this.resetOnResume = void 0),
- (this.base = n),
- (this.dateRange = e),
- this.setDateRange(e));
- }
- setDateRange(e) {
- ((this.dateRange = e),
- (this.resumeOffset = e.attr.optionalFloat(
- "X-RESUME-OFFSET",
- this.resumeOffset,
- )),
- (this.playoutLimit = e.attr.optionalFloat(
- "X-PLAYOUT-LIMIT",
- this.playoutLimit,
- )),
- (this.restrictions = e.attr.enumeratedStringList(
- "X-RESTRICT",
- this.restrictions,
- )),
- (this.snapOptions = e.attr.enumeratedStringList(
- "X-SNAP",
- this.snapOptions,
- )));
- }
- reset() {
- var e;
- ((this.appendInPlaceStarted = !1),
- (e = this.assetListLoader) == null || e.destroy(),
- (this.assetListLoader = void 0),
- this.supplementsPrimary ||
- ((this.assetListResponse = null),
- (this.assetList = []),
- (this._duration = null)));
- }
- isAssetPastPlayoutLimit(e) {
- var n;
- if (e > 0 && e >= this.assetList.length) return !0;
- const i = this.playoutLimit;
- return e <= 0 || isNaN(i)
- ? !1
- : i === 0
- ? !0
- : (((n = this.assetList[e]) == null ? void 0 : n.startOffset) || 0) > i;
- }
- findAssetIndex(e) {
- return this.assetList.indexOf(e);
- }
- get identifier() {
- return this.dateRange.id;
- }
- get startDate() {
- return this.dateRange.startDate;
- }
- get startTime() {
- const e = this.dateRange.startTime;
- if (this.snapOptions.out) {
- const n = this.dateRange.tagAnchor;
- if (n) return vu(e, n);
- }
- return e;
- }
- get startOffset() {
- return this.cue.pre ? 0 : this.startTime;
- }
- get startIsAligned() {
- if (this.startTime === 0 || this.snapOptions.out) return !0;
- const e = this.dateRange.tagAnchor;
- if (e) {
- const n = this.dateRange.startTime,
- i = vu(n, e);
- return n - i < 0.1;
- }
- return !1;
- }
- get resumptionOffset() {
- const e = this.resumeOffset,
- n = p0(e) ? e : this.duration;
- return this.cumulativeDuration + n;
- }
- get resumeTime() {
- const e = this.startOffset + this.resumptionOffset;
- if (this.snapOptions.in) {
- const n = this.resumeAnchor;
- if (n) return vu(e, n);
- }
- return e;
- }
- get appendInPlace() {
- return this.appendInPlaceStarted
- ? !0
- : this.appendInPlaceDisabled
- ? !1
- : !!(
- !this.cue.once &&
- !this.cue.pre &&
- this.startIsAligned &&
- ((isNaN(this.playoutLimit) && isNaN(this.resumeOffset)) ||
- (this.resumeOffset &&
- this.duration &&
- Math.abs(this.resumeOffset - this.duration) < er))
- );
- }
- set appendInPlace(e) {
- if (this.appendInPlaceStarted) {
- this.resetOnResume = !e;
- return;
- }
- this.appendInPlaceDisabled = !e;
- }
- get timelineStart() {
- return this._timelineStart !== null ? this._timelineStart : this.startTime;
- }
- set timelineStart(e) {
- this._timelineStart = e;
- }
- get duration() {
- const e = this.playoutLimit;
- let n;
- return (
- this._duration !== null
- ? (n = this._duration)
- : this.dateRange.duration
- ? (n = this.dateRange.duration)
- : (n = this.dateRange.plannedDuration || 0),
- !isNaN(e) && e < n && (n = e),
- n
- );
- }
- set duration(e) {
- this._duration = e;
- }
- get cue() {
- return this.dateRange.cue;
- }
- get timelineOccupancy() {
- return this.dateRange.attr["X-TIMELINE-OCCUPIES"] === "RANGE"
- ? yc.Range
- : yc.Point;
- }
- get supplementsPrimary() {
- return this.dateRange.attr["X-TIMELINE-STYLE"] === "PRIMARY";
- }
- get contentMayVary() {
- return this.dateRange.attr["X-CONTENT-MAY-VARY"] !== "NO";
- }
- get assetUrl() {
- return this.dateRange.attr["X-ASSET-URI"];
- }
- get assetListUrl() {
- return this.dateRange.attr["X-ASSET-LIST"];
- }
- get baseUrl() {
- return this.base.url;
- }
- get assetListLoaded() {
- return this.assetList.length > 0 || this.assetListResponse !== null;
- }
- toString() {
- return dD(this);
- }
-}
-function vu(t, e) {
- return t - e.start < e.duration / 2 &&
- !(Math.abs(t - (e.start + e.duration)) < er)
- ? e.start
- : e.start + e.duration;
-}
-function r6(t, e, n) {
- const i = new self.URL(t, n);
- return (
- i.protocol !== "data:" && i.searchParams.set("_HLS_primary_id", e),
- i
- );
-}
-function Eu(t, e) {
- for (; (n = t.assetList[++e]) != null && n.error; ) var n;
- return e;
-}
-function dD(t) {
- return `["${t.identifier}" ${t.cue.pre ? "" : t.cue.post ? "" : ""}${t.timelineStart.toFixed(2)}-${t.resumeTime.toFixed(2)}]`;
-}
-function Ii(t) {
- const e = t.timelineStart,
- n = t.duration || 0;
- return `["${t.identifier}" ${e.toFixed(2)}-${(e + n).toFixed(2)}]`;
-}
-class fD {
- constructor(e, n, i, r) {
- ((this.hls = void 0),
- (this.interstitial = void 0),
- (this.assetItem = void 0),
- (this.tracks = null),
- (this.hasDetails = !1),
- (this.mediaAttached = null),
- (this._currentTime = void 0),
- (this._bufferedEosTime = void 0),
- (this.checkPlayout = () => {
- this.reachedPlayout(this.currentTime) &&
- this.hls &&
- this.hls.trigger(L.PLAYOUT_LIMIT_REACHED, {});
- }));
- const s = (this.hls = new e(n));
- ((this.interstitial = i), (this.assetItem = r));
- const o = () => {
- this.hasDetails = !0;
- };
- (s.once(L.LEVEL_LOADED, o),
- s.once(L.AUDIO_TRACK_LOADED, o),
- s.once(L.SUBTITLE_TRACK_LOADED, o),
- s.on(L.MEDIA_ATTACHING, (a, { media: u }) => {
- (this.removeMediaListeners(),
- (this.mediaAttached = u),
- this.interstitial.playoutLimit &&
- (u.addEventListener("timeupdate", this.checkPlayout),
- this.appendInPlace &&
- s.on(L.BUFFER_APPENDED, () => {
- const b = this.bufferedEnd;
- this.reachedPlayout(b) &&
- ((this._bufferedEosTime = b),
- s.trigger(L.BUFFERED_TO_END, void 0));
- })));
- }));
- }
- get appendInPlace() {
- return this.interstitial.appendInPlace;
- }
- loadSource() {
- const e = this.hls;
- if (e)
- if (e.url) e.levels.length && !e.started && e.startLoad(-1, !0);
- else {
- let n = this.assetItem.uri;
- try {
- n = r6(n, e.config.primarySessionId || "").href;
- } catch {}
- e.loadSource(n);
- }
- }
- bufferedInPlaceToEnd(e) {
- var n;
- if (!this.appendInPlace) return !1;
- if ((n = this.hls) != null && n.bufferedToEnd) return !0;
- if (!e) return !1;
- const i = Math.min(this._bufferedEosTime || 1 / 0, this.duration),
- r = this.timelineOffset,
- s = W0.bufferInfo(e, r, 0);
- return this.getAssetTime(s.end) >= i - 0.02;
- }
- reachedPlayout(e) {
- const i = this.interstitial.playoutLimit;
- return this.startOffset + e >= i;
- }
- get destroyed() {
- var e;
- return !((e = this.hls) != null && e.userConfig);
- }
- get assetId() {
- return this.assetItem.identifier;
- }
- get interstitialId() {
- return this.assetItem.parentIdentifier;
- }
- get media() {
- var e;
- return ((e = this.hls) == null ? void 0 : e.media) || null;
- }
- get bufferedEnd() {
- const e = this.media || this.mediaAttached;
- if (!e)
- return this._bufferedEosTime ? this._bufferedEosTime : this.currentTime;
- const n = W0.bufferInfo(e, e.currentTime, 0.001);
- return this.getAssetTime(n.end);
- }
- get currentTime() {
- const e = this.media || this.mediaAttached;
- return e ? this.getAssetTime(e.currentTime) : this._currentTime || 0;
- }
- get duration() {
- const e = this.assetItem.duration;
- if (!e) return 0;
- const n = this.interstitial.playoutLimit;
- if (n) {
- const i = n - this.startOffset;
- if (i > 0 && i < e) return i;
- }
- return e;
- }
- get remaining() {
- const e = this.duration;
- return e ? Math.max(0, e - this.currentTime) : 0;
- }
- get startOffset() {
- return this.assetItem.startOffset;
- }
- get timelineOffset() {
- var e;
- return ((e = this.hls) == null ? void 0 : e.config.timelineOffset) || 0;
- }
- set timelineOffset(e) {
- const n = this.timelineOffset;
- if (e !== n) {
- const i = e - n;
- if (Math.abs(i) > 1 / 9e4 && this.hls) {
- if (this.hasDetails)
- throw new Error(
- "Cannot set timelineOffset after playlists are loaded",
- );
- this.hls.config.timelineOffset = e;
- }
- }
- }
- getAssetTime(e) {
- const n = this.timelineOffset,
- i = this.duration;
- return Math.min(Math.max(0, e - n), i);
- }
- removeMediaListeners() {
- const e = this.mediaAttached;
- e &&
- ((this._currentTime = e.currentTime),
- this.bufferSnapShot(),
- e.removeEventListener("timeupdate", this.checkPlayout));
- }
- bufferSnapShot() {
- if (this.mediaAttached) {
- var e;
- (e = this.hls) != null &&
- e.bufferedToEnd &&
- (this._bufferedEosTime = this.bufferedEnd);
- }
- }
- destroy() {
- (this.removeMediaListeners(),
- this.hls && this.hls.destroy(),
- (this.hls = null),
- (this.tracks = this.mediaAttached = this.checkPlayout = null));
- }
- attachMedia(e) {
- var n;
- (this.loadSource(), (n = this.hls) == null || n.attachMedia(e));
- }
- detachMedia() {
- var e;
- (this.removeMediaListeners(),
- (this.mediaAttached = null),
- (e = this.hls) == null || e.detachMedia());
- }
- resumeBuffering() {
- var e;
- (e = this.hls) == null || e.resumeBuffering();
- }
- pauseBuffering() {
- var e;
- (e = this.hls) == null || e.pauseBuffering();
- }
- transferMedia() {
- var e;
- return (
- this.bufferSnapShot(),
- ((e = this.hls) == null ? void 0 : e.transferMedia()) || null
- );
- }
- resetDetails() {
- const e = this.hls;
- if (e && this.hasDetails) {
- e.stopLoad();
- const n = (i) => delete i.details;
- (e.levels.forEach(n),
- e.allAudioTracks.forEach(n),
- e.allSubtitleTracks.forEach(n),
- (this.hasDetails = !1));
- }
- }
- on(e, n, i) {
- var r;
- (r = this.hls) == null || r.on(e, n);
- }
- once(e, n, i) {
- var r;
- (r = this.hls) == null || r.once(e, n);
- }
- off(e, n, i) {
- var r;
- (r = this.hls) == null || r.off(e, n);
- }
- toString() {
- var e;
- return `HlsAssetPlayer: ${Ii(this.assetItem)} ${(e = this.hls) == null ? void 0 : e.sessionId} ${this.appendInPlace ? "append-in-place" : ""}`;
- }
-}
-const X3 = 0.033;
-class zD extends Re {
- constructor(e, n) {
- (super("interstitials-sched", n),
- (this.onScheduleUpdate = void 0),
- (this.eventMap = {}),
- (this.events = null),
- (this.items = null),
- (this.durations = { primary: 0, playout: 0, integrated: 0 }),
- (this.onScheduleUpdate = e));
- }
- destroy() {
- (this.reset(), (this.onScheduleUpdate = null));
- }
- reset() {
- ((this.eventMap = {}),
- this.setDurations(0, 0, 0),
- this.events && this.events.forEach((e) => e.reset()),
- (this.events = this.items = null));
- }
- resetErrorsInRange(e, n) {
- return this.events
- ? this.events.reduce(
- (i, r) =>
- e <= r.startOffset && n > r.startOffset
- ? (delete r.error, i + 1)
- : i,
- 0,
- )
- : 0;
- }
- get duration() {
- const e = this.items;
- return e ? e[e.length - 1].end : 0;
- }
- get length() {
- return this.items ? this.items.length : 0;
- }
- getEvent(e) {
- return (e && this.eventMap[e]) || null;
- }
- hasEvent(e) {
- return e in this.eventMap;
- }
- findItemIndex(e, n) {
- if (e.event) return this.findEventIndex(e.event.identifier);
- let i = -1;
- e.nextEvent
- ? (i = this.findEventIndex(e.nextEvent.identifier) - 1)
- : e.previousEvent &&
- (i = this.findEventIndex(e.previousEvent.identifier) + 1);
- const r = this.items;
- if (r)
- for (
- r[i] ||
- (n === void 0 && (n = e.start), (i = this.findItemIndexAtTime(n)));
- i >= 0 && (s = r[i]) != null && s.event;
- ) {
- var s;
- i--;
- }
- return i;
- }
- findItemIndexAtTime(e, n) {
- const i = this.items;
- if (i)
- for (let r = 0; r < i.length; r++) {
- let s = i[r];
- if (
- (n && n !== "primary" && (s = s[n]),
- e === s.start || (e > s.start && e < s.end))
- )
- return r;
- }
- return -1;
- }
- findJumpRestrictedIndex(e, n) {
- const i = this.items;
- if (i)
- for (let r = e; r <= n && i[r]; r++) {
- const s = i[r].event;
- if (s != null && s.restrictions.jump && !s.appendInPlace) return r;
- }
- return -1;
- }
- findEventIndex(e) {
- const n = this.items;
- if (n)
- for (let r = n.length; r--; ) {
- var i;
- if (((i = n[r].event) == null ? void 0 : i.identifier) === e) return r;
- }
- return -1;
- }
- findAssetIndex(e, n) {
- const i = e.assetList,
- r = i.length;
- if (r > 1)
- for (let s = 0; s < r; s++) {
- const o = i[s];
- if (!o.error) {
- const a = o.timelineStart;
- if (n === a || (n > a && (n < a + (o.duration || 0) || s === r - 1)))
- return s;
- }
- }
- return 0;
- }
- get assetIdAtEnd() {
- var e;
- const n =
- (e = this.items) == null || (e = e[this.length - 1]) == null
- ? void 0
- : e.event;
- if (n) {
- const i = n.assetList,
- r = i[i.length - 1];
- if (r) return r.identifier;
- }
- return null;
- }
- parseInterstitialDateRanges(e, n) {
- const i = e.main.details,
- { dateRanges: r } = i,
- s = this.events,
- o = this.parseDateRanges(r, { url: i.url }, n),
- a = Object.keys(r),
- u = s ? s.filter((c) => !a.includes(c.identifier)) : [];
- (o.length &&
- o.sort((c, b) => {
- const l = c.cue.pre,
- p = c.cue.post,
- M = b.cue.pre,
- d = b.cue.post;
- if (l && !M) return -1;
- if ((M && !l) || (p && !d)) return 1;
- if (d && !p) return -1;
- if (!l && !M && !p && !d) {
- const O = c.startTime,
- f = b.startTime;
- if (O !== f) return O - f;
- }
- return c.dateRange.tagOrder - b.dateRange.tagOrder;
- }),
- (this.events = o),
- u.forEach((c) => {
- this.removeEvent(c);
- }),
- this.updateSchedule(e, u));
- }
- updateSchedule(e, n = [], i = !1) {
- const r = this.events || [];
- if (r.length || n.length || this.length < 2) {
- const s = this.items,
- o = this.parseSchedule(r, e);
- (i ||
- n.length ||
- s?.length !== o.length ||
- o.some(
- (u, c) =>
- Math.abs(u.playout.start - s[c].playout.start) > 0.005 ||
- Math.abs(u.playout.end - s[c].playout.end) > 0.005,
- )) &&
- ((this.items = o), this.onScheduleUpdate(n, s));
- }
- }
- parseDateRanges(e, n, i) {
- const r = [],
- s = Object.keys(e);
- for (let o = 0; o < s.length; o++) {
- const a = s[o],
- u = e[a];
- if (u.isInterstitial) {
- let c = this.eventMap[a];
- (c
- ? c.setDateRange(u)
- : ((c = new MD(u, n)),
- (this.eventMap[a] = c),
- i === !1 && (c.appendInPlace = i)),
- r.push(c));
- }
- }
- return r;
- }
- parseSchedule(e, n) {
- const i = [],
- r = n.main.details,
- s = r.live ? 1 / 0 : r.edge;
- let o = 0;
- if (
- ((e = e.filter((u) => !u.error && !(u.cue.once && u.hasPlayed))),
- e.length)
- ) {
- this.resolveOffsets(e, n);
- let u = 0,
- c = 0;
- if (
- (e.forEach((b, l) => {
- const p = b.cue.pre,
- M = b.cue.post,
- d = e[l - 1] || null,
- O = b.appendInPlace,
- f = M ? s : b.startOffset,
- z = b.duration,
- g = b.timelineOccupancy === yc.Range ? z : 0,
- A = b.resumptionOffset,
- h = d?.startTime === f,
- q = f + b.cumulativeDuration;
- let v = O ? q + z : f + A;
- if (p || (!M && f <= 0)) {
- const E = c;
- ((c += g), (b.timelineStart = q));
- const _ = o;
- ((o += z),
- i.push({
- event: b,
- start: q,
- end: v,
- playout: { start: _, end: o },
- integrated: { start: E, end: c },
- }));
- } else if (f <= s) {
- if (!h) {
- const T = f - u;
- if (T > X3) {
- const y = u,
- W = c;
- c += T;
- const x = o;
- o += T;
- const B = {
- previousEvent: e[l - 1] || null,
- nextEvent: b,
- start: y,
- end: y + T,
- playout: { start: x, end: o },
- integrated: { start: W, end: c },
- };
- i.push(B);
- } else
- T > 0 &&
- d &&
- ((d.cumulativeDuration += T), (i[i.length - 1].end = f));
- }
- (M && (v = q), (b.timelineStart = q));
- const E = c;
- c += g;
- const _ = o;
- ((o += z),
- i.push({
- event: b,
- start: q,
- end: v,
- playout: { start: _, end: o },
- integrated: { start: E, end: c },
- }));
- } else return;
- const m = b.resumeTime;
- M || m > s ? (u = s) : (u = m);
- }),
- u < s)
- ) {
- var a;
- const b = u,
- l = c,
- p = s - u;
- c += p;
- const M = o;
- ((o += p),
- i.push({
- previousEvent:
- ((a = i[i.length - 1]) == null ? void 0 : a.event) || null,
- nextEvent: null,
- start: u,
- end: b + p,
- playout: { start: M, end: o },
- integrated: { start: l, end: c },
- }));
- }
- this.setDurations(s, o, c);
- } else
- (i.push({
- previousEvent: null,
- nextEvent: null,
- start: 0,
- end: s,
- playout: { start: 0, end: s },
- integrated: { start: 0, end: s },
- }),
- this.setDurations(s, s, s));
- return i;
- }
- setDurations(e, n, i) {
- this.durations = { primary: e, playout: n, integrated: i };
- }
- resolveOffsets(e, n) {
- const i = n.main.details,
- r = i.live ? 1 / 0 : i.edge;
- let s = 0,
- o = -1;
- e.forEach((a, u) => {
- const c = a.cue.pre,
- b = a.cue.post,
- l = c ? 0 : b ? r : a.startTime;
- (this.updateAssetDurations(a),
- o === l ? (a.cumulativeDuration = s) : ((s = 0), (o = l)),
- !b &&
- a.snapOptions.in &&
- (a.resumeAnchor =
- zi(null, i.fragments, a.startOffset + a.resumptionOffset, 0, 0) ||
- void 0),
- a.appendInPlace &&
- !a.appendInPlaceStarted &&
- (this.primaryCanResumeInPlaceAt(a, n) || (a.appendInPlace = !1)),
- !a.appendInPlace &&
- u + 1 < e.length &&
- e[u + 1].startTime - e[u].resumeTime < X3 &&
- ((e[u + 1].appendInPlace = !1),
- e[u + 1].appendInPlace &&
- this.warn(
- `Could not change append strategy for abutting event ${a}`,
- )));
- const M = p0(a.resumeOffset) ? a.resumeOffset : a.duration;
- s += M;
- });
- }
- primaryCanResumeInPlaceAt(e, n) {
- const i = e.resumeTime,
- r = e.startTime + e.resumptionOffset;
- return Math.abs(i - r) > er
- ? (this.log(
- `"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${r}`,
- ),
- !1)
- : !Object.keys(n).some((o) => {
- const a = n[o].details,
- u = a.edge;
- if (i >= u)
- return (
- this.log(
- `"${e.identifier}" resumption ${i} past ${o} playlist end ${u}`,
- ),
- !1
- );
- const c = zi(null, a.fragments, i);
- if (!c)
- return (
- this.log(
- `"${e.identifier}" resumption ${i} does not align with any fragments in ${o} playlist (${a.fragStart}-${a.fragmentEnd})`,
- ),
- !0
- );
- const b = o === "audio" ? 0.175 : 0;
- return Math.abs(c.start - i) < er + b || Math.abs(c.end - i) < er + b
- ? !1
- : (this.log(
- `"${e.identifier}" resumption ${i} not aligned with ${o} fragment bounds (${c.start}-${c.end} sn: ${c.sn} cc: ${c.cc})`,
- ),
- !0);
- });
- }
- updateAssetDurations(e) {
- if (!e.assetListLoaded) return;
- const n = e.timelineStart;
- let i = 0,
- r = !1,
- s = !1;
- for (let o = 0; o < e.assetList.length; o++) {
- const a = e.assetList[o],
- u = n + i;
- ((a.startOffset = i),
- (a.timelineStart = u),
- r || (r = a.duration === null),
- s || (s = !!a.error));
- const c = a.error ? 0 : a.duration || 0;
- i += c;
- }
- r && !s ? (e.duration = Math.max(i, e.duration)) : (e.duration = i);
- }
- removeEvent(e) {
- (e.reset(), delete this.eventMap[e.identifier]);
- }
-}
-function ye(t) {
- return `[${t.event ? '"' + t.event.identifier + '"' : "primary"}: ${t.start.toFixed(2)}-${t.end.toFixed(2)}]`;
-}
-class OD {
- constructor(e) {
- ((this.hls = void 0), (this.hls = e));
- }
- destroy() {
- this.hls = null;
- }
- loadAssetList(e, n) {
- const i = e.assetListUrl;
- let r;
- try {
- r = r6(i, this.hls.sessionId, e.baseUrl);
- } catch (p) {
- const M = this.assignAssetListError(e, $.ASSET_LIST_LOAD_ERROR, p, i);
- this.hls.trigger(L.ERROR, M);
- return;
- }
- n &&
- r.protocol !== "data:" &&
- r.searchParams.set("_HLS_start_offset", "" + n);
- const s = this.hls.config,
- o = s.loader,
- a = new o(s),
- u = { responseType: "json", url: r.href },
- c = s.interstitialAssetListLoadPolicy.default,
- b = {
- loadPolicy: c,
- timeout: c.maxLoadTimeMs,
- maxRetry: 0,
- retryDelay: 0,
- maxRetryDelay: 0,
- },
- l = {
- onSuccess: (p, M, d, O) => {
- const f = p.data,
- z = f?.ASSETS;
- if (!Array.isArray(z)) {
- const g = this.assignAssetListError(
- e,
- $.ASSET_LIST_PARSING_ERROR,
- new Error("Invalid interstitial asset list"),
- d.url,
- M,
- O,
- );
- this.hls.trigger(L.ERROR, g);
- return;
- }
- ((e.assetListResponse = f),
- this.hls.trigger(L.ASSET_LIST_LOADED, {
- event: e,
- assetListResponse: f,
- networkDetails: O,
- }));
- },
- onError: (p, M, d, O) => {
- const f = this.assignAssetListError(
- e,
- $.ASSET_LIST_LOAD_ERROR,
- new Error(
- `Error loading X-ASSET-LIST: HTTP status ${p.code} ${p.text} (${M.url})`,
- ),
- M.url,
- O,
- d,
- );
- this.hls.trigger(L.ERROR, f);
- },
- onTimeout: (p, M, d) => {
- const O = this.assignAssetListError(
- e,
- $.ASSET_LIST_LOAD_TIMEOUT,
- new Error(`Timeout loading X-ASSET-LIST (${M.url})`),
- M.url,
- p,
- d,
- );
- this.hls.trigger(L.ERROR, O);
- },
- };
- return (
- a.load(u, b, l),
- this.hls.trigger(L.ASSET_LIST_LOADING, { event: e }),
- a
- );
- }
- assignAssetListError(e, n, i, r, s, o) {
- return (
- (e.error = i),
- {
- type: h0.NETWORK_ERROR,
- details: n,
- fatal: !1,
- interstitial: e,
- url: r,
- error: i,
- networkDetails: o,
- stats: s,
- }
- );
- }
-}
-function F3(t) {
- t?.play().catch(() => {});
-}
-function Po(t, e) {
- return `[${t}] Advancing timeline position to ${e}`;
-}
-class hD extends Re {
- constructor(e, n) {
- (super("interstitials", e.logger),
- (this.HlsPlayerClass = void 0),
- (this.hls = void 0),
- (this.assetListLoader = void 0),
- (this.mediaSelection = null),
- (this.altSelection = null),
- (this.media = null),
- (this.detachedData = null),
- (this.requiredTracks = null),
- (this.manager = null),
- (this.playerQueue = []),
- (this.bufferedPos = -1),
- (this.timelinePos = -1),
- (this.schedule = void 0),
- (this.playingItem = null),
- (this.bufferingItem = null),
- (this.waitingItem = null),
- (this.endedItem = null),
- (this.playingAsset = null),
- (this.endedAsset = null),
- (this.bufferingAsset = null),
- (this.shouldPlay = !1),
- (this.onPlay = () => {
- this.shouldPlay = !0;
- }),
- (this.onPause = () => {
- this.shouldPlay = !1;
- }),
- (this.onSeeking = () => {
- const i = this.currentTime;
- if (i === void 0 || this.playbackDisabled || !this.schedule) return;
- const r = i - this.timelinePos;
- if (Math.abs(r) < 1 / 7056e5) return;
- const o = r <= -0.01;
- ((this.timelinePos = i), (this.bufferedPos = i));
- const a = this.playingItem;
- if (!a) {
- this.checkBuffer();
- return;
- }
- if (
- (o &&
- this.schedule.resetErrorsInRange(i, i - r) &&
- this.updateSchedule(!0),
- this.checkBuffer(),
- (o && i < a.start) || i >= a.end)
- ) {
- var u;
- const M = this.findItemIndex(a);
- let d = this.schedule.findItemIndexAtTime(i);
- if (
- (d === -1 &&
- ((d = M + (o ? -1 : 1)),
- this.log(
- `seeked ${o ? "back " : ""}to position not covered by schedule ${i} (resolving from ${M} to ${d})`,
- )),
- !this.isInterstitial(a) &&
- (u = this.media) != null &&
- u.paused &&
- (this.shouldPlay = !1),
- !o && d > M)
- ) {
- const O = this.schedule.findJumpRestrictedIndex(M + 1, d);
- if (O > M) {
- this.setSchedulePosition(O);
- return;
- }
- }
- this.setSchedulePosition(d);
- return;
- }
- const c = this.playingAsset;
- if (!c) {
- if (this.playingLastItem && this.isInterstitial(a)) {
- const M = a.event.assetList[0];
- M &&
- ((this.endedItem = this.playingItem),
- (this.playingItem = null),
- this.setScheduleToAssetAtTime(i, M));
- }
- return;
- }
- const b = c.timelineStart,
- l = c.duration || 0;
- if ((o && i < b) || i >= b + l) {
- var p;
- ((p = a.event) != null &&
- p.appendInPlace &&
- (this.clearInterstitial(a.event, a), this.flushFrontBuffer(i)),
- this.setScheduleToAssetAtTime(i, c));
- }
- }),
- (this.onTimeupdate = () => {
- const i = this.currentTime;
- if (i === void 0 || this.playbackDisabled) return;
- if (i > this.timelinePos)
- ((this.timelinePos = i), i > this.bufferedPos && this.checkBuffer());
- else return;
- const r = this.playingItem;
- if (!r || this.playingLastItem) return;
- if (i >= r.end) {
- this.timelinePos = r.end;
- const a = this.findItemIndex(r);
- this.setSchedulePosition(a + 1);
- }
- const s = this.playingAsset;
- if (!s) return;
- const o = s.timelineStart + (s.duration || 0);
- i >= o && this.setScheduleToAssetAtTime(i, s);
- }),
- (this.onScheduleUpdate = (i, r) => {
- const s = this.schedule;
- if (!s) return;
- const o = this.playingItem,
- a = s.events || [],
- u = s.items || [],
- c = s.durations,
- b = i.map((O) => O.identifier),
- l = !!(a.length || b.length);
- ((l || r) &&
- this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a}
-Schedule: ${u.map((O) => ye(O))} pos: ${this.timelinePos}`),
- b.length && this.log(`Removed events ${b}`));
- let p = null,
- M = null;
- (o &&
- ((p = this.updateItem(o, this.timelinePos)),
- this.itemsMatch(o, p)
- ? (this.playingItem = p)
- : (this.waitingItem = this.endedItem = null)),
- (this.waitingItem = this.updateItem(this.waitingItem)),
- (this.endedItem = this.updateItem(this.endedItem)));
- const d = this.bufferingItem;
- if (
- (d &&
- ((M = this.updateItem(d, this.bufferedPos)),
- this.itemsMatch(d, M)
- ? (this.bufferingItem = M)
- : d.event &&
- ((this.bufferingItem = this.playingItem),
- this.clearInterstitial(d.event, null))),
- i.forEach((O) => {
- O.assetList.forEach((f) => {
- this.clearAssetPlayer(f.identifier, null);
- });
- }),
- this.playerQueue.forEach((O) => {
- if (O.interstitial.appendInPlace) {
- const f = O.assetItem.timelineStart,
- z = O.timelineOffset - f;
- if (z)
- try {
- O.timelineOffset = f;
- } catch (g) {
- Math.abs(z) > er &&
- this.warn(
- `${g} ("${O.assetId}" ${O.timelineOffset}->${f})`,
- );
- }
- }
- }),
- l || r)
- ) {
- if (
- (this.hls.trigger(L.INTERSTITIALS_UPDATED, {
- events: a.slice(0),
- schedule: u.slice(0),
- durations: c,
- removedIds: b,
- }),
- this.isInterstitial(o) && b.includes(o.event.identifier))
- ) {
- (this.warn(
- `Interstitial "${o.event.identifier}" removed while playing`,
- ),
- this.primaryFallback(o.event));
- return;
- }
- (o && this.trimInPlace(p, o),
- d && M !== p && this.trimInPlace(M, d),
- this.checkBuffer());
- }
- }),
- (this.hls = e),
- (this.HlsPlayerClass = n),
- (this.assetListLoader = new OD(e)),
- (this.schedule = new zD(this.onScheduleUpdate, e.logger)),
- this.registerListeners());
- }
- registerListeners() {
- const e = this.hls;
- e &&
- (e.on(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.on(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.on(L.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this),
- e.on(L.AUDIO_TRACK_UPDATED, this.onAudioTrackUpdated, this),
- e.on(L.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this),
- e.on(L.SUBTITLE_TRACK_UPDATED, this.onSubtitleTrackUpdated, this),
- e.on(L.EVENT_CUE_ENTER, this.onInterstitialCueEnter, this),
- e.on(L.ASSET_LIST_LOADED, this.onAssetListLoaded, this),
- e.on(L.BUFFER_APPENDED, this.onBufferAppended, this),
- e.on(L.BUFFER_FLUSHED, this.onBufferFlushed, this),
- e.on(L.BUFFERED_TO_END, this.onBufferedToEnd, this),
- e.on(L.MEDIA_ENDED, this.onMediaEnded, this),
- e.on(L.ERROR, this.onError, this),
- e.on(L.DESTROYING, this.onDestroying, this));
- }
- unregisterListeners() {
- const e = this.hls;
- e &&
- (e.off(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.off(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.off(L.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this),
- e.off(L.AUDIO_TRACK_UPDATED, this.onAudioTrackUpdated, this),
- e.off(L.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this),
- e.off(L.SUBTITLE_TRACK_UPDATED, this.onSubtitleTrackUpdated, this),
- e.off(L.EVENT_CUE_ENTER, this.onInterstitialCueEnter, this),
- e.off(L.ASSET_LIST_LOADED, this.onAssetListLoaded, this),
- e.off(L.BUFFER_CODECS, this.onBufferCodecs, this),
- e.off(L.BUFFER_APPENDED, this.onBufferAppended, this),
- e.off(L.BUFFER_FLUSHED, this.onBufferFlushed, this),
- e.off(L.BUFFERED_TO_END, this.onBufferedToEnd, this),
- e.off(L.MEDIA_ENDED, this.onMediaEnded, this),
- e.off(L.ERROR, this.onError, this),
- e.off(L.DESTROYING, this.onDestroying, this));
- }
- startLoad() {
- this.resumeBuffering();
- }
- stopLoad() {
- this.pauseBuffering();
- }
- resumeBuffering() {
- var e;
- (e = this.getBufferingPlayer()) == null || e.resumeBuffering();
- }
- pauseBuffering() {
- var e;
- (e = this.getBufferingPlayer()) == null || e.pauseBuffering();
- }
- destroy() {
- (this.unregisterListeners(),
- this.stopLoad(),
- this.assetListLoader && this.assetListLoader.destroy(),
- this.emptyPlayerQueue(),
- this.clearScheduleState(),
- this.schedule && this.schedule.destroy(),
- (this.media =
- this.detachedData =
- this.mediaSelection =
- this.requiredTracks =
- this.altSelection =
- this.schedule =
- this.manager =
- null),
- (this.hls = this.HlsPlayerClass = this.log = null),
- (this.assetListLoader = null),
- (this.onPlay = this.onPause = this.onSeeking = this.onTimeupdate = null),
- (this.onScheduleUpdate = null));
- }
- onDestroying() {
- const e = this.primaryMedia || this.media;
- e && this.removeMediaListeners(e);
- }
- removeMediaListeners(e) {
- (G1(e, "play", this.onPlay),
- G1(e, "pause", this.onPause),
- G1(e, "seeking", this.onSeeking),
- G1(e, "timeupdate", this.onTimeupdate));
- }
- onMediaAttaching(e, n) {
- const i = (this.media = n.media);
- (I1(i, "seeking", this.onSeeking),
- I1(i, "timeupdate", this.onTimeupdate),
- I1(i, "play", this.onPlay),
- I1(i, "pause", this.onPause));
- }
- onMediaAttached(e, n) {
- const i = this.effectivePlayingItem,
- r = this.detachedData;
- if (((this.detachedData = null), i === null)) this.checkStart();
- else if (!r) {
- this.clearScheduleState();
- const s = this.findItemIndex(i);
- this.setSchedulePosition(s);
- }
- }
- clearScheduleState() {
- (this.log("clear schedule state"),
- (this.playingItem =
- this.bufferingItem =
- this.waitingItem =
- this.endedItem =
- this.playingAsset =
- this.endedAsset =
- this.bufferingAsset =
- null));
- }
- onMediaDetaching(e, n) {
- const i = !!n.transferMedia,
- r = this.media;
- if (
- ((this.media = null),
- !i && (r && this.removeMediaListeners(r), this.detachedData))
- ) {
- const s = this.getBufferingPlayer();
- (s &&
- (this.log(`Removing schedule state for detachedData and ${s}`),
- (this.playingAsset =
- this.endedAsset =
- this.bufferingAsset =
- this.bufferingItem =
- this.waitingItem =
- this.detachedData =
- null),
- s.detachMedia()),
- (this.shouldPlay = !1));
- }
- }
- get interstitialsManager() {
- if (!this.hls) return null;
- if (this.manager) return this.manager;
- const e = this,
- n = () => e.bufferingItem || e.waitingItem,
- i = (l) => l && e.getAssetPlayer(l.identifier),
- r = (l, p, M, d, O) => {
- if (l) {
- let f = l[p].start;
- const z = l.event;
- if (z) {
- if (p === "playout" || z.timelineOccupancy !== yc.Point) {
- const g = i(M);
- g?.interstitial === z && (f += g.assetItem.startOffset + g[O]);
- }
- } else {
- const g = d === "bufferedPos" ? o() : e[d];
- f += g - l.start;
- }
- return f;
- }
- return 0;
- },
- s = (l, p) => {
- var M;
- if (
- l !== 0 &&
- p !== "primary" &&
- (M = e.schedule) != null &&
- M.length
- ) {
- var d;
- const O = e.schedule.findItemIndexAtTime(l),
- f = (d = e.schedule.items) == null ? void 0 : d[O];
- if (f) {
- const z = f[p].start - f.start;
- return l + z;
- }
- }
- return l;
- },
- o = () => {
- const l = e.bufferedPos;
- return l === Number.MAX_VALUE ? a("primary") : Math.max(l, 0);
- },
- a = (l) => {
- var p, M;
- return (p = e.primaryDetails) != null && p.live
- ? e.primaryDetails.edge
- : ((M = e.schedule) == null ? void 0 : M.durations[l]) || 0;
- },
- u = (l, p) => {
- var M, d;
- const O = e.effectivePlayingItem;
- if (
- (O != null && (M = O.event) != null && M.restrictions.skip) ||
- !e.schedule
- )
- return;
- e.log(`seek to ${l} "${p}"`);
- const f = e.effectivePlayingItem,
- z = e.schedule.findItemIndexAtTime(l, p),
- g = (d = e.schedule.items) == null ? void 0 : d[z],
- A = e.getBufferingPlayer(),
- h = A?.interstitial,
- q = h?.appendInPlace,
- v = f && e.itemsMatch(f, g);
- if (f && (q || v)) {
- const m = i(e.playingAsset),
- E = m?.media || e.primaryMedia;
- if (E) {
- const _ =
- p === "primary"
- ? E.currentTime
- : r(f, p, e.playingAsset, "timelinePos", "currentTime"),
- T = l - _,
- y = (q ? _ : E.currentTime) + T;
- if (y >= 0 && (!m || q || y <= m.duration)) {
- E.currentTime = y;
- return;
- }
- }
- }
- if (g) {
- let m = l;
- if (p !== "primary") {
- const _ = g[p].start,
- T = l - _;
- m = g.start + T;
- }
- const E = !e.isInterstitial(g);
- if (
- (!e.isInterstitial(f) || f.event.appendInPlace) &&
- (E || g.event.appendInPlace)
- ) {
- const _ = e.media || (q ? A?.media : null);
- _ && (_.currentTime = m);
- } else if (f) {
- const _ = e.findItemIndex(f);
- if (z > _) {
- const y = e.schedule.findJumpRestrictedIndex(_ + 1, z);
- if (y > _) {
- e.setSchedulePosition(y);
- return;
- }
- }
- let T = 0;
- if (E) ((e.timelinePos = m), e.checkBuffer());
- else {
- const y = g.event.assetList,
- W = l - (g[p] || g).start;
- for (let x = y.length; x--; ) {
- const B = y[x];
- if (
- B.duration &&
- W >= B.startOffset &&
- W < B.startOffset + B.duration
- ) {
- T = x;
- break;
- }
- }
- }
- e.setSchedulePosition(z, T);
- }
- }
- },
- c = () => {
- const l = e.effectivePlayingItem;
- if (e.isInterstitial(l)) return l;
- const p = n();
- return e.isInterstitial(p) ? p : null;
- },
- b = {
- get bufferedEnd() {
- const l = n(),
- p = e.bufferingItem;
- if (p && p === l) {
- var M;
- return (
- r(p, "playout", e.bufferingAsset, "bufferedPos", "bufferedEnd") -
- p.playout.start ||
- ((M = e.bufferingAsset) == null ? void 0 : M.startOffset) ||
- 0
- );
- }
- return 0;
- },
- get currentTime() {
- const l = c(),
- p = e.effectivePlayingItem;
- return p && p === l
- ? r(
- p,
- "playout",
- e.effectivePlayingAsset,
- "timelinePos",
- "currentTime",
- ) - p.playout.start
- : 0;
- },
- set currentTime(l) {
- const p = c(),
- M = e.effectivePlayingItem;
- M && M === p && u(l + M.playout.start, "playout");
- },
- get duration() {
- const l = c();
- return l ? l.playout.end - l.playout.start : 0;
- },
- get assetPlayers() {
- var l;
- const p = (l = c()) == null ? void 0 : l.event.assetList;
- return p ? p.map((M) => e.getAssetPlayer(M.identifier)) : [];
- },
- get playingIndex() {
- var l;
- const p = (l = c()) == null ? void 0 : l.event;
- return p && e.effectivePlayingAsset
- ? p.findAssetIndex(e.effectivePlayingAsset)
- : -1;
- },
- get scheduleItem() {
- return c();
- },
- };
- return (this.manager = {
- get events() {
- var l;
- return (
- ((l = e.schedule) == null || (l = l.events) == null
- ? void 0
- : l.slice(0)) || []
- );
- },
- get schedule() {
- var l;
- return (
- ((l = e.schedule) == null || (l = l.items) == null
- ? void 0
- : l.slice(0)) || []
- );
- },
- get interstitialPlayer() {
- return c() ? b : null;
- },
- get playerQueue() {
- return e.playerQueue.slice(0);
- },
- get bufferingAsset() {
- return e.bufferingAsset;
- },
- get bufferingItem() {
- return n();
- },
- get bufferingIndex() {
- const l = n();
- return e.findItemIndex(l);
- },
- get playingAsset() {
- return e.effectivePlayingAsset;
- },
- get playingItem() {
- return e.effectivePlayingItem;
- },
- get playingIndex() {
- const l = e.effectivePlayingItem;
- return e.findItemIndex(l);
- },
- primary: {
- get bufferedEnd() {
- return o();
- },
- get currentTime() {
- const l = e.timelinePos;
- return l > 0 ? l : 0;
- },
- set currentTime(l) {
- u(l, "primary");
- },
- get duration() {
- return a("primary");
- },
- get seekableStart() {
- var l;
- return (
- ((l = e.primaryDetails) == null ? void 0 : l.fragmentStart) || 0
- );
- },
- },
- integrated: {
- get bufferedEnd() {
- return r(
- n(),
- "integrated",
- e.bufferingAsset,
- "bufferedPos",
- "bufferedEnd",
- );
- },
- get currentTime() {
- return r(
- e.effectivePlayingItem,
- "integrated",
- e.effectivePlayingAsset,
- "timelinePos",
- "currentTime",
- );
- },
- set currentTime(l) {
- u(l, "integrated");
- },
- get duration() {
- return a("integrated");
- },
- get seekableStart() {
- var l;
- return s(
- ((l = e.primaryDetails) == null ? void 0 : l.fragmentStart) || 0,
- "integrated",
- );
- },
- },
- skip: () => {
- const l = e.effectivePlayingItem,
- p = l?.event;
- if (p && !p.restrictions.skip) {
- const M = e.findItemIndex(l);
- if (p.appendInPlace) {
- const d = l.playout.start + l.event.duration;
- u(d + 0.001, "playout");
- } else e.advanceAfterAssetEnded(p, M, 1 / 0);
- }
- },
- });
- }
- get effectivePlayingItem() {
- return this.waitingItem || this.playingItem || this.endedItem;
- }
- get effectivePlayingAsset() {
- return this.playingAsset || this.endedAsset;
- }
- get playingLastItem() {
- var e;
- const n = this.playingItem,
- i = (e = this.schedule) == null ? void 0 : e.items;
- return !this.playbackStarted || !n || !i
- ? !1
- : this.findItemIndex(n) === i.length - 1;
- }
- get playbackStarted() {
- return this.effectivePlayingItem !== null;
- }
- get currentTime() {
- var e, n;
- if (this.mediaSelection === null) return;
- const i = this.waitingItem || this.playingItem;
- if (this.isInterstitial(i) && !i.event.appendInPlace) return;
- let r = this.media;
- !r &&
- (e = this.bufferingItem) != null &&
- (e = e.event) != null &&
- e.appendInPlace &&
- (r = this.primaryMedia);
- const s = (n = r) == null ? void 0 : n.currentTime;
- if (!(s === void 0 || !p0(s))) return s;
- }
- get primaryMedia() {
- var e;
- return (
- this.media || ((e = this.detachedData) == null ? void 0 : e.media) || null
- );
- }
- isInterstitial(e) {
- return !!(e != null && e.event);
- }
- retreiveMediaSource(e, n) {
- const i = this.getAssetPlayer(e);
- i && this.transferMediaFromPlayer(i, n);
- }
- transferMediaFromPlayer(e, n) {
- const i = e.interstitial.appendInPlace,
- r = e.media;
- if (i && r === this.primaryMedia) {
- if (
- ((this.bufferingAsset = null),
- (!n || (this.isInterstitial(n) && !n.event.appendInPlace)) && n && r)
- ) {
- this.detachedData = { media: r };
- return;
- }
- const s = e.transferMedia();
- (this.log(`transfer MediaSource from ${e} ${Y0(s)}`),
- (this.detachedData = s));
- } else n && r && (this.shouldPlay || (this.shouldPlay = !r.paused));
- }
- transferMediaTo(e, n) {
- var i, r;
- if (e.media === n) return;
- let s = null;
- const o = this.hls,
- a = e !== o,
- u = a && e.interstitial.appendInPlace,
- c = (i = this.detachedData) == null ? void 0 : i.mediaSource;
- let b;
- if (o.media)
- (u && ((s = o.transferMedia()), (this.detachedData = s)),
- (b = "Primary"));
- else if (c) {
- const d = this.getBufferingPlayer();
- d
- ? ((s = d.transferMedia()), (b = `${d}`))
- : (b = "detached MediaSource");
- } else b = "detached media";
- if (!s) {
- if (c)
- ((s = this.detachedData),
- this.log(`using detachedData: MediaSource ${Y0(s)}`));
- else if (!this.detachedData || o.media === n) {
- const d = this.playerQueue;
- (d.length > 1 &&
- d.forEach((O) => {
- if (a && O.interstitial.appendInPlace !== u) {
- const f = O.interstitial;
- (this.clearInterstitial(O.interstitial, null),
- (f.appendInPlace = !1),
- f.appendInPlace &&
- this.warn(
- `Could not change append strategy for queued assets ${f}`,
- ));
- }
- }),
- this.hls.detachMedia(),
- (this.detachedData = { media: n }));
- }
- }
- const l =
- s &&
- "mediaSource" in s &&
- ((r = s.mediaSource) == null ? void 0 : r.readyState) !== "closed",
- p = l && s ? s : n;
- this.log(
- `${l ? "transfering MediaSource" : "attaching media"} to ${a ? e : "Primary"} from ${b} (media.currentTime: ${n.currentTime})`,
- );
- const M = this.schedule;
- if (p === s && M) {
- const d = a && e.assetId === M.assetIdAtEnd;
- p.overrides = {
- duration: M.duration,
- endOfStream: !a || d,
- cueRemoval: !a,
- };
- }
- e.attachMedia(p);
- }
- onInterstitialCueEnter() {
- this.onTimeupdate();
- }
- checkStart() {
- const e = this.schedule,
- n = e?.events;
- if (!n || this.playbackDisabled || !this.media) return;
- this.bufferedPos === -1 && (this.bufferedPos = 0);
- const i = this.timelinePos,
- r = this.effectivePlayingItem;
- if (i === -1) {
- const s = this.hls.startPosition;
- if (
- (this.log(Po("checkStart", s)),
- (this.timelinePos = s),
- n.length && n[0].cue.pre)
- ) {
- const o = e.findEventIndex(n[0].identifier);
- this.setSchedulePosition(o);
- } else if (s >= 0 || !this.primaryLive) {
- const o = (this.timelinePos = s > 0 ? s : 0),
- a = e.findItemIndexAtTime(o);
- this.setSchedulePosition(a);
- }
- } else if (r && !this.playingItem) {
- const s = e.findItemIndex(r);
- this.setSchedulePosition(s);
- }
- }
- advanceAssetBuffering(e, n) {
- const i = e.event,
- r = i.findAssetIndex(n),
- s = Eu(i, r);
- if (!i.isAssetPastPlayoutLimit(s)) this.bufferedToEvent(e, s);
- else if (this.schedule) {
- var o;
- const a =
- (o = this.schedule.items) == null
- ? void 0
- : o[this.findItemIndex(e) + 1];
- a && this.bufferedToItem(a);
- }
- }
- advanceAfterAssetEnded(e, n, i) {
- const r = Eu(e, i);
- if (e.isAssetPastPlayoutLimit(r)) {
- if (this.schedule) {
- const s = this.schedule.items;
- if (s) {
- const o = n + 1,
- a = s.length;
- if (o >= a) {
- this.setSchedulePosition(-1);
- return;
- }
- const u = e.resumeTime;
- (this.timelinePos < u &&
- (this.log(Po("advanceAfterAssetEnded", u)),
- (this.timelinePos = u),
- e.appendInPlace && this.advanceInPlace(u),
- this.checkBuffer(this.bufferedPos < u)),
- this.setSchedulePosition(o));
- }
- }
- } else {
- if (e.appendInPlace) {
- const s = e.assetList[r];
- s && this.advanceInPlace(s.timelineStart);
- }
- this.setSchedulePosition(n, r);
- }
- }
- setScheduleToAssetAtTime(e, n) {
- const i = this.schedule;
- if (!i) return;
- const r = n.parentIdentifier,
- s = i.getEvent(r);
- if (s) {
- const o = i.findEventIndex(r),
- a = i.findAssetIndex(s, e);
- this.advanceAfterAssetEnded(s, o, a - 1);
- }
- }
- setSchedulePosition(e, n) {
- var i;
- const r = (i = this.schedule) == null ? void 0 : i.items;
- if (!r || this.playbackDisabled) return;
- const s = e >= 0 ? r[e] : null;
- this.log(
- `setSchedulePosition ${e}, ${n} (${s && ye(s)}) pos: ${this.timelinePos}`,
- );
- const o = this.waitingItem || this.playingItem,
- a = this.playingLastItem;
- if (this.isInterstitial(o)) {
- const b = o.event,
- l = this.playingAsset,
- p = l?.identifier,
- M = p ? this.getAssetPlayer(p) : null;
- if (
- M &&
- p &&
- (!this.eventItemsMatch(o, s) ||
- (n !== void 0 && p !== b.assetList[n].identifier))
- ) {
- var u;
- const d = b.findAssetIndex(l);
- if (
- (this.log(
- `INTERSTITIAL_ASSET_ENDED ${d + 1}/${b.assetList.length} ${Ii(l)}`,
- ),
- (this.endedAsset = l),
- (this.playingAsset = null),
- this.hls.trigger(L.INTERSTITIAL_ASSET_ENDED, {
- asset: l,
- assetListIndex: d,
- event: b,
- schedule: r.slice(0),
- scheduleIndex: e,
- player: M,
- }),
- o !== this.playingItem)
- ) {
- this.itemsMatch(o, this.playingItem) &&
- !this.playingAsset &&
- this.advanceAfterAssetEnded(
- b,
- this.findItemIndex(this.playingItem),
- d,
- );
- return;
- }
- (this.retreiveMediaSource(p, s),
- M.media &&
- !((u = this.detachedData) != null && u.mediaSource) &&
- M.detachMedia());
- }
- if (
- !this.eventItemsMatch(o, s) &&
- ((this.endedItem = o),
- (this.playingItem = null),
- this.log(`INTERSTITIAL_ENDED ${b} ${ye(o)}`),
- (b.hasPlayed = !0),
- this.hls.trigger(L.INTERSTITIAL_ENDED, {
- event: b,
- schedule: r.slice(0),
- scheduleIndex: e,
- }),
- b.cue.once)
- ) {
- var c;
- this.updateSchedule();
- const d = (c = this.schedule) == null ? void 0 : c.items;
- if (s && d) {
- const O = this.findItemIndex(s);
- this.advanceSchedule(O, d, n, o, a);
- }
- return;
- }
- }
- this.advanceSchedule(e, r, n, o, a);
- }
- advanceSchedule(e, n, i, r, s) {
- const o = this.schedule;
- if (!o) return;
- const a = n[e] || null,
- u = this.primaryMedia,
- c = this.playerQueue;
- if (
- (c.length &&
- c.forEach((b) => {
- const l = b.interstitial,
- p = o.findEventIndex(l.identifier);
- (p < e || p > e + 1) && this.clearInterstitial(l, a);
- }),
- this.isInterstitial(a))
- ) {
- this.timelinePos = Math.min(Math.max(this.timelinePos, a.start), a.end);
- const b = a.event;
- if (i === void 0) {
- i = o.findAssetIndex(b, this.timelinePos);
- const d = Eu(b, i - 1);
- if (
- b.isAssetPastPlayoutLimit(d) ||
- (b.appendInPlace && this.timelinePos === a.end)
- ) {
- this.advanceAfterAssetEnded(b, e, i);
- return;
- }
- i = d;
- }
- const l = this.waitingItem;
- this.assetsBuffered(a, u) || this.setBufferingItem(a);
- let p = this.preloadAssets(b, i);
- if (
- (this.eventItemsMatch(a, l || r) ||
- ((this.waitingItem = a),
- this.log(
- `INTERSTITIAL_STARTED ${ye(a)} ${b.appendInPlace ? "append in place" : ""}`,
- ),
- this.hls.trigger(L.INTERSTITIAL_STARTED, {
- event: b,
- schedule: n.slice(0),
- scheduleIndex: e,
- })),
- !b.assetListLoaded)
- ) {
- this.log(`Waiting for ASSET-LIST to complete loading ${b}`);
- return;
- }
- if (
- (b.assetListLoader &&
- (b.assetListLoader.destroy(), (b.assetListLoader = void 0)),
- !u)
- ) {
- this.log(`Waiting for attachMedia to start Interstitial ${b}`);
- return;
- }
- ((this.waitingItem = this.endedItem = null), (this.playingItem = a));
- const M = b.assetList[i];
- if (!M) {
- this.advanceAfterAssetEnded(b, e, i || 0);
- return;
- }
- if (
- (p || (p = this.getAssetPlayer(M.identifier)),
- p === null || p.destroyed)
- ) {
- const d = b.assetList.length;
- (this.warn(`asset ${i + 1}/${d} player destroyed ${b}`),
- (p = this.createAssetPlayer(b, M, i)),
- p.loadSource());
- }
- if (
- !this.eventItemsMatch(a, this.bufferingItem) &&
- b.appendInPlace &&
- this.isAssetBuffered(M)
- )
- return;
- (this.startAssetPlayer(p, i, n, e, u), this.shouldPlay && F3(p.media));
- } else
- a
- ? (this.resumePrimary(a, e, r), this.shouldPlay && F3(this.hls.media))
- : s &&
- this.isInterstitial(r) &&
- ((this.endedItem = null),
- (this.playingItem = r),
- r.event.appendInPlace ||
- this.attachPrimary(o.durations.primary, null));
- }
- get playbackDisabled() {
- return this.hls.config.enableInterstitialPlayback === !1;
- }
- get primaryDetails() {
- var e;
- return (e = this.mediaSelection) == null ? void 0 : e.main.details;
- }
- get primaryLive() {
- var e;
- return !!((e = this.primaryDetails) != null && e.live);
- }
- resumePrimary(e, n, i) {
- var r, s;
- if (
- ((this.playingItem = e),
- (this.playingAsset = this.endedAsset = null),
- (this.waitingItem = this.endedItem = null),
- this.bufferedToItem(e),
- this.log(`resuming ${ye(e)}`),
- !((r = this.detachedData) != null && r.mediaSource))
- ) {
- let a = this.timelinePos;
- ((a < e.start || a >= e.end) &&
- ((a = this.getPrimaryResumption(e, n)),
- this.log(Po("resumePrimary", a)),
- (this.timelinePos = a)),
- this.attachPrimary(a, e));
- }
- if (!i) return;
- const o = (s = this.schedule) == null ? void 0 : s.items;
- o &&
- (this.log(`INTERSTITIALS_PRIMARY_RESUMED ${ye(e)}`),
- this.hls.trigger(L.INTERSTITIALS_PRIMARY_RESUMED, {
- schedule: o.slice(0),
- scheduleIndex: n,
- }),
- this.checkBuffer());
- }
- getPrimaryResumption(e, n) {
- const i = e.start;
- if (this.primaryLive) {
- const r = this.primaryDetails;
- if (n === 0) return this.hls.startPosition;
- if (r && (i < r.fragmentStart || i > r.edge))
- return this.hls.liveSyncPosition || -1;
- }
- return i;
- }
- isAssetBuffered(e) {
- const n = this.getAssetPlayer(e.identifier);
- return n != null && n.hls
- ? n.hls.bufferedToEnd
- : W0.bufferInfo(this.primaryMedia, this.timelinePos, 0).end + 1 >=
- e.timelineStart + (e.duration || 0);
- }
- attachPrimary(e, n, i) {
- (n ? this.setBufferingItem(n) : (this.bufferingItem = this.playingItem),
- (this.bufferingAsset = null));
- const r = this.primaryMedia;
- if (!r) return;
- const s = this.hls;
- (s.media
- ? this.checkBuffer()
- : (this.transferMediaTo(s, r), i && this.startLoadingPrimaryAt(e, i)),
- i ||
- (this.log(Po("attachPrimary", e)),
- (this.timelinePos = e),
- this.startLoadingPrimaryAt(e, i)));
- }
- startLoadingPrimaryAt(e, n) {
- var i;
- const r = this.hls;
- !r.loadingEnabled ||
- !r.media ||
- Math.abs(
- (((i = r.mainForwardBufferInfo) == null ? void 0 : i.start) ||
- r.media.currentTime) - e,
- ) > 0.5
- ? r.startLoad(e, n)
- : r.bufferingEnabled || r.resumeBuffering();
- }
- onManifestLoading() {
- var e;
- (this.stopLoad(),
- (e = this.schedule) == null || e.reset(),
- this.emptyPlayerQueue(),
- this.clearScheduleState(),
- (this.shouldPlay = !1),
- (this.bufferedPos = this.timelinePos = -1),
- (this.mediaSelection =
- this.altSelection =
- this.manager =
- this.requiredTracks =
- null),
- this.hls.off(L.BUFFER_CODECS, this.onBufferCodecs, this),
- this.hls.on(L.BUFFER_CODECS, this.onBufferCodecs, this));
- }
- onLevelUpdated(e, n) {
- if (n.level === -1 || !this.schedule) return;
- const i = this.hls.levels[n.level],
- r = $0($0({}, this.mediaSelection || this.altSelection), {}, { main: i });
- ((this.mediaSelection = r),
- this.schedule.parseInterstitialDateRanges(
- r,
- this.hls.config.interstitialAppendInPlace,
- ),
- !this.effectivePlayingItem && this.schedule.items && this.checkStart());
- }
- onAudioTrackUpdated(e, n) {
- const i = this.hls.audioTracks[n.id],
- r = this.mediaSelection;
- if (!r) {
- this.altSelection = $0($0({}, this.altSelection), {}, { audio: i });
- return;
- }
- const s = $0($0({}, r), {}, { audio: i });
- this.mediaSelection = s;
- }
- onSubtitleTrackUpdated(e, n) {
- const i = this.hls.subtitleTracks[n.id],
- r = this.mediaSelection;
- if (!r) {
- this.altSelection = $0($0({}, this.altSelection), {}, { subtitles: i });
- return;
- }
- const s = $0($0({}, r), {}, { subtitles: i });
- this.mediaSelection = s;
- }
- onAudioTrackSwitching(e, n) {
- const i = Zz(n);
- this.playerQueue.forEach(
- ({ hls: r }) => r && (r.setAudioOption(n) || r.setAudioOption(i)),
- );
- }
- onSubtitleTrackSwitch(e, n) {
- const i = Zz(n);
- this.playerQueue.forEach(
- ({ hls: r }) =>
- r &&
- (r.setSubtitleOption(n) || (n.id !== -1 && r.setSubtitleOption(i))),
- );
- }
- onBufferCodecs(e, n) {
- const i = n.tracks;
- i && (this.requiredTracks = i);
- }
- onBufferAppended(e, n) {
- this.checkBuffer();
- }
- onBufferFlushed(e, n) {
- const i = this.playingItem;
- if (
- i &&
- !this.itemsMatch(i, this.bufferingItem) &&
- !this.isInterstitial(i)
- ) {
- const r = this.timelinePos;
- ((this.bufferedPos = r), this.checkBuffer());
- }
- }
- onBufferedToEnd(e) {
- if (!this.schedule) return;
- const n = this.schedule.events;
- if (this.bufferedPos < Number.MAX_VALUE && n) {
- for (let r = 0; r < n.length; r++) {
- const s = n[r];
- if (s.cue.post) {
- var i;
- const o = this.schedule.findEventIndex(s.identifier),
- a = (i = this.schedule.items) == null ? void 0 : i[o];
- this.isInterstitial(a) &&
- this.eventItemsMatch(a, this.bufferingItem) &&
- this.bufferedToItem(a, 0);
- break;
- }
- }
- this.bufferedPos = Number.MAX_VALUE;
- }
- }
- onMediaEnded(e) {
- const n = this.playingItem;
- if (!this.playingLastItem && n) {
- const i = this.findItemIndex(n);
- this.setSchedulePosition(i + 1);
- } else this.shouldPlay = !1;
- }
- updateItem(e, n) {
- var i;
- const r = (i = this.schedule) == null ? void 0 : i.items;
- if (e && r) {
- const s = this.findItemIndex(e, n);
- return r[s] || null;
- }
- return null;
- }
- trimInPlace(e, n) {
- if (
- this.isInterstitial(e) &&
- e.event.appendInPlace &&
- n.end - e.end > 0.25
- ) {
- e.event.assetList.forEach((s, o) => {
- e.event.isAssetPastPlayoutLimit(o) &&
- this.clearAssetPlayer(s.identifier, null);
- });
- const i = e.end + 0.25,
- r = W0.bufferInfo(this.primaryMedia, i, 0);
- (r.end > i || (r.nextStart || 0) > i) &&
- (this.log(`trim buffered interstitial ${ye(e)} (was ${ye(n)})`),
- this.attachPrimary(i, null, !0),
- this.flushFrontBuffer(i));
- }
- }
- itemsMatch(e, n) {
- return (
- !!n &&
- (e === n ||
- (e.event && n.event && this.eventItemsMatch(e, n)) ||
- (!e.event &&
- !n.event &&
- this.findItemIndex(e) === this.findItemIndex(n)))
- );
- }
- eventItemsMatch(e, n) {
- var i;
- return (
- !!n &&
- (e === n ||
- e.event.identifier === ((i = n.event) == null ? void 0 : i.identifier))
- );
- }
- findItemIndex(e, n) {
- return e && this.schedule ? this.schedule.findItemIndex(e, n) : -1;
- }
- updateSchedule(e = !1) {
- var n;
- const i = this.mediaSelection;
- i && ((n = this.schedule) == null || n.updateSchedule(i, [], e));
- }
- checkBuffer(e) {
- var n;
- const i = (n = this.schedule) == null ? void 0 : n.items;
- if (!i) return;
- const r = W0.bufferInfo(this.primaryMedia, this.timelinePos, 0);
- (e && (this.bufferedPos = this.timelinePos),
- e || (e = r.len < 1),
- this.updateBufferedPos(r.end, i, e));
- }
- updateBufferedPos(e, n, i) {
- const r = this.schedule,
- s = this.bufferingItem;
- if (this.bufferedPos > e || !r) return;
- if (n.length === 1 && this.itemsMatch(n[0], s)) {
- this.bufferedPos = e;
- return;
- }
- const o = this.playingItem,
- a = this.findItemIndex(o);
- let u = r.findItemIndexAtTime(e);
- if (this.bufferedPos < e) {
- var c;
- const b = this.findItemIndex(s),
- l = Math.min(b + 1, n.length - 1),
- p = n[l];
- if (
- (((u === -1 && s && e >= s.end) ||
- ((c = p.event) != null && c.appendInPlace && e + 0.01 >= p.start)) &&
- (u = l),
- this.isInterstitial(s))
- ) {
- const M = s.event;
- if (
- (l - a > 1 && M.appendInPlace === !1) ||
- (M.assetList.length === 0 && M.assetListLoader)
- )
- return;
- }
- if (((this.bufferedPos = e), u > b && u > a)) this.bufferedToItem(p);
- else {
- const M = this.primaryDetails;
- this.primaryLive &&
- M &&
- e > M.edge - M.targetduration &&
- p.start < M.edge + this.hls.config.interstitialLiveLookAhead &&
- this.isInterstitial(p) &&
- this.preloadAssets(p.event, 0);
- }
- } else
- i &&
- o &&
- !this.itemsMatch(o, s) &&
- (u === a
- ? this.bufferedToItem(o)
- : u === a + 1 && this.bufferedToItem(n[u]));
- }
- assetsBuffered(e, n) {
- return e.event.assetList.length === 0
- ? !1
- : !e.event.assetList.some((r) => {
- const s = this.getAssetPlayer(r.identifier);
- return !(s != null && s.bufferedInPlaceToEnd(n));
- });
- }
- setBufferingItem(e) {
- const n = this.bufferingItem,
- i = this.schedule;
- if (!this.itemsMatch(e, n) && i) {
- const { items: r, events: s } = i;
- if (!r || !s) return n;
- const o = this.isInterstitial(e),
- a = this.getBufferingPlayer();
- ((this.bufferingItem = e),
- (this.bufferedPos = Math.max(
- e.start,
- Math.min(e.end, this.timelinePos),
- )));
- const u = a ? a.remaining : n ? n.end - this.timelinePos : 0;
- if (
- (this.log(
- `INTERSTITIALS_BUFFERED_TO_BOUNDARY ${ye(e)}` +
- (n ? ` (${u.toFixed(2)} remaining)` : ""),
- ),
- !this.playbackDisabled)
- )
- if (o) {
- const c = i.findAssetIndex(e.event, this.bufferedPos);
- e.event.assetList.forEach((b, l) => {
- const p = this.getAssetPlayer(b.identifier);
- p && (l === c && p.loadSource(), p.resumeBuffering());
- });
- } else
- (this.hls.resumeBuffering(),
- this.playerQueue.forEach((c) => c.pauseBuffering()));
- this.hls.trigger(L.INTERSTITIALS_BUFFERED_TO_BOUNDARY, {
- events: s.slice(0),
- schedule: r.slice(0),
- bufferingIndex: this.findItemIndex(e),
- playingIndex: this.findItemIndex(this.playingItem),
- });
- } else this.bufferingItem !== e && (this.bufferingItem = e);
- return n;
- }
- bufferedToItem(e, n = 0) {
- const i = this.setBufferingItem(e);
- if (!this.playbackDisabled) {
- if (this.isInterstitial(e)) this.bufferedToEvent(e, n);
- else if (i !== null) {
- this.bufferingAsset = null;
- const r = this.detachedData;
- r
- ? r.mediaSource
- ? this.attachPrimary(e.start, e, !0)
- : this.preloadPrimary(e)
- : this.preloadPrimary(e);
- }
- }
- }
- preloadPrimary(e) {
- const n = this.findItemIndex(e),
- i = this.getPrimaryResumption(e, n);
- this.startLoadingPrimaryAt(i);
- }
- bufferedToEvent(e, n) {
- const i = e.event,
- r = i.assetList.length === 0 && !i.assetListLoader,
- s = i.cue.once;
- if (r || !s) {
- const o = this.preloadAssets(i, n);
- if (o != null && o.interstitial.appendInPlace) {
- const a = this.primaryMedia;
- a && this.bufferAssetPlayer(o, a);
- }
- }
- }
- preloadAssets(e, n) {
- const i = e.assetUrl,
- r = e.assetList.length,
- s = r === 0 && !e.assetListLoader,
- o = e.cue.once;
- if (s) {
- const u = e.timelineStart;
- if (e.appendInPlace) {
- var a;
- const p = this.playingItem;
- !this.isInterstitial(p) &&
- (p == null || (a = p.nextEvent) == null ? void 0 : a.identifier) ===
- e.identifier &&
- this.flushFrontBuffer(u + 0.25);
- }
- let c,
- b = 0;
- if (
- (!this.playingItem &&
- this.primaryLive &&
- ((b = this.hls.startPosition),
- b === -1 && (b = this.hls.liveSyncPosition || 0)),
- b && !(e.cue.pre || e.cue.post))
- ) {
- const p = b - u;
- p > 0 && (c = Math.round(p * 1e3) / 1e3);
- }
- if (
- (this.log(
- `Load interstitial asset ${n + 1}/${i ? 1 : r} ${e}${c ? ` live-start: ${b} start-offset: ${c}` : ""}`,
- ),
- i)
- )
- return this.createAsset(e, 0, 0, u, e.duration, i);
- const l = this.assetListLoader.loadAssetList(e, c);
- l && (e.assetListLoader = l);
- } else if (!o && r) {
- for (let c = n; c < r; c++) {
- const b = e.assetList[c],
- l = this.getAssetPlayerQueueIndex(b.identifier);
- (l === -1 || this.playerQueue[l].destroyed) &&
- !b.error &&
- this.createAssetPlayer(e, b, c);
- }
- const u = e.assetList[n];
- if (u) {
- const c = this.getAssetPlayer(u.identifier);
- return (c && c.loadSource(), c);
- }
- }
- return null;
- }
- flushFrontBuffer(e) {
- const n = this.requiredTracks;
- if (!n) return;
- (this.log(`Removing front buffer starting at ${e}`),
- Object.keys(n).forEach((r) => {
- this.hls.trigger(L.BUFFER_FLUSHING, {
- startOffset: e,
- endOffset: 1 / 0,
- type: r,
- });
- }));
- }
- getAssetPlayerQueueIndex(e) {
- const n = this.playerQueue;
- for (let i = 0; i < n.length; i++) if (e === n[i].assetId) return i;
- return -1;
- }
- getAssetPlayer(e) {
- const n = this.getAssetPlayerQueueIndex(e);
- return this.playerQueue[n] || null;
- }
- getBufferingPlayer() {
- const { playerQueue: e, primaryMedia: n } = this;
- if (n) {
- for (let i = 0; i < e.length; i++) if (e[i].media === n) return e[i];
- }
- return null;
- }
- createAsset(e, n, i, r, s, o) {
- const a = {
- parentIdentifier: e.identifier,
- identifier: lD(e, o, n),
- duration: s,
- startOffset: i,
- timelineStart: r,
- uri: o,
- };
- return this.createAssetPlayer(e, a, n);
- }
- createAssetPlayer(e, n, i) {
- const r = this.hls,
- s = r.userConfig;
- let o = s.videoPreference;
- const a = r.loadLevelObj || r.levels[r.currentLevel];
- (o || a) &&
- ((o = H0({}, o)),
- a.videoCodec && (o.videoCodec = a.videoCodec),
- a.videoRange && (o.allowedVideoRanges = [a.videoRange]));
- const u = r.audioTracks[r.audioTrack],
- c = r.subtitleTracks[r.subtitleTrack];
- let b = 0;
- if (this.primaryLive || e.appendInPlace) {
- const h = this.timelinePos - n.timelineStart;
- if (h > 1) {
- const q = n.duration;
- q && h < q && (b = h);
- }
- }
- const l = n.identifier,
- p = $0(
- $0({}, s),
- {},
- {
- maxMaxBufferLength: Math.min(180, r.config.maxMaxBufferLength),
- autoStartLoad: !0,
- startFragPrefetch: !0,
- primarySessionId: r.sessionId,
- assetPlayerId: l,
- abrEwmaDefaultEstimate: r.bandwidthEstimate,
- interstitialsController: void 0,
- startPosition: b,
- liveDurationInfinity: !1,
- testBandwidth: !1,
- videoPreference: o,
- audioPreference: u || s.audioPreference,
- subtitlePreference: c || s.subtitlePreference,
- },
- );
- e.appendInPlace &&
- ((e.appendInPlaceStarted = !0),
- n.timelineStart && (p.timelineOffset = n.timelineStart));
- const M = p.cmcd;
- (M != null &&
- M.sessionId &&
- M.contentId &&
- (p.cmcd = H0({}, M, { contentId: cs(n.uri) })),
- this.getAssetPlayer(l) &&
- this.warn(`Duplicate date range identifier ${e} and asset ${l}`));
- const d = new fD(this.HlsPlayerClass, p, e, n);
- (this.playerQueue.push(d), (e.assetList[i] = n));
- let O = !0;
- const f = (h) => {
- if (h.live) {
- var q;
- const E = new Error(`Interstitials MUST be VOD assets ${e}`),
- _ = {
- fatal: !0,
- type: h0.OTHER_ERROR,
- details: $.INTERSTITIAL_ASSET_ITEM_ERROR,
- error: E,
- },
- T =
- ((q = this.schedule) == null
- ? void 0
- : q.findEventIndex(e.identifier)) || -1;
- this.handleAssetItemError(_, e, T, i, E.message);
- return;
- }
- const v = h.edge - h.fragmentStart,
- m = n.duration;
- (O || m === null || v > m) &&
- ((O = !1),
- this.log(`Interstitial asset "${l}" duration change ${m} > ${v}`),
- (n.duration = v),
- this.updateSchedule());
- };
- (d.on(L.LEVEL_UPDATED, (h, { details: q }) => f(q)),
- d.on(L.LEVEL_PTS_UPDATED, (h, { details: q }) => f(q)),
- d.on(L.EVENT_CUE_ENTER, () => this.onInterstitialCueEnter()));
- const z = (h, q) => {
- const v = this.getAssetPlayer(l);
- if (v && q.tracks) {
- (v.off(L.BUFFER_CODECS, z), (v.tracks = q.tracks));
- const m = this.primaryMedia;
- this.bufferingAsset === v.assetItem &&
- m &&
- !v.media &&
- this.bufferAssetPlayer(v, m);
- }
- };
- d.on(L.BUFFER_CODECS, z);
- const g = () => {
- var h;
- const q = this.getAssetPlayer(l);
- if ((this.log(`buffered to end of asset ${q}`), !q || !this.schedule))
- return;
- const v = this.schedule.findEventIndex(e.identifier),
- m = (h = this.schedule.items) == null ? void 0 : h[v];
- this.isInterstitial(m) && this.advanceAssetBuffering(m, n);
- };
- d.on(L.BUFFERED_TO_END, g);
- const A = (h) => () => {
- if (!this.getAssetPlayer(l) || !this.schedule) return;
- this.shouldPlay = !0;
- const v = this.schedule.findEventIndex(e.identifier);
- this.advanceAfterAssetEnded(e, v, h);
- };
- return (
- d.once(L.MEDIA_ENDED, A(i)),
- d.once(L.PLAYOUT_LIMIT_REACHED, A(1 / 0)),
- d.on(L.ERROR, (h, q) => {
- if (!this.schedule) return;
- const v = this.getAssetPlayer(l);
- if (q.details === $.BUFFER_STALLED_ERROR) {
- if (v != null && v.appendInPlace) {
- this.handleInPlaceStall(e);
- return;
- }
- (this.onTimeupdate(), this.checkBuffer(!0));
- return;
- }
- this.handleAssetItemError(
- q,
- e,
- this.schedule.findEventIndex(e.identifier),
- i,
- `Asset player error ${q.error} ${e}`,
- );
- }),
- d.on(L.DESTROYING, () => {
- if (!this.getAssetPlayer(l) || !this.schedule) return;
- const q = new Error(`Asset player destroyed unexpectedly ${l}`),
- v = {
- fatal: !0,
- type: h0.OTHER_ERROR,
- details: $.INTERSTITIAL_ASSET_ITEM_ERROR,
- error: q,
- };
- this.handleAssetItemError(
- v,
- e,
- this.schedule.findEventIndex(e.identifier),
- i,
- q.message,
- );
- }),
- this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${Ii(n)}`),
- this.hls.trigger(L.INTERSTITIAL_ASSET_PLAYER_CREATED, {
- asset: n,
- assetListIndex: i,
- event: e,
- player: d,
- }),
- d
- );
- }
- clearInterstitial(e, n) {
- (e.assetList.forEach((i) => {
- this.clearAssetPlayer(i.identifier, n);
- }),
- e.reset());
- }
- resetAssetPlayer(e) {
- const n = this.getAssetPlayerQueueIndex(e);
- if (n !== -1) {
- this.log(`reset asset player "${e}" after error`);
- const i = this.playerQueue[n];
- (this.transferMediaFromPlayer(i, null), i.resetDetails());
- }
- }
- clearAssetPlayer(e, n) {
- const i = this.getAssetPlayerQueueIndex(e);
- if (i !== -1) {
- const r = this.playerQueue[i];
- (this.log(`clear ${r} toSegment: ${n && ye(n)}`),
- this.transferMediaFromPlayer(r, n),
- this.playerQueue.splice(i, 1),
- r.destroy());
- }
- }
- emptyPlayerQueue() {
- let e;
- for (; (e = this.playerQueue.pop()); ) e.destroy();
- this.playerQueue = [];
- }
- startAssetPlayer(e, n, i, r, s) {
- const { interstitial: o, assetItem: a, assetId: u } = e,
- c = o.assetList.length,
- b = this.playingAsset;
- ((this.endedAsset = null),
- (this.playingAsset = a),
- (!b || b.identifier !== u) &&
- (b && (this.clearAssetPlayer(b.identifier, i[r]), delete b.error),
- this.log(`INTERSTITIAL_ASSET_STARTED ${n + 1}/${c} ${Ii(a)}`),
- this.hls.trigger(L.INTERSTITIAL_ASSET_STARTED, {
- asset: a,
- assetListIndex: n,
- event: o,
- schedule: i.slice(0),
- scheduleIndex: r,
- player: e,
- })),
- this.bufferAssetPlayer(e, s));
- }
- bufferAssetPlayer(e, n) {
- var i, r;
- if (!this.schedule) return;
- const { interstitial: s, assetItem: o } = e,
- a = this.schedule.findEventIndex(s.identifier),
- u = (i = this.schedule.items) == null ? void 0 : i[a];
- if (!u) return;
- (e.loadSource(), this.setBufferingItem(u), (this.bufferingAsset = o));
- const c = this.getBufferingPlayer();
- if (c === e) return;
- const b = s.appendInPlace;
- if (b && c?.interstitial.appendInPlace === !1) return;
- const l =
- c?.tracks ||
- ((r = this.detachedData) == null ? void 0 : r.tracks) ||
- this.requiredTracks;
- if (b && o !== this.playingAsset) {
- if (!e.tracks) {
- this.log(`Waiting for track info before buffering ${e}`);
- return;
- }
- if (l && !$5(l, e.tracks)) {
- const p = new Error(
- `Asset ${Ii(o)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(l)}')`,
- ),
- M = {
- fatal: !0,
- type: h0.OTHER_ERROR,
- details: $.INTERSTITIAL_ASSET_ITEM_ERROR,
- error: p,
- },
- d = s.findAssetIndex(o);
- this.handleAssetItemError(M, s, a, d, p.message);
- return;
- }
- }
- this.transferMediaTo(e, n);
- }
- handleInPlaceStall(e) {
- const n = this.schedule,
- i = this.primaryMedia;
- if (!n || !i) return;
- const r = i.currentTime,
- s = n.findAssetIndex(e, r),
- o = e.assetList[s];
- if (o) {
- const a = this.getAssetPlayer(o.identifier);
- if (a) {
- const u = a.currentTime || r - o.timelineStart,
- c = a.duration - u;
- if (
- (this.warn(
- `Stalled at ${u} of ${u + c} in ${a} ${e} (media.currentTime: ${r})`,
- ),
- u && (c / i.playbackRate < 0.5 || a.bufferedInPlaceToEnd(i)) && a.hls)
- ) {
- const b = n.findEventIndex(e.identifier);
- this.advanceAfterAssetEnded(e, b, s);
- }
- }
- }
- }
- advanceInPlace(e) {
- const n = this.primaryMedia;
- n && n.currentTime < e && (n.currentTime = e);
- }
- handleAssetItemError(e, n, i, r, s) {
- if (e.details === $.BUFFER_STALLED_ERROR) return;
- const o = n.assetList[r] || null;
- if (
- (this.warn(`INTERSTITIAL_ASSET_ERROR ${o && Ii(o)} ${e.error}`),
- !this.schedule)
- )
- return;
- const a = o?.identifier || "",
- u = this.getAssetPlayerQueueIndex(a),
- c = this.playerQueue[u] || null,
- b = this.schedule.items,
- l = H0({}, e, {
- fatal: !1,
- errorAction: Qi(!0),
- asset: o,
- assetListIndex: r,
- event: n,
- schedule: b,
- scheduleIndex: i,
- player: c,
- });
- if ((this.hls.trigger(L.INTERSTITIAL_ASSET_ERROR, l), !e.fatal)) return;
- const p = this.playingAsset,
- M = this.bufferingAsset,
- d = new Error(s);
- if (
- (o && (this.clearAssetPlayer(a, null), (o.error = d)),
- !n.assetList.some((O) => !O.error))
- )
- n.error = d;
- else
- for (let O = r; O < n.assetList.length; O++)
- this.resetAssetPlayer(n.assetList[O].identifier);
- (this.updateSchedule(!0),
- n.error
- ? this.primaryFallback(n)
- : p && p.identifier === a
- ? this.advanceAfterAssetEnded(n, i, r)
- : M &&
- M.identifier === a &&
- this.isInterstitial(this.bufferingItem) &&
- this.advanceAssetBuffering(this.bufferingItem, M));
- }
- primaryFallback(e) {
- const n = e.timelineStart,
- i = this.effectivePlayingItem;
- if (i) {
- this.log(
- `Fallback to primary from event "${e.identifier}" start: ${n} pos: ${this.timelinePos} playing: ${ye(i)} error: ${e.error}`,
- );
- let r = this.timelinePos;
- r === -1 && (r = this.hls.startPosition);
- const s = this.updateItem(i, r);
- if (
- (this.itemsMatch(i, s) && this.clearInterstitial(e, null),
- e.appendInPlace &&
- (this.attachPrimary(n, null), this.flushFrontBuffer(n)),
- !this.schedule)
- )
- return;
- const o = this.schedule.findItemIndexAtTime(r);
- this.setSchedulePosition(o);
- } else this.checkStart();
- }
- onAssetListLoaded(e, n) {
- var i, r;
- const s = n.event,
- o = s.identifier,
- a = n.assetListResponse.ASSETS;
- if (!((i = this.schedule) != null && i.hasEvent(o))) return;
- const u = s.timelineStart,
- c = s.duration;
- let b = 0;
- (a.forEach((O, f) => {
- const z = parseFloat(O.DURATION);
- (this.createAsset(s, f, b, u + b, z, O.URI), (b += z));
- }),
- (s.duration = b),
- this.log(`Loaded asset-list with duration: ${b} (was: ${c}) ${s}`));
- const l = this.waitingItem,
- p = l?.event.identifier === o;
- this.updateSchedule();
- const M = (r = this.bufferingItem) == null ? void 0 : r.event;
- if (p) {
- var d;
- const O = this.schedule.findEventIndex(o),
- f = (d = this.schedule.items) == null ? void 0 : d[O];
- if (f) {
- if (
- !this.playingItem &&
- this.timelinePos > f.end &&
- this.schedule.findItemIndexAtTime(this.timelinePos) !== O
- ) {
- ((s.error = new Error(
- `Interstitial no longer within playback range ${this.timelinePos} ${s}`,
- )),
- this.updateSchedule(!0),
- this.primaryFallback(s));
- return;
- }
- this.setBufferingItem(f);
- }
- this.setSchedulePosition(O);
- } else if (M?.identifier === o) {
- const O = s.assetList[0];
- if (O) {
- const f = this.getAssetPlayer(O.identifier);
- if (M.appendInPlace) {
- const z = this.primaryMedia;
- f && z && this.bufferAssetPlayer(f, z);
- } else f && f.loadSource();
- }
- }
- }
- onError(e, n) {
- if (this.schedule)
- switch (n.details) {
- case $.ASSET_LIST_PARSING_ERROR:
- case $.ASSET_LIST_LOAD_ERROR:
- case $.ASSET_LIST_LOAD_TIMEOUT: {
- const i = n.interstitial;
- i && (this.updateSchedule(!0), this.primaryFallback(i));
- break;
- }
- case $.BUFFER_STALLED_ERROR: {
- const i = this.endedItem || this.waitingItem || this.playingItem;
- if (this.isInterstitial(i) && i.event.appendInPlace) {
- this.handleInPlaceStall(i.event);
- return;
- }
- (this.log(
- `Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`,
- ),
- this.onTimeupdate(),
- this.checkBuffer(!0));
- break;
- }
- }
- }
-}
-const U3 = 500;
-class AD extends RM {
- constructor(e, n, i) {
- (super(e, n, i, "subtitle-stream-controller", z0.SUBTITLE),
- (this.currentTrackId = -1),
- (this.tracksBuffered = []),
- (this.mainDetails = null),
- this.registerListeners());
- }
- onHandlerDestroying() {
- (this.unregisterListeners(),
- super.onHandlerDestroying(),
- (this.mainDetails = null));
- }
- registerListeners() {
- super.registerListeners();
- const { hls: e } = this;
- (e.on(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.on(L.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this),
- e.on(L.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this),
- e.on(L.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this),
- e.on(L.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this),
- e.on(L.BUFFER_FLUSHING, this.onBufferFlushing, this));
- }
- unregisterListeners() {
- super.unregisterListeners();
- const { hls: e } = this;
- (e.off(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.off(L.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this),
- e.off(L.SUBTITLE_TRACK_SWITCH, this.onSubtitleTrackSwitch, this),
- e.off(L.SUBTITLE_TRACK_LOADED, this.onSubtitleTrackLoaded, this),
- e.off(L.SUBTITLE_FRAG_PROCESSED, this.onSubtitleFragProcessed, this),
- e.off(L.BUFFER_FLUSHING, this.onBufferFlushing, this));
- }
- startLoad(e, n) {
- (this.stopLoad(),
- (this.state = e0.IDLE),
- this.setInterval(U3),
- (this.nextLoadPosition = this.lastCurrentTime = e + this.timelineOffset),
- (this.startPosition = n ? -1 : e),
- this.tick());
- }
- onManifestLoading() {
- (super.onManifestLoading(), (this.mainDetails = null));
- }
- onMediaDetaching(e, n) {
- ((this.tracksBuffered = []), super.onMediaDetaching(e, n));
- }
- onLevelLoaded(e, n) {
- this.mainDetails = n.details;
- }
- onSubtitleFragProcessed(e, n) {
- const { frag: i, success: r } = n;
- if (
- (this.fragContextChanged(i) ||
- (c1(i) && (this.fragPrevious = i), (this.state = e0.IDLE)),
- !r)
- )
- return;
- const s = this.tracksBuffered[this.currentTrackId];
- if (!s) return;
- let o;
- const a = i.start;
- for (let c = 0; c < s.length; c++)
- if (a >= s[c].start && a <= s[c].end) {
- o = s[c];
- break;
- }
- const u = i.start + i.duration;
- (o ? (o.end = u) : ((o = { start: a, end: u }), s.push(o)),
- this.fragmentTracker.fragBuffered(i),
- this.fragBufferedComplete(i, null),
- this.media && this.tick());
- }
- onBufferFlushing(e, n) {
- const { startOffset: i, endOffset: r } = n;
- if (i === 0 && r !== Number.POSITIVE_INFINITY) {
- const s = r - 1;
- if (s <= 0) return;
- ((n.endOffsetSubtitles = Math.max(0, s)),
- this.tracksBuffered.forEach((o) => {
- for (let a = 0; a < o.length; ) {
- if (o[a].end <= s) {
- o.shift();
- continue;
- } else if (o[a].start < s) o[a].start = s;
- else break;
- a++;
- }
- }),
- this.fragmentTracker.removeFragmentsInRange(i, s, z0.SUBTITLE));
- }
- }
- onError(e, n) {
- const i = n.frag;
- i?.type === z0.SUBTITLE &&
- (n.details === $.FRAG_GAP && this.fragmentTracker.fragBuffered(i, !0),
- this.fragCurrent && this.fragCurrent.abortRequests(),
- this.state !== e0.STOPPED && (this.state = e0.IDLE));
- }
- onSubtitleTracksUpdated(e, { subtitleTracks: n }) {
- if (this.levels && Ug(this.levels, n)) {
- this.levels = n.map((i) => new Is(i));
- return;
- }
- ((this.tracksBuffered = []),
- (this.levels = n.map((i) => {
- const r = new Is(i);
- return ((this.tracksBuffered[r.id] = []), r);
- })),
- this.fragmentTracker.removeFragmentsInRange(
- 0,
- Number.POSITIVE_INFINITY,
- z0.SUBTITLE,
- ),
- (this.fragPrevious = null),
- (this.mediaBuffer = null));
- }
- onSubtitleTrackSwitch(e, n) {
- var i;
- if (
- ((this.currentTrackId = n.id),
- !((i = this.levels) != null && i.length) || this.currentTrackId === -1)
- ) {
- this.clearInterval();
- return;
- }
- const r = this.levels[this.currentTrackId];
- (r != null && r.details
- ? (this.mediaBuffer = this.mediaBufferTimeRanges)
- : (this.mediaBuffer = null),
- r && this.state !== e0.STOPPED && this.setInterval(U3));
- }
- onSubtitleTrackLoaded(e, n) {
- var i;
- const { currentTrackId: r, levels: s } = this,
- { details: o, id: a } = n;
- if (!s) {
- this.warn(`Subtitle tracks were reset while loading level ${a}`);
- return;
- }
- const u = s[a];
- if (a >= s.length || !u) return;
- (this.log(
- `Subtitle track ${a} loaded [${o.startSN},${o.endSN}]${o.lastPartSn ? `[part-${o.lastPartSn}-${o.lastPartIndex}]` : ""},duration:${o.totalduration}`,
- ),
- (this.mediaBuffer = this.mediaBufferTimeRanges));
- let c = 0;
- if (o.live || ((i = u.details) != null && i.live)) {
- if (o.deltaUpdateFailed) return;
- const l = this.mainDetails;
- if (!l) {
- this.startFragRequested = !1;
- return;
- }
- const p = l.fragments[0];
- if (!u.details)
- o.hasProgramDateTime && l.hasProgramDateTime
- ? (Wc(o, l), (c = o.fragmentStart))
- : p && ((c = p.start), Rp(o, c));
- else {
- var b;
- ((c = this.alignPlaylists(
- o,
- u.details,
- (b = this.levelLastLoaded) == null ? void 0 : b.details,
- )),
- c === 0 && p && ((c = p.start), Rp(o, c)));
- }
- l && !this.startFragRequested && this.setStartPosition(l, c);
- }
- ((u.details = o),
- (this.levelLastLoaded = u),
- a === r &&
- (this.hls.trigger(L.SUBTITLE_TRACK_UPDATED, {
- details: o,
- id: a,
- groupId: n.groupId,
- }),
- this.tick(),
- o.live &&
- !this.fragCurrent &&
- this.media &&
- this.state === e0.IDLE &&
- (zi(null, o.fragments, this.media.currentTime, 0) ||
- (this.warn("Subtitle playlist not aligned with playback"),
- (u.details = void 0)))));
- }
- _handleFragmentLoadComplete(e) {
- const { frag: n, payload: i } = e,
- r = n.decryptdata,
- s = this.hls;
- if (
- !this.fragContextChanged(n) &&
- i &&
- i.byteLength > 0 &&
- r != null &&
- r.key &&
- r.iv &&
- Ji(r.method)
- ) {
- const o = performance.now();
- this.decrypter
- .decrypt(new Uint8Array(i), r.key.buffer, r.iv.buffer, mM(r.method))
- .catch((a) => {
- throw (
- s.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.FRAG_DECRYPT_ERROR,
- fatal: !1,
- error: a,
- reason: a.message,
- frag: n,
- }),
- a
- );
- })
- .then((a) => {
- const u = performance.now();
- s.trigger(L.FRAG_DECRYPTED, {
- frag: n,
- payload: a,
- stats: { tstart: o, tdecrypt: u },
- });
- })
- .catch((a) => {
- (this.warn(`${a.name}: ${a.message}`), (this.state = e0.IDLE));
- });
- }
- }
- doTick() {
- if (!this.media) {
- this.state = e0.IDLE;
- return;
- }
- if (this.state === e0.IDLE) {
- const { currentTrackId: e, levels: n } = this,
- i = n?.[e];
- if (!i || !n.length || !i.details || this.waitForLive(i)) return;
- const { config: r } = this,
- s = this.getLoadPosition(),
- o = W0.bufferedInfo(
- this.tracksBuffered[this.currentTrackId] || [],
- s,
- r.maxBufferHole,
- ),
- { end: a, len: u } = o,
- c = i.details,
- b = this.hls.maxBufferLength + c.levelTargetDuration;
- if (u > b) return;
- const l = c.fragments,
- p = l.length,
- M = c.edge;
- let d = null;
- const O = this.fragPrevious;
- if (a < M) {
- const g = r.maxFragLookUpTolerance,
- A = a > M - g ? 0 : g;
- ((d = zi(O, l, Math.max(l[0].start, a), A)),
- !d && O && O.start < l[0].start && (d = l[0]));
- } else d = l[p - 1];
- if (((d = this.filterReplacedPrimary(d, i.details)), !d)) return;
- const f = d.sn - c.startSN,
- z = l[f - 1];
- if (
- (z &&
- z.cc === d.cc &&
- this.fragmentTracker.getState(z) === d1.NOT_LOADED &&
- (d = z),
- this.fragmentTracker.getState(d) === d1.NOT_LOADED)
- ) {
- const g = this.mapToInitFragWhenRequired(d);
- g && this.loadFragment(g, i, a);
- }
- }
- }
- loadFragment(e, n, i) {
- c1(e) ? super.loadFragment(e, n, i) : this._loadInitSegment(e, n);
- }
- get mediaBufferTimeRanges() {
- return new qD(this.tracksBuffered[this.currentTrackId] || []);
- }
-}
-class qD {
- constructor(e) {
- this.buffered = void 0;
- const n = (i, r, s) => {
- if (((r = r >>> 0), r > s - 1))
- throw new DOMException(
- `Failed to execute '${i}' on 'TimeRanges': The index provided (${r}) is greater than the maximum bound (${s})`,
- );
- return e[r][i];
- };
- this.buffered = {
- get length() {
- return e.length;
- },
- end(i) {
- return n("end", i, e.length);
- },
- start(i) {
- return n("start", i, e.length);
- },
- };
- }
-}
-const gD = {
- 42: 225,
- 92: 233,
- 94: 237,
- 95: 243,
- 96: 250,
- 123: 231,
- 124: 247,
- 125: 209,
- 126: 241,
- 127: 9608,
- 128: 174,
- 129: 176,
- 130: 189,
- 131: 191,
- 132: 8482,
- 133: 162,
- 134: 163,
- 135: 9834,
- 136: 224,
- 137: 32,
- 138: 232,
- 139: 226,
- 140: 234,
- 141: 238,
- 142: 244,
- 143: 251,
- 144: 193,
- 145: 201,
- 146: 211,
- 147: 218,
- 148: 220,
- 149: 252,
- 150: 8216,
- 151: 161,
- 152: 42,
- 153: 8217,
- 154: 9473,
- 155: 169,
- 156: 8480,
- 157: 8226,
- 158: 8220,
- 159: 8221,
- 160: 192,
- 161: 194,
- 162: 199,
- 163: 200,
- 164: 202,
- 165: 203,
- 166: 235,
- 167: 206,
- 168: 207,
- 169: 239,
- 170: 212,
- 171: 217,
- 172: 249,
- 173: 219,
- 174: 171,
- 175: 187,
- 176: 195,
- 177: 227,
- 178: 205,
- 179: 204,
- 180: 236,
- 181: 210,
- 182: 242,
- 183: 213,
- 184: 245,
- 185: 123,
- 186: 125,
- 187: 92,
- 188: 94,
- 189: 95,
- 190: 124,
- 191: 8764,
- 192: 196,
- 193: 228,
- 194: 214,
- 195: 246,
- 196: 223,
- 197: 165,
- 198: 164,
- 199: 9475,
- 200: 197,
- 201: 229,
- 202: 216,
- 203: 248,
- 204: 9487,
- 205: 9491,
- 206: 9495,
- 207: 9499,
- },
- s6 = (t) => String.fromCharCode(gD[t] || t),
- we = 15,
- mt = 100,
- mD = { 17: 1, 18: 3, 21: 5, 22: 7, 23: 9, 16: 11, 19: 12, 20: 14 },
- WD = { 17: 2, 18: 4, 21: 6, 22: 8, 23: 10, 19: 13, 20: 15 },
- RD = { 25: 1, 26: 3, 29: 5, 30: 7, 31: 9, 24: 11, 27: 12, 28: 14 },
- yD = { 25: 2, 26: 4, 29: 6, 30: 8, 31: 10, 27: 13, 28: 15 },
- LD = [
- "white",
- "green",
- "blue",
- "cyan",
- "red",
- "yellow",
- "magenta",
- "black",
- "transparent",
- ];
-class vD {
- constructor() {
- ((this.time = null), (this.verboseLevel = 0));
- }
- log(e, n) {
- if (this.verboseLevel >= e) {
- const i = typeof n == "function" ? n() : n;
- U0.log(`${this.time} [${e}] ${i}`);
- }
- }
-}
-const Cn = function (e) {
- const n = [];
- for (let i = 0; i < e.length; i++) n.push(e[i].toString(16));
- return n;
-};
-class o6 {
- constructor() {
- ((this.foreground = "white"),
- (this.underline = !1),
- (this.italics = !1),
- (this.background = "black"),
- (this.flash = !1));
- }
- reset() {
- ((this.foreground = "white"),
- (this.underline = !1),
- (this.italics = !1),
- (this.background = "black"),
- (this.flash = !1));
- }
- setStyles(e) {
- const n = ["foreground", "underline", "italics", "background", "flash"];
- for (let i = 0; i < n.length; i++) {
- const r = n[i];
- e.hasOwnProperty(r) && (this[r] = e[r]);
- }
- }
- isDefault() {
- return (
- this.foreground === "white" &&
- !this.underline &&
- !this.italics &&
- this.background === "black" &&
- !this.flash
- );
- }
- equals(e) {
- return (
- this.foreground === e.foreground &&
- this.underline === e.underline &&
- this.italics === e.italics &&
- this.background === e.background &&
- this.flash === e.flash
- );
- }
- copy(e) {
- ((this.foreground = e.foreground),
- (this.underline = e.underline),
- (this.italics = e.italics),
- (this.background = e.background),
- (this.flash = e.flash));
- }
- toString() {
- return (
- "color=" +
- this.foreground +
- ", underline=" +
- this.underline +
- ", italics=" +
- this.italics +
- ", background=" +
- this.background +
- ", flash=" +
- this.flash
- );
- }
-}
-class ED {
- constructor() {
- ((this.uchar = " "), (this.penState = new o6()));
- }
- reset() {
- ((this.uchar = " "), this.penState.reset());
- }
- setChar(e, n) {
- ((this.uchar = e), this.penState.copy(n));
- }
- setPenState(e) {
- this.penState.copy(e);
- }
- equals(e) {
- return this.uchar === e.uchar && this.penState.equals(e.penState);
- }
- copy(e) {
- ((this.uchar = e.uchar), this.penState.copy(e.penState));
- }
- isEmpty() {
- return this.uchar === " " && this.penState.isDefault();
- }
-}
-class TD {
- constructor(e) {
- ((this.chars = []),
- (this.pos = 0),
- (this.currPenState = new o6()),
- (this.cueStartTime = null),
- (this.logger = void 0));
- for (let n = 0; n < mt; n++) this.chars.push(new ED());
- this.logger = e;
- }
- equals(e) {
- for (let n = 0; n < mt; n++)
- if (!this.chars[n].equals(e.chars[n])) return !1;
- return !0;
- }
- copy(e) {
- for (let n = 0; n < mt; n++) this.chars[n].copy(e.chars[n]);
- }
- isEmpty() {
- let e = !0;
- for (let n = 0; n < mt; n++)
- if (!this.chars[n].isEmpty()) {
- e = !1;
- break;
- }
- return e;
- }
- setCursor(e) {
- (this.pos !== e && (this.pos = e),
- this.pos < 0
- ? (this.logger.log(3, "Negative cursor position " + this.pos),
- (this.pos = 0))
- : this.pos > mt &&
- (this.logger.log(3, "Too large cursor position " + this.pos),
- (this.pos = mt)));
- }
- moveCursor(e) {
- const n = this.pos + e;
- if (e > 1)
- for (let i = this.pos + 1; i < n + 1; i++)
- this.chars[i].setPenState(this.currPenState);
- this.setCursor(n);
- }
- backSpace() {
- (this.moveCursor(-1), this.chars[this.pos].setChar(" ", this.currPenState));
- }
- insertChar(e) {
- e >= 144 && this.backSpace();
- const n = s6(e);
- if (this.pos >= mt) {
- this.logger.log(
- 0,
- () =>
- "Cannot insert " +
- e.toString(16) +
- " (" +
- n +
- ") at position " +
- this.pos +
- ". Skipping it!",
- );
- return;
- }
- (this.chars[this.pos].setChar(n, this.currPenState), this.moveCursor(1));
- }
- clearFromPos(e) {
- let n;
- for (n = e; n < mt; n++) this.chars[n].reset();
- }
- clear() {
- (this.clearFromPos(0), (this.pos = 0), this.currPenState.reset());
- }
- clearToEndOfRow() {
- this.clearFromPos(this.pos);
- }
- getTextString() {
- const e = [];
- let n = !0;
- for (let i = 0; i < mt; i++) {
- const r = this.chars[i].uchar;
- (r !== " " && (n = !1), e.push(r));
- }
- return n ? "" : e.join("");
- }
- setPenStyles(e) {
- (this.currPenState.setStyles(e),
- this.chars[this.pos].setPenState(this.currPenState));
- }
-}
-class Tu {
- constructor(e) {
- ((this.rows = []),
- (this.currRow = we - 1),
- (this.nrRollUpRows = null),
- (this.lastOutputScreen = null),
- (this.logger = void 0));
- for (let n = 0; n < we; n++) this.rows.push(new TD(e));
- this.logger = e;
- }
- reset() {
- for (let e = 0; e < we; e++) this.rows[e].clear();
- this.currRow = we - 1;
- }
- equals(e) {
- let n = !0;
- for (let i = 0; i < we; i++)
- if (!this.rows[i].equals(e.rows[i])) {
- n = !1;
- break;
- }
- return n;
- }
- copy(e) {
- for (let n = 0; n < we; n++) this.rows[n].copy(e.rows[n]);
- }
- isEmpty() {
- let e = !0;
- for (let n = 0; n < we; n++)
- if (!this.rows[n].isEmpty()) {
- e = !1;
- break;
- }
- return e;
- }
- backSpace() {
- this.rows[this.currRow].backSpace();
- }
- clearToEndOfRow() {
- this.rows[this.currRow].clearToEndOfRow();
- }
- insertChar(e) {
- this.rows[this.currRow].insertChar(e);
- }
- setPen(e) {
- this.rows[this.currRow].setPenStyles(e);
- }
- moveCursor(e) {
- this.rows[this.currRow].moveCursor(e);
- }
- setCursor(e) {
- (this.logger.log(2, "setCursor: " + e),
- this.rows[this.currRow].setCursor(e));
- }
- setPAC(e) {
- this.logger.log(2, () => "pacData = " + Y0(e));
- let n = e.row - 1;
- if (
- (this.nrRollUpRows &&
- n < this.nrRollUpRows - 1 &&
- (n = this.nrRollUpRows - 1),
- this.nrRollUpRows && this.currRow !== n)
- ) {
- for (let a = 0; a < we; a++) this.rows[a].clear();
- const s = this.currRow + 1 - this.nrRollUpRows,
- o = this.lastOutputScreen;
- if (o) {
- const a = o.rows[s].cueStartTime,
- u = this.logger.time;
- if (a !== null && u !== null && a < u)
- for (let c = 0; c < this.nrRollUpRows; c++)
- this.rows[n - this.nrRollUpRows + c + 1].copy(o.rows[s + c]);
- }
- }
- this.currRow = n;
- const i = this.rows[this.currRow];
- if (e.indent !== null) {
- const s = e.indent,
- o = Math.max(s - 1, 0);
- (i.setCursor(e.indent), (e.color = i.chars[o].penState.foreground));
- }
- const r = {
- foreground: e.color,
- underline: e.underline,
- italics: e.italics,
- background: "black",
- flash: !1,
- };
- this.setPen(r);
- }
- setBkgData(e) {
- (this.logger.log(2, () => "bkgData = " + Y0(e)),
- this.backSpace(),
- this.setPen(e),
- this.insertChar(32));
- }
- setRollUpRows(e) {
- this.nrRollUpRows = e;
- }
- rollUp() {
- if (this.nrRollUpRows === null) {
- this.logger.log(3, "roll_up but nrRollUpRows not set yet");
- return;
- }
- this.logger.log(1, () => this.getDisplayText());
- const e = this.currRow + 1 - this.nrRollUpRows,
- n = this.rows.splice(e, 1)[0];
- (n.clear(),
- this.rows.splice(this.currRow, 0, n),
- this.logger.log(2, "Rolling up"));
- }
- getDisplayText(e) {
- e = e || !1;
- const n = [];
- let i = "",
- r = -1;
- for (let s = 0; s < we; s++) {
- const o = this.rows[s].getTextString();
- o &&
- ((r = s + 1),
- e ? n.push("Row " + r + ": '" + o + "'") : n.push(o.trim()));
- }
- return (
- n.length > 0 &&
- (e
- ? (i = "[" + n.join(" | ") + "]")
- : (i = n.join(`
-`))),
- i
- );
- }
- getTextAndFormat() {
- return this.rows;
- }
-}
-class $3 {
- constructor(e, n, i) {
- ((this.chNr = void 0),
- (this.outputFilter = void 0),
- (this.mode = void 0),
- (this.verbose = void 0),
- (this.displayedMemory = void 0),
- (this.nonDisplayedMemory = void 0),
- (this.lastOutputScreen = void 0),
- (this.currRollUpRow = void 0),
- (this.writeScreen = void 0),
- (this.cueStartTime = void 0),
- (this.logger = void 0),
- (this.chNr = e),
- (this.outputFilter = n),
- (this.mode = null),
- (this.verbose = 0),
- (this.displayedMemory = new Tu(i)),
- (this.nonDisplayedMemory = new Tu(i)),
- (this.lastOutputScreen = new Tu(i)),
- (this.currRollUpRow = this.displayedMemory.rows[we - 1]),
- (this.writeScreen = this.displayedMemory),
- (this.mode = null),
- (this.cueStartTime = null),
- (this.logger = i));
- }
- reset() {
- ((this.mode = null),
- this.displayedMemory.reset(),
- this.nonDisplayedMemory.reset(),
- this.lastOutputScreen.reset(),
- this.outputFilter.reset(),
- (this.currRollUpRow = this.displayedMemory.rows[we - 1]),
- (this.writeScreen = this.displayedMemory),
- (this.mode = null),
- (this.cueStartTime = null));
- }
- getHandler() {
- return this.outputFilter;
- }
- setHandler(e) {
- this.outputFilter = e;
- }
- setPAC(e) {
- this.writeScreen.setPAC(e);
- }
- setBkgData(e) {
- this.writeScreen.setBkgData(e);
- }
- setMode(e) {
- e !== this.mode &&
- ((this.mode = e),
- this.logger.log(2, () => "MODE=" + e),
- this.mode === "MODE_POP-ON"
- ? (this.writeScreen = this.nonDisplayedMemory)
- : ((this.writeScreen = this.displayedMemory), this.writeScreen.reset()),
- this.mode !== "MODE_ROLL-UP" &&
- ((this.displayedMemory.nrRollUpRows = null),
- (this.nonDisplayedMemory.nrRollUpRows = null)),
- (this.mode = e));
- }
- insertChars(e) {
- for (let i = 0; i < e.length; i++) this.writeScreen.insertChar(e[i]);
- const n = this.writeScreen === this.displayedMemory ? "DISP" : "NON_DISP";
- (this.logger.log(2, () => n + ": " + this.writeScreen.getDisplayText(!0)),
- (this.mode === "MODE_PAINT-ON" || this.mode === "MODE_ROLL-UP") &&
- (this.logger.log(
- 1,
- () => "DISPLAYED: " + this.displayedMemory.getDisplayText(!0),
- ),
- this.outputDataUpdate()));
- }
- ccRCL() {
- (this.logger.log(2, "RCL - Resume Caption Loading"),
- this.setMode("MODE_POP-ON"));
- }
- ccBS() {
- (this.logger.log(2, "BS - BackSpace"),
- this.mode !== "MODE_TEXT" &&
- (this.writeScreen.backSpace(),
- this.writeScreen === this.displayedMemory && this.outputDataUpdate()));
- }
- ccAOF() {}
- ccAON() {}
- ccDER() {
- (this.logger.log(2, "DER- Delete to End of Row"),
- this.writeScreen.clearToEndOfRow(),
- this.outputDataUpdate());
- }
- ccRU(e) {
- (this.logger.log(2, "RU(" + e + ") - Roll Up"),
- (this.writeScreen = this.displayedMemory),
- this.setMode("MODE_ROLL-UP"),
- this.writeScreen.setRollUpRows(e));
- }
- ccFON() {
- (this.logger.log(2, "FON - Flash On"),
- this.writeScreen.setPen({ flash: !0 }));
- }
- ccRDC() {
- (this.logger.log(2, "RDC - Resume Direct Captioning"),
- this.setMode("MODE_PAINT-ON"));
- }
- ccTR() {
- (this.logger.log(2, "TR"), this.setMode("MODE_TEXT"));
- }
- ccRTD() {
- (this.logger.log(2, "RTD"), this.setMode("MODE_TEXT"));
- }
- ccEDM() {
- (this.logger.log(2, "EDM - Erase Displayed Memory"),
- this.displayedMemory.reset(),
- this.outputDataUpdate(!0));
- }
- ccCR() {
- (this.logger.log(2, "CR - Carriage Return"),
- this.writeScreen.rollUp(),
- this.outputDataUpdate(!0));
- }
- ccENM() {
- (this.logger.log(2, "ENM - Erase Non-displayed Memory"),
- this.nonDisplayedMemory.reset());
- }
- ccEOC() {
- if (
- (this.logger.log(2, "EOC - End Of Caption"), this.mode === "MODE_POP-ON")
- ) {
- const e = this.displayedMemory;
- ((this.displayedMemory = this.nonDisplayedMemory),
- (this.nonDisplayedMemory = e),
- (this.writeScreen = this.nonDisplayedMemory),
- this.logger.log(
- 1,
- () => "DISP: " + this.displayedMemory.getDisplayText(),
- ));
- }
- this.outputDataUpdate(!0);
- }
- ccTO(e) {
- (this.logger.log(2, "TO(" + e + ") - Tab Offset"),
- this.writeScreen.moveCursor(e));
- }
- ccMIDROW(e) {
- const n = { flash: !1 };
- if (((n.underline = e % 2 === 1), (n.italics = e >= 46), n.italics))
- n.foreground = "white";
- else {
- const i = Math.floor(e / 2) - 16,
- r = ["white", "green", "blue", "cyan", "red", "yellow", "magenta"];
- n.foreground = r[i];
- }
- (this.logger.log(2, "MIDROW: " + Y0(n)), this.writeScreen.setPen(n));
- }
- outputDataUpdate(e = !1) {
- const n = this.logger.time;
- n !== null &&
- this.outputFilter &&
- (this.cueStartTime === null && !this.displayedMemory.isEmpty()
- ? (this.cueStartTime = n)
- : this.displayedMemory.equals(this.lastOutputScreen) ||
- (this.outputFilter.newCue(
- this.cueStartTime,
- n,
- this.lastOutputScreen,
- ),
- e && this.outputFilter.dispatchCue && this.outputFilter.dispatchCue(),
- (this.cueStartTime = this.displayedMemory.isEmpty() ? null : n)),
- this.lastOutputScreen.copy(this.displayedMemory));
- }
- cueSplitAtTime(e) {
- this.outputFilter &&
- (this.displayedMemory.isEmpty() ||
- (this.outputFilter.newCue &&
- this.outputFilter.newCue(this.cueStartTime, e, this.displayedMemory),
- (this.cueStartTime = e)));
- }
-}
-class H3 {
- constructor(e, n, i) {
- ((this.channels = void 0),
- (this.currentChannel = 0),
- (this.cmdHistory = xD()),
- (this.logger = void 0));
- const r = (this.logger = new vD());
- this.channels = [null, new $3(e, n, r), new $3(e + 1, i, r)];
- }
- getHandler(e) {
- return this.channels[e].getHandler();
- }
- setHandler(e, n) {
- this.channels[e].setHandler(n);
- }
- addData(e, n) {
- this.logger.time = e;
- for (let i = 0; i < n.length; i += 2) {
- const r = n[i] & 127,
- s = n[i + 1] & 127;
- let o = !1,
- a = null;
- if (r === 0 && s === 0) continue;
- this.logger.log(
- 3,
- () => "[" + Cn([n[i], n[i + 1]]) + "] -> (" + Cn([r, s]) + ")",
- );
- const u = this.cmdHistory;
- if (r >= 16 && r <= 31) {
- if (_D(r, s, u)) {
- (Xo(null, null, u),
- this.logger.log(
- 3,
- () => "Repeated command (" + Cn([r, s]) + ") is dropped",
- ));
- continue;
- }
- (Xo(r, s, this.cmdHistory),
- (o = this.parseCmd(r, s)),
- o || (o = this.parseMidrow(r, s)),
- o || (o = this.parsePAC(r, s)),
- o || (o = this.parseBackgroundAttributes(r, s)));
- } else Xo(null, null, u);
- if (!o && ((a = this.parseChars(r, s)), a)) {
- const b = this.currentChannel;
- b && b > 0
- ? this.channels[b].insertChars(a)
- : this.logger.log(2, "No channel found yet. TEXT-MODE?");
- }
- !o &&
- !a &&
- this.logger.log(
- 2,
- () =>
- "Couldn't parse cleaned data " +
- Cn([r, s]) +
- " orig: " +
- Cn([n[i], n[i + 1]]),
- );
- }
- }
- parseCmd(e, n) {
- const i =
- (e === 20 || e === 28 || e === 21 || e === 29) && n >= 32 && n <= 47,
- r = (e === 23 || e === 31) && n >= 33 && n <= 35;
- if (!(i || r)) return !1;
- const s = e === 20 || e === 21 || e === 23 ? 1 : 2,
- o = this.channels[s];
- return (
- e === 20 || e === 21 || e === 28 || e === 29
- ? n === 32
- ? o.ccRCL()
- : n === 33
- ? o.ccBS()
- : n === 34
- ? o.ccAOF()
- : n === 35
- ? o.ccAON()
- : n === 36
- ? o.ccDER()
- : n === 37
- ? o.ccRU(2)
- : n === 38
- ? o.ccRU(3)
- : n === 39
- ? o.ccRU(4)
- : n === 40
- ? o.ccFON()
- : n === 41
- ? o.ccRDC()
- : n === 42
- ? o.ccTR()
- : n === 43
- ? o.ccRTD()
- : n === 44
- ? o.ccEDM()
- : n === 45
- ? o.ccCR()
- : n === 46
- ? o.ccENM()
- : n === 47 && o.ccEOC()
- : o.ccTO(n - 32),
- (this.currentChannel = s),
- !0
- );
- }
- parseMidrow(e, n) {
- let i = 0;
- if ((e === 17 || e === 25) && n >= 32 && n <= 47) {
- if ((e === 17 ? (i = 1) : (i = 2), i !== this.currentChannel))
- return (this.logger.log(0, "Mismatch channel in midrow parsing"), !1);
- const r = this.channels[i];
- return r
- ? (r.ccMIDROW(n),
- this.logger.log(3, () => "MIDROW (" + Cn([e, n]) + ")"),
- !0)
- : !1;
- }
- return !1;
- }
- parsePAC(e, n) {
- let i;
- const r =
- ((e >= 17 && e <= 23) || (e >= 25 && e <= 31)) && n >= 64 && n <= 127,
- s = (e === 16 || e === 24) && n >= 64 && n <= 95;
- if (!(r || s)) return !1;
- const o = e <= 23 ? 1 : 2;
- n >= 64 && n <= 95
- ? (i = o === 1 ? mD[e] : RD[e])
- : (i = o === 1 ? WD[e] : yD[e]);
- const a = this.channels[o];
- return a
- ? (a.setPAC(this.interpretPAC(i, n)), (this.currentChannel = o), !0)
- : !1;
- }
- interpretPAC(e, n) {
- let i;
- const r = { color: null, italics: !1, indent: null, underline: !1, row: e };
- return (
- n > 95 ? (i = n - 96) : (i = n - 64),
- (r.underline = (i & 1) === 1),
- i <= 13
- ? (r.color = [
- "white",
- "green",
- "blue",
- "cyan",
- "red",
- "yellow",
- "magenta",
- "white",
- ][Math.floor(i / 2)])
- : i <= 15
- ? ((r.italics = !0), (r.color = "white"))
- : (r.indent = Math.floor((i - 16) / 2) * 4),
- r
- );
- }
- parseChars(e, n) {
- let i,
- r = null,
- s = null;
- if (
- (e >= 25 ? ((i = 2), (s = e - 8)) : ((i = 1), (s = e)),
- s >= 17 && s <= 19)
- ) {
- let o;
- (s === 17 ? (o = n + 80) : s === 18 ? (o = n + 112) : (o = n + 144),
- this.logger.log(
- 2,
- () => "Special char '" + s6(o) + "' in channel " + i,
- ),
- (r = [o]));
- } else e >= 32 && e <= 127 && (r = n === 0 ? [e] : [e, n]);
- return (
- r && this.logger.log(3, () => "Char codes = " + Cn(r).join(",")),
- r
- );
- }
- parseBackgroundAttributes(e, n) {
- const i = (e === 16 || e === 24) && n >= 32 && n <= 47,
- r = (e === 23 || e === 31) && n >= 45 && n <= 47;
- if (!(i || r)) return !1;
- let s;
- const o = {};
- e === 16 || e === 24
- ? ((s = Math.floor((n - 32) / 2)),
- (o.background = LD[s]),
- n % 2 === 1 && (o.background = o.background + "_semi"))
- : n === 45
- ? (o.background = "transparent")
- : ((o.foreground = "black"), n === 47 && (o.underline = !0));
- const a = e <= 23 ? 1 : 2;
- return (this.channels[a].setBkgData(o), !0);
- }
- reset() {
- for (let e = 0; e < Object.keys(this.channels).length; e++) {
- const n = this.channels[e];
- n && n.reset();
- }
- Xo(null, null, this.cmdHistory);
- }
- cueSplitAtTime(e) {
- for (let n = 0; n < this.channels.length; n++) {
- const i = this.channels[n];
- i && i.cueSplitAtTime(e);
- }
- }
-}
-function Xo(t, e, n) {
- ((n.a = t), (n.b = e));
-}
-function _D(t, e, n) {
- return n.a === t && n.b === e;
-}
-function xD() {
- return { a: null, b: null };
-}
-var IM = (function () {
- if (mc != null && mc.VTTCue) return self.VTTCue;
- const t = ["", "lr", "rl"],
- e = ["start", "middle", "end", "left", "right"];
- function n(a, u) {
- if (typeof u != "string" || !Array.isArray(a)) return !1;
- const c = u.toLowerCase();
- return ~a.indexOf(c) ? c : !1;
- }
- function i(a) {
- return n(t, a);
- }
- function r(a) {
- return n(e, a);
- }
- function s(a, ...u) {
- let c = 1;
- for (; c < arguments.length; c++) {
- const b = arguments[c];
- for (const l in b) a[l] = b[l];
- }
- return a;
- }
- function o(a, u, c) {
- const b = this,
- l = { enumerable: !0 };
- b.hasBeenReset = !1;
- let p = "",
- M = !1,
- d = a,
- O = u,
- f = c,
- z = null,
- g = "",
- A = !0,
- h = "auto",
- q = "start",
- v = 50,
- m = "middle",
- E = 50,
- _ = "middle";
- (Object.defineProperty(
- b,
- "id",
- s({}, l, {
- get: function () {
- return p;
- },
- set: function (T) {
- p = "" + T;
- },
- }),
- ),
- Object.defineProperty(
- b,
- "pauseOnExit",
- s({}, l, {
- get: function () {
- return M;
- },
- set: function (T) {
- M = !!T;
- },
- }),
- ),
- Object.defineProperty(
- b,
- "startTime",
- s({}, l, {
- get: function () {
- return d;
- },
- set: function (T) {
- if (typeof T != "number")
- throw new TypeError("Start time must be set to a number.");
- ((d = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "endTime",
- s({}, l, {
- get: function () {
- return O;
- },
- set: function (T) {
- if (typeof T != "number")
- throw new TypeError("End time must be set to a number.");
- ((O = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "text",
- s({}, l, {
- get: function () {
- return f;
- },
- set: function (T) {
- ((f = "" + T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "region",
- s({}, l, {
- get: function () {
- return z;
- },
- set: function (T) {
- ((z = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "vertical",
- s({}, l, {
- get: function () {
- return g;
- },
- set: function (T) {
- const y = i(T);
- if (y === !1)
- throw new SyntaxError(
- "An invalid or illegal string was specified.",
- );
- ((g = y), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "snapToLines",
- s({}, l, {
- get: function () {
- return A;
- },
- set: function (T) {
- ((A = !!T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "line",
- s({}, l, {
- get: function () {
- return h;
- },
- set: function (T) {
- if (typeof T != "number" && T !== "auto")
- throw new SyntaxError(
- "An invalid number or illegal string was specified.",
- );
- ((h = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "lineAlign",
- s({}, l, {
- get: function () {
- return q;
- },
- set: function (T) {
- const y = r(T);
- if (!y)
- throw new SyntaxError(
- "An invalid or illegal string was specified.",
- );
- ((q = y), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "position",
- s({}, l, {
- get: function () {
- return v;
- },
- set: function (T) {
- if (T < 0 || T > 100)
- throw new Error("Position must be between 0 and 100.");
- ((v = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "positionAlign",
- s({}, l, {
- get: function () {
- return m;
- },
- set: function (T) {
- const y = r(T);
- if (!y)
- throw new SyntaxError(
- "An invalid or illegal string was specified.",
- );
- ((m = y), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "size",
- s({}, l, {
- get: function () {
- return E;
- },
- set: function (T) {
- if (T < 0 || T > 100)
- throw new Error("Size must be between 0 and 100.");
- ((E = T), (this.hasBeenReset = !0));
- },
- }),
- ),
- Object.defineProperty(
- b,
- "align",
- s({}, l, {
- get: function () {
- return _;
- },
- set: function (T) {
- const y = r(T);
- if (!y)
- throw new SyntaxError(
- "An invalid or illegal string was specified.",
- );
- ((_ = y), (this.hasBeenReset = !0));
- },
- }),
- ),
- (b.displayState = void 0));
- }
- return (
- (o.prototype.getCueAsHTML = function () {
- return self.WebVTT.convertCueToDOMTree(self, this.text);
- }),
- o
- );
-})();
-class SD {
- decode(e, n) {
- if (!e) return "";
- if (typeof e != "string") throw new Error("Error - expected string data.");
- return decodeURIComponent(encodeURIComponent(e));
- }
-}
-function a6(t) {
- function e(i, r, s, o) {
- return (i | 0) * 3600 + (r | 0) * 60 + (s | 0) + parseFloat(o || 0);
- }
- const n = t.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);
- return n
- ? parseFloat(n[2]) > 59
- ? e(n[2], n[3], 0, n[4])
- : e(n[1], n[2], n[3], n[4])
- : null;
-}
-class wD {
- constructor() {
- this.values = Object.create(null);
- }
- set(e, n) {
- !this.get(e) && n !== "" && (this.values[e] = n);
- }
- get(e, n, i) {
- return i
- ? this.has(e)
- ? this.values[e]
- : n[i]
- : this.has(e)
- ? this.values[e]
- : n;
- }
- has(e) {
- return e in this.values;
- }
- alt(e, n, i) {
- for (let r = 0; r < i.length; ++r)
- if (n === i[r]) {
- this.set(e, n);
- break;
- }
- }
- integer(e, n) {
- /^-?\d+$/.test(n) && this.set(e, parseInt(n, 10));
- }
- percent(e, n) {
- if (/^([\d]{1,3})(\.[\d]*)?%$/.test(n)) {
- const i = parseFloat(n);
- if (i >= 0 && i <= 100) return (this.set(e, i), !0);
- }
- return !1;
- }
-}
-function c6(t, e, n, i) {
- const r = i ? t.split(i) : [t];
- for (const s in r) {
- if (typeof r[s] != "string") continue;
- const o = r[s].split(n);
- if (o.length !== 2) continue;
- const a = o[0],
- u = o[1];
- e(a, u);
- }
-}
-const Sp = new IM(0, 0, ""),
- Fo = Sp.align === "middle" ? "middle" : "center";
-function ND(t, e, n) {
- const i = t;
- function r() {
- const a = a6(t);
- if (a === null) throw new Error("Malformed timestamp: " + i);
- return ((t = t.replace(/^[^\sa-zA-Z-]+/, "")), a);
- }
- function s(a, u) {
- const c = new wD();
- (c6(
- a,
- function (p, M) {
- let d;
- switch (p) {
- case "region":
- for (let O = n.length - 1; O >= 0; O--)
- if (n[O].id === M) {
- c.set(p, n[O].region);
- break;
- }
- break;
- case "vertical":
- c.alt(p, M, ["rl", "lr"]);
- break;
- case "line":
- ((d = M.split(",")),
- c.integer(p, d[0]),
- c.percent(p, d[0]) && c.set("snapToLines", !1),
- c.alt(p, d[0], ["auto"]),
- d.length === 2 && c.alt("lineAlign", d[1], ["start", Fo, "end"]));
- break;
- case "position":
- ((d = M.split(",")),
- c.percent(p, d[0]),
- d.length === 2 &&
- c.alt("positionAlign", d[1], [
- "start",
- Fo,
- "end",
- "line-left",
- "line-right",
- "auto",
- ]));
- break;
- case "size":
- c.percent(p, M);
- break;
- case "align":
- c.alt(p, M, ["start", Fo, "end", "left", "right"]);
- break;
- }
- },
- /:/,
- /\s/,
- ),
- (u.region = c.get("region", null)),
- (u.vertical = c.get("vertical", "")));
- let b = c.get("line", "auto");
- (b === "auto" && Sp.line === -1 && (b = -1),
- (u.line = b),
- (u.lineAlign = c.get("lineAlign", "start")),
- (u.snapToLines = c.get("snapToLines", !0)),
- (u.size = c.get("size", 100)),
- (u.align = c.get("align", Fo)));
- let l = c.get("position", "auto");
- (l === "auto" &&
- Sp.position === 50 &&
- (l =
- u.align === "start" || u.align === "left"
- ? 0
- : u.align === "end" || u.align === "right"
- ? 100
- : 50),
- (u.position = l));
- }
- function o() {
- t = t.replace(/^\s+/, "");
- }
- if ((o(), (e.startTime = r()), o(), t.slice(0, 3) !== "-->"))
- throw new Error(
- "Malformed time stamp (time stamps must be separated by '-->'): " + i,
- );
- ((t = t.slice(3)), o(), (e.endTime = r()), o(), s(t, e));
-}
-function u6(t) {
- return t.replace(
- /
/gi,
- `
-`,
- );
-}
-class BD {
- constructor() {
- ((this.state = "INITIAL"),
- (this.buffer = ""),
- (this.decoder = new SD()),
- (this.regionList = []),
- (this.cue = null),
- (this.oncue = void 0),
- (this.onparsingerror = void 0),
- (this.onflush = void 0));
- }
- parse(e) {
- const n = this;
- e && (n.buffer += n.decoder.decode(e, { stream: !0 }));
- function i() {
- let s = n.buffer,
- o = 0;
- for (
- s = u6(s);
- o < s.length &&
- s[o] !== "\r" &&
- s[o] !==
- `
-`;
- )
- ++o;
- const a = s.slice(0, o);
- return (
- s[o] === "\r" && ++o,
- s[o] ===
- `
-` && ++o,
- (n.buffer = s.slice(o)),
- a
- );
- }
- function r(s) {
- c6(s, function (o, a) {}, /:/);
- }
- try {
- let s = "";
- if (n.state === "INITIAL") {
- if (!/\r\n|\n/.test(n.buffer)) return this;
- s = i();
- const a = s.match(/^()?WEBVTT([ \t].*)?$/);
- if (!(a != null && a[0]))
- throw new Error("Malformed WebVTT signature.");
- n.state = "HEADER";
- }
- let o = !1;
- for (; n.buffer; ) {
- if (!/\r\n|\n/.test(n.buffer)) return this;
- switch ((o ? (o = !1) : (s = i()), n.state)) {
- case "HEADER":
- /:/.test(s) ? r(s) : s || (n.state = "ID");
- continue;
- case "NOTE":
- s || (n.state = "ID");
- continue;
- case "ID":
- if (/^NOTE($|[ \t])/.test(s)) {
- n.state = "NOTE";
- break;
- }
- if (!s) continue;
- if (
- ((n.cue = new IM(0, 0, "")),
- (n.state = "CUE"),
- s.indexOf("-->") === -1)
- ) {
- n.cue.id = s;
- continue;
- }
- case "CUE":
- if (!n.cue) {
- n.state = "BADCUE";
- continue;
- }
- try {
- ND(s, n.cue, n.regionList);
- } catch {
- ((n.cue = null), (n.state = "BADCUE"));
- continue;
- }
- n.state = "CUETEXT";
- continue;
- case "CUETEXT":
- {
- const a = s.indexOf("-->") !== -1;
- if (!s || (a && (o = !0))) {
- (n.oncue && n.cue && n.oncue(n.cue),
- (n.cue = null),
- (n.state = "ID"));
- continue;
- }
- if (n.cue === null) continue;
- (n.cue.text &&
- (n.cue.text += `
-`),
- (n.cue.text += s));
- }
- continue;
- case "BADCUE":
- s || (n.state = "ID");
- }
- }
- } catch {
- (n.state === "CUETEXT" && n.cue && n.oncue && n.oncue(n.cue),
- (n.cue = null),
- (n.state = n.state === "INITIAL" ? "BADWEBVTT" : "BADCUE"));
- }
- return this;
- }
- flush() {
- const e = this;
- try {
- if (
- ((e.cue || e.state === "HEADER") &&
- ((e.buffer += `
-
-`),
- e.parse()),
- e.state === "INITIAL" || e.state === "BADWEBVTT")
- )
- throw new Error("Malformed WebVTT signature.");
- } catch (n) {
- e.onparsingerror && e.onparsingerror(n);
- }
- return (e.onflush && e.onflush(), this);
- }
-}
-const ID = /\r\n|\n\r|\n|\r/g,
- _u = function (e, n, i = 0) {
- return e.slice(i, i + n.length) === n;
- },
- DD = function (e) {
- let n = parseInt(e.slice(-3));
- const i = parseInt(e.slice(-6, -4)),
- r = parseInt(e.slice(-9, -7)),
- s = e.length > 9 ? parseInt(e.substring(0, e.indexOf(":"))) : 0;
- if (!p0(n) || !p0(i) || !p0(r) || !p0(s))
- throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);
- return ((n += 1e3 * i), (n += 60 * 1e3 * r), (n += 3600 * 1e3 * s), n);
- };
-function DM(t, e, n) {
- return cs(t.toString()) + cs(e.toString()) + cs(n);
-}
-const CD = function (e, n, i) {
- let r = e[n],
- s = e[r.prevCC];
- if (!s || (!s.new && r.new)) {
- ((e.ccOffset = e.presentationOffset = r.start), (r.new = !1));
- return;
- }
- for (; (o = s) != null && o.new; ) {
- var o;
- ((e.ccOffset += r.start - s.start),
- (r.new = !1),
- (r = s),
- (s = e[r.prevCC]));
- }
- e.presentationOffset = i;
-};
-function kD(t, e, n, i, r, s, o) {
- const a = new BD(),
- u = se(new Uint8Array(t))
- .trim()
- .replace(
- ID,
- `
-`,
- ).split(`
-`),
- c = [],
- b = e ? G9(e.baseTime, e.timescale) : 0;
- let l = "00:00.000",
- p = 0,
- M = 0,
- d,
- O = !0;
- ((a.oncue = function (f) {
- const z = n[i];
- let g = n.ccOffset;
- const A = (p - b) / 9e4;
- if (
- (z != null &&
- z.new &&
- (M !== void 0 ? (g = n.ccOffset = z.start) : CD(n, i, A)),
- A)
- ) {
- if (!e) {
- d = new Error("Missing initPTS for VTT MPEGTS");
- return;
- }
- g = A - n.presentationOffset;
- }
- const h = f.endTime - f.startTime,
- q = pe((f.startTime + g - M) * 9e4, r * 9e4) / 9e4;
- ((f.startTime = Math.max(q, 0)), (f.endTime = Math.max(q + h, 0)));
- const v = f.text.trim();
- ((f.text = decodeURIComponent(encodeURIComponent(v))),
- f.id || (f.id = DM(f.startTime, f.endTime, v)),
- f.endTime > 0 && c.push(f));
- }),
- (a.onparsingerror = function (f) {
- d = f;
- }),
- (a.onflush = function () {
- if (d) {
- o(d);
- return;
- }
- s(c);
- }),
- u.forEach((f) => {
- if (O)
- if (_u(f, "X-TIMESTAMP-MAP=")) {
- ((O = !1),
- f
- .slice(16)
- .split(",")
- .forEach((z) => {
- _u(z, "LOCAL:")
- ? (l = z.slice(6))
- : _u(z, "MPEGTS:") && (p = parseInt(z.slice(7)));
- }));
- try {
- M = DD(l) / 1e3;
- } catch (z) {
- d = z;
- }
- return;
- } else f === "" && (O = !1);
- a.parse(
- f +
- `
-`,
- );
- }),
- a.flush());
-}
-const xu = "stpp.ttml.im1t",
- b6 = /^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,
- p6 = /^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,
- PD = {
- left: "start",
- center: "center",
- right: "end",
- start: "start",
- end: "end",
- };
-function G3(t, e, n, i) {
- const r = E0(new Uint8Array(t), ["mdat"]);
- if (r.length === 0) {
- i(new Error("Could not parse IMSC1 mdat"));
- return;
- }
- const s = r.map((a) => se(a)),
- o = H9(e.baseTime, 1, e.timescale);
- try {
- s.forEach((a) => n(XD(a, o)));
- } catch (a) {
- i(a);
- }
-}
-function XD(t, e) {
- const r = new DOMParser()
- .parseFromString(t, "text/xml")
- .getElementsByTagName("tt")[0];
- if (!r) throw new Error("Invalid ttml");
- const s = {
- frameRate: 30,
- subFrameRate: 1,
- frameRateMultiplier: 0,
- tickRate: 0,
- },
- o = Object.keys(s).reduce(
- (l, p) => ((l[p] = r.getAttribute(`ttp:${p}`) || s[p]), l),
- {},
- ),
- a = r.getAttribute("xml:space") !== "preserve",
- u = V3(Su(r, "styling", "style")),
- c = V3(Su(r, "layout", "region")),
- b = Su(r, "body", "[begin]");
- return [].map
- .call(b, (l) => {
- const p = l6(l, a);
- if (!p || !l.hasAttribute("begin")) return null;
- const M = Nu(l.getAttribute("begin"), o),
- d = Nu(l.getAttribute("dur"), o);
- let O = Nu(l.getAttribute("end"), o);
- if (M === null) throw j3(l);
- if (O === null) {
- if (d === null) throw j3(l);
- O = M + d;
- }
- const f = new IM(M - e, O - e, p);
- f.id = DM(f.startTime, f.endTime, f.text);
- const z = c[l.getAttribute("region")],
- g = u[l.getAttribute("style")],
- A = FD(z, g, u),
- { textAlign: h } = A;
- if (h) {
- const q = PD[h];
- (q && (f.lineAlign = q), (f.align = h));
- }
- return (H0(f, A), f);
- })
- .filter((l) => l !== null);
-}
-function Su(t, e, n) {
- const i = t.getElementsByTagName(e)[0];
- return i ? [].slice.call(i.querySelectorAll(n)) : [];
-}
-function V3(t) {
- return t.reduce((e, n) => {
- const i = n.getAttribute("xml:id");
- return (i && (e[i] = n), e);
- }, {});
-}
-function l6(t, e) {
- return [].slice.call(t.childNodes).reduce((n, i, r) => {
- var s;
- return i.nodeName === "br" && r
- ? n +
- `
-`
- : (s = i.childNodes) != null && s.length
- ? l6(i, e)
- : e
- ? n + i.textContent.trim().replace(/\s+/g, " ")
- : n + i.textContent;
- }, "");
-}
-function FD(t, e, n) {
- const i = "http://www.w3.org/ns/ttml#styling";
- let r = null;
- const s = [
- "displayAlign",
- "textAlign",
- "color",
- "backgroundColor",
- "fontSize",
- "fontFamily",
- ],
- o = t != null && t.hasAttribute("style") ? t.getAttribute("style") : null;
- return (
- o && n.hasOwnProperty(o) && (r = n[o]),
- s.reduce((a, u) => {
- const c = wu(e, i, u) || wu(t, i, u) || wu(r, i, u);
- return (c && (a[u] = c), a);
- }, {})
- );
-}
-function wu(t, e, n) {
- return t && t.hasAttributeNS(e, n) ? t.getAttributeNS(e, n) : null;
-}
-function j3(t) {
- return new Error(`Could not parse ttml timestamp ${t}`);
-}
-function Nu(t, e) {
- if (!t) return null;
- let n = a6(t);
- return (
- n === null && (b6.test(t) ? (n = UD(t, e)) : p6.test(t) && (n = $D(t, e))),
- n
- );
-}
-function UD(t, e) {
- const n = b6.exec(t),
- i = (n[4] | 0) + (n[5] | 0) / e.subFrameRate;
- return (n[1] | 0) * 3600 + (n[2] | 0) * 60 + (n[3] | 0) + i / e.frameRate;
-}
-function $D(t, e) {
- const n = p6.exec(t),
- i = Number(n[1]);
- switch (n[2]) {
- case "h":
- return i * 3600;
- case "m":
- return i * 60;
- case "ms":
- return i * 1e3;
- case "f":
- return i / e.frameRate;
- case "t":
- return i / e.tickRate;
- }
- return i;
-}
-class Uo {
- constructor(e, n) {
- ((this.timelineController = void 0),
- (this.cueRanges = []),
- (this.trackName = void 0),
- (this.startTime = null),
- (this.endTime = null),
- (this.screen = null),
- (this.timelineController = e),
- (this.trackName = n));
- }
- dispatchCue() {
- this.startTime !== null &&
- (this.timelineController.addCues(
- this.trackName,
- this.startTime,
- this.endTime,
- this.screen,
- this.cueRanges,
- ),
- (this.startTime = null));
- }
- newCue(e, n, i) {
- ((this.startTime === null || this.startTime > e) && (this.startTime = e),
- (this.endTime = n),
- (this.screen = i),
- this.timelineController.createCaptionsTrack(this.trackName));
- }
- reset() {
- ((this.cueRanges = []), (this.startTime = null));
- }
-}
-class HD {
- constructor(e) {
- ((this.hls = void 0),
- (this.media = null),
- (this.config = void 0),
- (this.enabled = !0),
- (this.Cues = void 0),
- (this.textTracks = []),
- (this.tracks = []),
- (this.initPTS = []),
- (this.unparsedVttFrags = []),
- (this.captionsTracks = {}),
- (this.nonNativeCaptionsTracks = {}),
- (this.cea608Parser1 = void 0),
- (this.cea608Parser2 = void 0),
- (this.lastCc = -1),
- (this.lastSn = -1),
- (this.lastPartIndex = -1),
- (this.prevCC = -1),
- (this.vttCCs = Y3()),
- (this.captionsProperties = void 0),
- (this.hls = e),
- (this.config = e.config),
- (this.Cues = e.config.cueHandler),
- (this.captionsProperties = {
- textTrack1: {
- label: this.config.captionsTextTrack1Label,
- languageCode: this.config.captionsTextTrack1LanguageCode,
- },
- textTrack2: {
- label: this.config.captionsTextTrack2Label,
- languageCode: this.config.captionsTextTrack2LanguageCode,
- },
- textTrack3: {
- label: this.config.captionsTextTrack3Label,
- languageCode: this.config.captionsTextTrack3LanguageCode,
- },
- textTrack4: {
- label: this.config.captionsTextTrack4Label,
- languageCode: this.config.captionsTextTrack4LanguageCode,
- },
- }),
- e.on(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.MANIFEST_LOADED, this.onManifestLoaded, this),
- e.on(L.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this),
- e.on(L.FRAG_LOADING, this.onFragLoading, this),
- e.on(L.FRAG_LOADED, this.onFragLoaded, this),
- e.on(L.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this),
- e.on(L.FRAG_DECRYPTED, this.onFragDecrypted, this),
- e.on(L.INIT_PTS_FOUND, this.onInitPtsFound, this),
- e.on(L.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this),
- e.on(L.BUFFER_FLUSHING, this.onBufferFlushing, this));
- }
- destroy() {
- const { hls: e } = this;
- (e.off(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.MANIFEST_LOADED, this.onManifestLoaded, this),
- e.off(L.SUBTITLE_TRACKS_UPDATED, this.onSubtitleTracksUpdated, this),
- e.off(L.FRAG_LOADING, this.onFragLoading, this),
- e.off(L.FRAG_LOADED, this.onFragLoaded, this),
- e.off(L.FRAG_PARSING_USERDATA, this.onFragParsingUserdata, this),
- e.off(L.FRAG_DECRYPTED, this.onFragDecrypted, this),
- e.off(L.INIT_PTS_FOUND, this.onInitPtsFound, this),
- e.off(L.SUBTITLE_TRACKS_CLEARED, this.onSubtitleTracksCleared, this),
- e.off(L.BUFFER_FLUSHING, this.onBufferFlushing, this),
- (this.hls = this.config = this.media = null),
- (this.cea608Parser1 = this.cea608Parser2 = void 0));
- }
- initCea608Parsers() {
- const e = new Uo(this, "textTrack1"),
- n = new Uo(this, "textTrack2"),
- i = new Uo(this, "textTrack3"),
- r = new Uo(this, "textTrack4");
- ((this.cea608Parser1 = new H3(1, e, n)),
- (this.cea608Parser2 = new H3(3, i, r)));
- }
- addCues(e, n, i, r, s) {
- let o = !1;
- for (let a = s.length; a--; ) {
- const u = s[a],
- c = GD(u[0], u[1], n, i);
- if (
- c >= 0 &&
- ((u[0] = Math.min(u[0], n)),
- (u[1] = Math.max(u[1], i)),
- (o = !0),
- c / (i - n) > 0.5)
- )
- return;
- }
- if ((o || s.push([n, i]), this.config.renderTextTracksNatively)) {
- const a = this.captionsTracks[e];
- this.Cues.newCue(a, n, i, r);
- } else {
- const a = this.Cues.newCue(null, n, i, r);
- this.hls.trigger(L.CUES_PARSED, { type: "captions", cues: a, track: e });
- }
- }
- onInitPtsFound(e, { frag: n, id: i, initPTS: r, timescale: s, trackId: o }) {
- const { unparsedVttFrags: a } = this;
- (i === z0.MAIN &&
- (this.initPTS[n.cc] = { baseTime: r, timescale: s, trackId: o }),
- a.length &&
- ((this.unparsedVttFrags = []),
- a.forEach((u) => {
- this.initPTS[u.frag.cc]
- ? this.onFragLoaded(L.FRAG_LOADED, u)
- : this.hls.trigger(L.SUBTITLE_FRAG_PROCESSED, {
- success: !1,
- frag: u.frag,
- error: new Error(
- "Subtitle discontinuity domain does not match main",
- ),
- });
- })));
- }
- getExistingTrack(e, n) {
- const { media: i } = this;
- if (i)
- for (let r = 0; r < i.textTracks.length; r++) {
- const s = i.textTracks[r];
- if (
- K3(s, {
- name: e,
- lang: n,
- characteristics:
- "transcribes-spoken-dialog,describes-music-and-sound",
- })
- )
- return s;
- }
- return null;
- }
- createCaptionsTrack(e) {
- this.config.renderTextTracksNatively
- ? this.createNativeTrack(e)
- : this.createNonNativeTrack(e);
- }
- createNativeTrack(e) {
- if (this.captionsTracks[e]) return;
- const { captionsProperties: n, captionsTracks: i, media: r } = this,
- { label: s, languageCode: o } = n[e],
- a = this.getExistingTrack(s, o);
- if (a) ((i[e] = a), Ci(i[e]), n6(i[e], r));
- else {
- const u = this.createTextTrack("captions", s, o);
- u && ((u[e] = !0), (i[e] = u));
- }
- }
- createNonNativeTrack(e) {
- if (this.nonNativeCaptionsTracks[e]) return;
- const n = this.captionsProperties[e];
- if (!n) return;
- const i = n.label,
- r = {
- _id: e,
- label: i,
- kind: "captions",
- default: n.media ? !!n.media.default : !1,
- closedCaptions: n.media,
- };
- ((this.nonNativeCaptionsTracks[e] = r),
- this.hls.trigger(L.NON_NATIVE_TEXT_TRACKS_FOUND, { tracks: [r] }));
- }
- createTextTrack(e, n, i) {
- const r = this.media;
- if (r) return r.addTextTrack(e, n, i);
- }
- onMediaAttaching(e, n) {
- ((this.media = n.media), n.mediaSource || this._cleanTracks());
- }
- onMediaDetaching(e, n) {
- const i = !!n.transferMedia;
- if (((this.media = null), i)) return;
- const { captionsTracks: r } = this;
- (Object.keys(r).forEach((s) => {
- (Ci(r[s]), delete r[s]);
- }),
- (this.nonNativeCaptionsTracks = {}));
- }
- onManifestLoading() {
- ((this.lastCc = -1),
- (this.lastSn = -1),
- (this.lastPartIndex = -1),
- (this.prevCC = -1),
- (this.vttCCs = Y3()),
- this._cleanTracks(),
- (this.tracks = []),
- (this.captionsTracks = {}),
- (this.nonNativeCaptionsTracks = {}),
- (this.textTracks = []),
- (this.unparsedVttFrags = []),
- (this.initPTS = []),
- this.cea608Parser1 &&
- this.cea608Parser2 &&
- (this.cea608Parser1.reset(), this.cea608Parser2.reset()));
- }
- _cleanTracks() {
- const { media: e } = this;
- if (!e) return;
- const n = e.textTracks;
- if (n) for (let i = 0; i < n.length; i++) Ci(n[i]);
- }
- onSubtitleTracksUpdated(e, n) {
- const i = n.subtitleTracks || [],
- r = i.some((s) => s.textCodec === xu);
- if (this.config.enableWebVTT || (r && this.config.enableIMSC1)) {
- if (Ug(this.tracks, i)) {
- this.tracks = i;
- return;
- }
- if (
- ((this.textTracks = []),
- (this.tracks = i),
- this.config.renderTextTracksNatively)
- ) {
- const o = this.media,
- a = o ? Wa(o.textTracks) : null;
- if (
- (this.tracks.forEach((u, c) => {
- let b;
- if (a) {
- let l = null;
- for (let p = 0; p < a.length; p++)
- if (a[p] && K3(a[p], u)) {
- ((l = a[p]), (a[p] = null));
- break;
- }
- l && (b = l);
- }
- if (b) Ci(b);
- else {
- const l = M6(u);
- ((b = this.createTextTrack(l, u.name, u.lang)),
- b && (b.mode = "disabled"));
- }
- b && this.textTracks.push(b);
- }),
- a != null && a.length)
- ) {
- const u = a.filter((c) => c !== null).map((c) => c.label);
- u.length &&
- this.hls.logger.warn(
- `Media element contains unused subtitle tracks: ${u.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`,
- );
- }
- } else if (this.tracks.length) {
- const o = this.tracks.map((a) => ({
- label: a.name,
- kind: a.type.toLowerCase(),
- default: a.default,
- subtitleTrack: a,
- }));
- this.hls.trigger(L.NON_NATIVE_TEXT_TRACKS_FOUND, { tracks: o });
- }
- }
- }
- onManifestLoaded(e, n) {
- this.config.enableCEA708Captions &&
- n.captions &&
- n.captions.forEach((i) => {
- const r = /(?:CC|SERVICE)([1-4])/.exec(i.instreamId);
- if (!r) return;
- const s = `textTrack${r[1]}`,
- o = this.captionsProperties[s];
- o &&
- ((o.label = i.name),
- i.lang && (o.languageCode = i.lang),
- (o.media = i));
- });
- }
- closedCaptionsForLevel(e) {
- const n = this.hls.levels[e.level];
- return n?.attrs["CLOSED-CAPTIONS"];
- }
- onFragLoading(e, n) {
- if (this.enabled && n.frag.type === z0.MAIN) {
- var i, r;
- const { cea608Parser1: s, cea608Parser2: o, lastSn: a } = this,
- { cc: u, sn: c } = n.frag,
- b = (i = (r = n.part) == null ? void 0 : r.index) != null ? i : -1;
- (s &&
- o &&
- (c !== a + 1 ||
- (c === a && b !== this.lastPartIndex + 1) ||
- u !== this.lastCc) &&
- (s.reset(), o.reset()),
- (this.lastCc = u),
- (this.lastSn = c),
- (this.lastPartIndex = b));
- }
- }
- onFragLoaded(e, n) {
- const { frag: i, payload: r } = n;
- if (i.type === z0.SUBTITLE)
- if (r.byteLength) {
- const s = i.decryptdata,
- o = "stats" in n;
- if (s == null || !s.encrypted || o) {
- const a = this.tracks[i.level],
- u = this.vttCCs;
- (u[i.cc] ||
- ((u[i.cc] = { start: i.start, prevCC: this.prevCC, new: !0 }),
- (this.prevCC = i.cc)),
- a && a.textCodec === xu
- ? this._parseIMSC1(i, r)
- : this._parseVTTs(n));
- }
- } else
- this.hls.trigger(L.SUBTITLE_FRAG_PROCESSED, {
- success: !1,
- frag: i,
- error: new Error("Empty subtitle payload"),
- });
- }
- _parseIMSC1(e, n) {
- const i = this.hls;
- G3(
- n,
- this.initPTS[e.cc],
- (r) => {
- (this._appendCues(r, e.level),
- i.trigger(L.SUBTITLE_FRAG_PROCESSED, { success: !0, frag: e }));
- },
- (r) => {
- (i.logger.log(`Failed to parse IMSC1: ${r}`),
- i.trigger(L.SUBTITLE_FRAG_PROCESSED, {
- success: !1,
- frag: e,
- error: r,
- }));
- },
- );
- }
- _parseVTTs(e) {
- var n;
- const { frag: i, payload: r } = e,
- { initPTS: s, unparsedVttFrags: o } = this,
- a = s.length - 1;
- if (!s[i.cc] && a === -1) {
- o.push(e);
- return;
- }
- const u = this.hls,
- c =
- (n = i.initSegment) != null && n.data
- ? ge(i.initSegment.data, new Uint8Array(r)).buffer
- : r;
- kD(
- c,
- this.initPTS[i.cc],
- this.vttCCs,
- i.cc,
- i.start,
- (b) => {
- (this._appendCues(b, i.level),
- u.trigger(L.SUBTITLE_FRAG_PROCESSED, { success: !0, frag: i }));
- },
- (b) => {
- const l = b.message === "Missing initPTS for VTT MPEGTS";
- (l ? o.push(e) : this._fallbackToIMSC1(i, r),
- u.logger.log(`Failed to parse VTT cue: ${b}`),
- !(l && a > i.cc) &&
- u.trigger(L.SUBTITLE_FRAG_PROCESSED, {
- success: !1,
- frag: i,
- error: b,
- }));
- },
- );
- }
- _fallbackToIMSC1(e, n) {
- const i = this.tracks[e.level];
- i.textCodec ||
- G3(
- n,
- this.initPTS[e.cc],
- () => {
- ((i.textCodec = xu), this._parseIMSC1(e, n));
- },
- () => {
- i.textCodec = "wvtt";
- },
- );
- }
- _appendCues(e, n) {
- const i = this.hls;
- if (this.config.renderTextTracksNatively) {
- const r = this.textTracks[n];
- if (!r || r.mode === "disabled") return;
- e.forEach((s) => i6(r, s));
- } else {
- const r = this.tracks[n];
- if (!r) return;
- const s = r.default ? "default" : "subtitles" + n;
- i.trigger(L.CUES_PARSED, { type: "subtitles", cues: e, track: s });
- }
- }
- onFragDecrypted(e, n) {
- const { frag: i } = n;
- i.type === z0.SUBTITLE && this.onFragLoaded(L.FRAG_LOADED, n);
- }
- onSubtitleTracksCleared() {
- ((this.tracks = []), (this.captionsTracks = {}));
- }
- onFragParsingUserdata(e, n) {
- if (!this.enabled || !this.config.enableCEA708Captions) return;
- const { frag: i, samples: r } = n;
- if (!(i.type === z0.MAIN && this.closedCaptionsForLevel(i) === "NONE"))
- for (let s = 0; s < r.length; s++) {
- const o = r[s].bytes;
- if (o) {
- this.cea608Parser1 || this.initCea608Parsers();
- const a = this.extractCea608Data(o);
- (this.cea608Parser1.addData(r[s].pts, a[0]),
- this.cea608Parser2.addData(r[s].pts, a[1]));
- }
- }
- }
- onBufferFlushing(
- e,
- { startOffset: n, endOffset: i, endOffsetSubtitles: r, type: s },
- ) {
- const { media: o } = this;
- if (!(!o || o.currentTime < i)) {
- if (!s || s === "video") {
- const { captionsTracks: a } = this;
- Object.keys(a).forEach((u) => xp(a[u], n, i));
- }
- if (this.config.renderTextTracksNatively && n === 0 && r !== void 0) {
- const { textTracks: a } = this;
- Object.keys(a).forEach((u) => xp(a[u], n, r));
- }
- }
- }
- extractCea608Data(e) {
- const n = [[], []],
- i = e[0] & 31;
- let r = 2;
- for (let s = 0; s < i; s++) {
- const o = e[r++],
- a = 127 & e[r++],
- u = 127 & e[r++];
- if (a === 0 && u === 0) continue;
- if ((4 & o) !== 0) {
- const b = 3 & o;
- (b === 0 || b === 1) && (n[b].push(a), n[b].push(u));
- }
- }
- return n;
- }
-}
-function M6(t) {
- return t.characteristics &&
- /transcribes-spoken-dialog/gi.test(t.characteristics) &&
- /describes-music-and-sound/gi.test(t.characteristics)
- ? "captions"
- : "subtitles";
-}
-function K3(t, e) {
- return !!t && t.kind === M6(e) && vp(e, t);
-}
-function GD(t, e, n, i) {
- return Math.min(e, i) - Math.max(t, n);
-}
-function Y3() {
- return {
- ccOffset: 0,
- presentationOffset: 0,
- 0: { start: 0, prevCC: -1, new: !0 },
- };
-}
-const VD = /\s/,
- jD = {
- newCue(t, e, n, i) {
- const r = [];
- let s, o, a, u, c;
- const b = self.VTTCue || self.TextTrackCue;
- for (let p = 0; p < i.rows.length; p++)
- if (((s = i.rows[p]), (a = !0), (u = 0), (c = ""), !s.isEmpty())) {
- var l;
- for (let O = 0; O < s.chars.length; O++)
- VD.test(s.chars[O].uchar) && a
- ? u++
- : ((c += s.chars[O].uchar), (a = !1));
- ((s.cueStartTime = e), e === n && (n += 1e-4), u >= 16 ? u-- : u++);
- const M = u6(c.trim()),
- d = DM(e, n, M);
- (t != null && (l = t.cues) != null && l.getCueById(d)) ||
- ((o = new b(e, n, M)),
- (o.id = d),
- (o.line = p + 1),
- (o.align = "left"),
- (o.position = 10 + Math.min(80, Math.floor((u * 8) / 32) * 10)),
- r.push(o));
- }
- return (
- t &&
- r.length &&
- (r.sort((p, M) =>
- p.line === "auto" || M.line === "auto"
- ? 0
- : p.line > 8 && M.line > 8
- ? M.line - p.line
- : p.line - M.line,
- ),
- r.forEach((p) => i6(t, p))),
- r
- );
- },
- };
-function KD() {
- if (self.fetch && self.AbortController && self.ReadableStream && self.Request)
- try {
- return (new self.ReadableStream({}), !0);
- } catch {}
- return !1;
-}
-const YD = /(\d+)-(\d+)\/(\d+)/;
-class Q3 {
- constructor(e) {
- ((this.fetchSetup = void 0),
- (this.requestTimeout = void 0),
- (this.request = null),
- (this.response = null),
- (this.controller = void 0),
- (this.context = null),
- (this.config = null),
- (this.callbacks = null),
- (this.stats = void 0),
- (this.loader = null),
- (this.fetchSetup = e.fetchSetup || eC),
- (this.controller = new self.AbortController()),
- (this.stats = new fM()));
- }
- destroy() {
- ((this.loader =
- this.callbacks =
- this.context =
- this.config =
- this.request =
- null),
- this.abortInternal(),
- (this.response = null),
- (this.fetchSetup = this.controller = this.stats = null));
- }
- abortInternal() {
- this.controller &&
- !this.stats.loading.end &&
- ((this.stats.aborted = !0), this.controller.abort());
- }
- abort() {
- var e;
- (this.abortInternal(),
- (e = this.callbacks) != null &&
- e.onAbort &&
- this.callbacks.onAbort(this.stats, this.context, this.response));
- }
- load(e, n, i) {
- const r = this.stats;
- if (r.loading.start) throw new Error("Loader can only be used once.");
- r.loading.start = self.performance.now();
- const s = QD(e, this.controller.signal),
- o = e.responseType === "arraybuffer",
- a = o ? "byteLength" : "length",
- { maxTimeToFirstByteMs: u, maxLoadTimeMs: c } = n.loadPolicy;
- ((this.context = e),
- (this.config = n),
- (this.callbacks = i),
- (this.request = this.fetchSetup(e, s)),
- self.clearTimeout(this.requestTimeout),
- (n.timeout = u && p0(u) ? u : c),
- (this.requestTimeout = self.setTimeout(() => {
- this.callbacks &&
- (this.abortInternal(), this.callbacks.onTimeout(r, e, this.response));
- }, n.timeout)),
- (ks(this.request)
- ? this.request.then(self.fetch)
- : self.fetch(this.request)
- )
- .then((l) => {
- var p;
- this.response = this.loader = l;
- const M = Math.max(self.performance.now(), r.loading.start);
- if (
- (self.clearTimeout(this.requestTimeout),
- (n.timeout = c),
- (this.requestTimeout = self.setTimeout(
- () => {
- this.callbacks &&
- (this.abortInternal(),
- this.callbacks.onTimeout(r, e, this.response));
- },
- c - (M - r.loading.start),
- )),
- !l.ok)
- ) {
- const { status: O, statusText: f } = l;
- throw new tC(f || "fetch, bad network response", O, l);
- }
- ((r.loading.first = M), (r.total = ZD(l.headers) || r.total));
- const d = (p = this.callbacks) == null ? void 0 : p.onProgress;
- return d && p0(n.highWaterMark)
- ? this.loadProgressively(l, r, e, n.highWaterMark, d)
- : o
- ? l.arrayBuffer()
- : e.responseType === "json"
- ? l.json()
- : l.text();
- })
- .then((l) => {
- var p, M;
- const d = this.response;
- if (!d) throw new Error("loader destroyed");
- (self.clearTimeout(this.requestTimeout),
- (r.loading.end = Math.max(
- self.performance.now(),
- r.loading.first,
- )));
- const O = l[a];
- O && (r.loaded = r.total = O);
- const f = { url: d.url, data: l, code: d.status },
- z = (p = this.callbacks) == null ? void 0 : p.onProgress;
- (z && !p0(n.highWaterMark) && z(r, e, l, d),
- (M = this.callbacks) == null || M.onSuccess(f, r, e, d));
- })
- .catch((l) => {
- var p;
- if ((self.clearTimeout(this.requestTimeout), r.aborted)) return;
- const M = (l && l.code) || 0,
- d = l ? l.message : null;
- (p = this.callbacks) == null ||
- p.onError({ code: M, text: d }, e, l ? l.details : null, r);
- }));
- }
- getCacheAge() {
- let e = null;
- if (this.response) {
- const n = this.response.headers.get("age");
- e = n ? parseFloat(n) : null;
- }
- return e;
- }
- getResponseHeader(e) {
- return this.response ? this.response.headers.get(e) : null;
- }
- loadProgressively(e, n, i, r = 0, s) {
- const o = new Wg(),
- a = e.body.getReader(),
- u = () =>
- a
- .read()
- .then((c) => {
- if (c.done)
- return (
- o.dataLength && s(n, i, o.flush().buffer, e),
- Promise.resolve(new ArrayBuffer(0))
- );
- const b = c.value,
- l = b.length;
- return (
- (n.loaded += l),
- l < r || o.dataLength
- ? (o.push(b), o.dataLength >= r && s(n, i, o.flush().buffer, e))
- : s(n, i, b.buffer, e),
- u()
- );
- })
- .catch(() => Promise.reject());
- return u();
- }
-}
-function QD(t, e) {
- const n = {
- method: "GET",
- mode: "cors",
- credentials: "same-origin",
- signal: e,
- headers: new self.Headers(H0({}, t.headers)),
- };
- return (
- t.rangeEnd &&
- n.headers.set(
- "Range",
- "bytes=" + t.rangeStart + "-" + String(t.rangeEnd - 1),
- ),
- n
- );
-}
-function JD(t) {
- const e = YD.exec(t);
- if (e) return parseInt(e[2]) - parseInt(e[1]) + 1;
-}
-function ZD(t) {
- const e = t.get("Content-Range");
- if (e) {
- const i = JD(e);
- if (p0(i)) return i;
- }
- const n = t.get("Content-Length");
- if (n) return parseInt(n);
-}
-function eC(t, e) {
- return new self.Request(t.url, e);
-}
-class tC extends Error {
- constructor(e, n, i) {
- (super(e),
- (this.code = void 0),
- (this.details = void 0),
- (this.code = n),
- (this.details = i));
- }
-}
-const nC = /^age:\s*[\d.]+\s*$/im;
-class d6 {
- constructor(e) {
- ((this.xhrSetup = void 0),
- (this.requestTimeout = void 0),
- (this.retryTimeout = void 0),
- (this.retryDelay = void 0),
- (this.config = null),
- (this.callbacks = null),
- (this.context = null),
- (this.loader = null),
- (this.stats = void 0),
- (this.xhrSetup = (e && e.xhrSetup) || null),
- (this.stats = new fM()),
- (this.retryDelay = 0));
- }
- destroy() {
- ((this.callbacks = null),
- this.abortInternal(),
- (this.loader = null),
- (this.config = null),
- (this.context = null),
- (this.xhrSetup = null));
- }
- abortInternal() {
- const e = this.loader;
- (self.clearTimeout(this.requestTimeout),
- self.clearTimeout(this.retryTimeout),
- e &&
- ((e.onreadystatechange = null),
- (e.onprogress = null),
- e.readyState !== 4 && ((this.stats.aborted = !0), e.abort())));
- }
- abort() {
- var e;
- (this.abortInternal(),
- (e = this.callbacks) != null &&
- e.onAbort &&
- this.callbacks.onAbort(this.stats, this.context, this.loader));
- }
- load(e, n, i) {
- if (this.stats.loading.start)
- throw new Error("Loader can only be used once.");
- ((this.stats.loading.start = self.performance.now()),
- (this.context = e),
- (this.config = n),
- (this.callbacks = i),
- this.loadInternal());
- }
- loadInternal() {
- const { config: e, context: n } = this;
- if (!e || !n) return;
- const i = (this.loader = new self.XMLHttpRequest()),
- r = this.stats;
- ((r.loading.first = 0), (r.loaded = 0), (r.aborted = !1));
- const s = this.xhrSetup;
- s
- ? Promise.resolve()
- .then(() => {
- if (!(this.loader !== i || this.stats.aborted)) return s(i, n.url);
- })
- .catch((o) => {
- if (!(this.loader !== i || this.stats.aborted))
- return (i.open("GET", n.url, !0), s(i, n.url));
- })
- .then(() => {
- this.loader !== i ||
- this.stats.aborted ||
- this.openAndSendXhr(i, n, e);
- })
- .catch((o) => {
- var a;
- (a = this.callbacks) == null ||
- a.onError({ code: i.status, text: o.message }, n, i, r);
- })
- : this.openAndSendXhr(i, n, e);
- }
- openAndSendXhr(e, n, i) {
- e.readyState || e.open("GET", n.url, !0);
- const r = n.headers,
- { maxTimeToFirstByteMs: s, maxLoadTimeMs: o } = i.loadPolicy;
- if (r) for (const a in r) e.setRequestHeader(a, r[a]);
- (n.rangeEnd &&
- e.setRequestHeader(
- "Range",
- "bytes=" + n.rangeStart + "-" + (n.rangeEnd - 1),
- ),
- (e.onreadystatechange = this.readystatechange.bind(this)),
- (e.onprogress = this.loadprogress.bind(this)),
- (e.responseType = n.responseType),
- self.clearTimeout(this.requestTimeout),
- (i.timeout = s && p0(s) ? s : o),
- (this.requestTimeout = self.setTimeout(
- this.loadtimeout.bind(this),
- i.timeout,
- )),
- e.send());
- }
- readystatechange() {
- const { context: e, loader: n, stats: i } = this;
- if (!e || !n) return;
- const r = n.readyState,
- s = this.config;
- if (
- !i.aborted &&
- r >= 2 &&
- (i.loading.first === 0 &&
- ((i.loading.first = Math.max(self.performance.now(), i.loading.start)),
- s.timeout !== s.loadPolicy.maxLoadTimeMs &&
- (self.clearTimeout(this.requestTimeout),
- (s.timeout = s.loadPolicy.maxLoadTimeMs),
- (this.requestTimeout = self.setTimeout(
- this.loadtimeout.bind(this),
- s.loadPolicy.maxLoadTimeMs - (i.loading.first - i.loading.start),
- )))),
- r === 4)
- ) {
- (self.clearTimeout(this.requestTimeout),
- (n.onreadystatechange = null),
- (n.onprogress = null));
- const c = n.status,
- b = n.responseType === "text" ? n.responseText : null;
- if (c >= 200 && c < 300) {
- const d = b ?? n.response;
- if (d != null) {
- var o, a;
- i.loading.end = Math.max(self.performance.now(), i.loading.first);
- const O = n.responseType === "arraybuffer" ? d.byteLength : d.length;
- ((i.loaded = i.total = O),
- (i.bwEstimate =
- (i.total * 8e3) / (i.loading.end - i.loading.first)));
- const f = (o = this.callbacks) == null ? void 0 : o.onProgress;
- f && f(i, e, d, n);
- const z = { url: n.responseURL, data: d, code: c };
- (a = this.callbacks) == null || a.onSuccess(z, i, e, n);
- return;
- }
- }
- const l = s.loadPolicy.errorRetry,
- p = i.retry,
- M = { url: e.url, data: void 0, code: c };
- if (gc(l, p, !1, M)) this.retry(l);
- else {
- var u;
- (U0.error(`${c} while loading ${e.url}`),
- (u = this.callbacks) == null ||
- u.onError({ code: c, text: n.statusText }, e, n, i));
- }
- }
- }
- loadtimeout() {
- if (!this.config) return;
- const e = this.config.loadPolicy.timeoutRetry,
- n = this.stats.retry;
- if (gc(e, n, !0)) this.retry(e);
- else {
- var i;
- U0.warn(
- `timeout while loading ${(i = this.context) == null ? void 0 : i.url}`,
- );
- const r = this.callbacks;
- r &&
- (this.abortInternal(),
- r.onTimeout(this.stats, this.context, this.loader));
- }
- }
- retry(e) {
- const { context: n, stats: i } = this;
- ((this.retryDelay = AM(e, i.retry)),
- i.retry++,
- U0.warn(
- `${status ? "HTTP Status " + status : "Timeout"} while loading ${n?.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`,
- ),
- this.abortInternal(),
- (this.loader = null),
- self.clearTimeout(this.retryTimeout),
- (this.retryTimeout = self.setTimeout(
- this.loadInternal.bind(this),
- this.retryDelay,
- )));
- }
- loadprogress(e) {
- const n = this.stats;
- ((n.loaded = e.loaded), e.lengthComputable && (n.total = e.total));
- }
- getCacheAge() {
- let e = null;
- if (this.loader && nC.test(this.loader.getAllResponseHeaders())) {
- const n = this.loader.getResponseHeader("age");
- e = n ? parseFloat(n) : null;
- }
- return e;
- }
- getResponseHeader(e) {
- return this.loader &&
- new RegExp(`^${e}:\\s*[\\d.]+\\s*$`, "im").test(
- this.loader.getAllResponseHeaders(),
- )
- ? this.loader.getResponseHeader(e)
- : null;
- }
-}
-const iC = {
- maxTimeToFirstByteMs: 8e3,
- maxLoadTimeMs: 2e4,
- timeoutRetry: null,
- errorRetry: null,
- },
- rC = $0(
- $0(
- {
- autoStartLoad: !0,
- startPosition: -1,
- defaultAudioCodec: void 0,
- debug: !1,
- capLevelOnFPSDrop: !1,
- capLevelToPlayerSize: !1,
- ignoreDevicePixelRatio: !1,
- maxDevicePixelRatio: Number.POSITIVE_INFINITY,
- preferManagedMediaSource: !0,
- initialLiveManifestSize: 1,
- maxBufferLength: 30,
- backBufferLength: 1 / 0,
- frontBufferFlushThreshold: 1 / 0,
- startOnSegmentBoundary: !1,
- maxBufferSize: 60 * 1e3 * 1e3,
- maxFragLookUpTolerance: 0.25,
- maxBufferHole: 0.1,
- detectStallWithCurrentTimeMs: 1250,
- highBufferWatchdogPeriod: 2,
- nudgeOffset: 0.1,
- nudgeMaxRetry: 3,
- nudgeOnVideoHole: !0,
- liveSyncMode: "edge",
- liveSyncDurationCount: 3,
- liveSyncOnStallIncrease: 1,
- liveMaxLatencyDurationCount: 1 / 0,
- liveSyncDuration: void 0,
- liveMaxLatencyDuration: void 0,
- maxLiveSyncPlaybackRate: 1,
- liveDurationInfinity: !1,
- liveBackBufferLength: null,
- maxMaxBufferLength: 600,
- enableWorker: !0,
- workerPath: null,
- enableSoftwareAES: !0,
- startLevel: void 0,
- startFragPrefetch: !1,
- fpsDroppedMonitoringPeriod: 5e3,
- fpsDroppedMonitoringThreshold: 0.2,
- appendErrorMaxRetry: 3,
- ignorePlaylistParsingErrors: !1,
- loader: d6,
- fLoader: void 0,
- pLoader: void 0,
- xhrSetup: void 0,
- licenseXhrSetup: void 0,
- licenseResponseCallback: void 0,
- abrController: zB,
- bufferController: aI,
- capLevelController: wM,
- errorController: gB,
- fpsController: aD,
- stretchShortVideoTrack: !1,
- maxAudioFramesDrift: 1,
- forceKeyFrameOnDiscontinuity: !0,
- abrEwmaFastLive: 3,
- abrEwmaSlowLive: 9,
- abrEwmaFastVoD: 3,
- abrEwmaSlowVoD: 9,
- abrEwmaDefaultEstimate: 5e5,
- abrEwmaDefaultEstimateMax: 5e6,
- abrBandWidthFactor: 0.95,
- abrBandWidthUpFactor: 0.7,
- abrMaxWithRealBitrate: !1,
- maxStarvationDelay: 4,
- maxLoadingDelay: 4,
- minAutoBitrate: 0,
- emeEnabled: !1,
- widevineLicenseUrl: void 0,
- drmSystems: {},
- drmSystemOptions: {},
- requestMediaKeySystemAccessFunc: Mg,
- requireKeySystemAccessOnStart: !1,
- testBandwidth: !0,
- progressive: !1,
- lowLatencyMode: !0,
- cmcd: void 0,
- enableDateRangeMetadataCues: !0,
- enableEmsgMetadataCues: !0,
- enableEmsgKLVMetadata: !1,
- enableID3MetadataCues: !0,
- enableInterstitialPlayback: !0,
- interstitialAppendInPlace: !0,
- interstitialLiveLookAhead: 10,
- useMediaCapabilities: !0,
- preserveManualLevelOnError: !1,
- certLoadPolicy: { default: iC },
- keyLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 8e3,
- maxLoadTimeMs: 2e4,
- timeoutRetry: {
- maxNumRetry: 1,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 2e4,
- backoff: "linear",
- },
- errorRetry: {
- maxNumRetry: 8,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 2e4,
- backoff: "linear",
- },
- },
- },
- manifestLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 1 / 0,
- maxLoadTimeMs: 2e4,
- timeoutRetry: {
- maxNumRetry: 2,
- retryDelayMs: 0,
- maxRetryDelayMs: 0,
- },
- errorRetry: {
- maxNumRetry: 1,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 8e3,
- },
- },
- },
- playlistLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 1e4,
- maxLoadTimeMs: 2e4,
- timeoutRetry: {
- maxNumRetry: 2,
- retryDelayMs: 0,
- maxRetryDelayMs: 0,
- },
- errorRetry: {
- maxNumRetry: 2,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 8e3,
- },
- },
- },
- fragLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 1e4,
- maxLoadTimeMs: 12e4,
- timeoutRetry: {
- maxNumRetry: 4,
- retryDelayMs: 0,
- maxRetryDelayMs: 0,
- },
- errorRetry: {
- maxNumRetry: 6,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 8e3,
- },
- },
- },
- steeringManifestLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 1e4,
- maxLoadTimeMs: 2e4,
- timeoutRetry: {
- maxNumRetry: 2,
- retryDelayMs: 0,
- maxRetryDelayMs: 0,
- },
- errorRetry: {
- maxNumRetry: 1,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 8e3,
- },
- },
- },
- interstitialAssetListLoadPolicy: {
- default: {
- maxTimeToFirstByteMs: 1e4,
- maxLoadTimeMs: 3e4,
- timeoutRetry: {
- maxNumRetry: 0,
- retryDelayMs: 0,
- maxRetryDelayMs: 0,
- },
- errorRetry: {
- maxNumRetry: 0,
- retryDelayMs: 1e3,
- maxRetryDelayMs: 8e3,
- },
- },
- },
- manifestLoadingTimeOut: 1e4,
- manifestLoadingMaxRetry: 1,
- manifestLoadingRetryDelay: 1e3,
- manifestLoadingMaxRetryTimeout: 64e3,
- levelLoadingTimeOut: 1e4,
- levelLoadingMaxRetry: 4,
- levelLoadingRetryDelay: 1e3,
- levelLoadingMaxRetryTimeout: 64e3,
- fragLoadingTimeOut: 2e4,
- fragLoadingMaxRetry: 6,
- fragLoadingRetryDelay: 1e3,
- fragLoadingMaxRetryTimeout: 64e3,
- },
- sC(),
- ),
- {},
- {
- subtitleStreamController: AD,
- subtitleTrackController: bD,
- timelineController: HD,
- audioStreamController: iI,
- audioTrackController: rI,
- emeController: Zi,
- cmcdController: rD,
- contentSteeringController: oD,
- interstitialsController: hD,
- },
- );
-function sC() {
- return {
- cueHandler: jD,
- enableWebVTT: !0,
- enableIMSC1: !0,
- enableCEA708Captions: !0,
- captionsTextTrack1Label: "English",
- captionsTextTrack1LanguageCode: "en",
- captionsTextTrack2Label: "Spanish",
- captionsTextTrack2LanguageCode: "es",
- captionsTextTrack3Label: "Unknown CC",
- captionsTextTrack3LanguageCode: "",
- captionsTextTrack4Label: "Unknown CC",
- captionsTextTrack4LanguageCode: "",
- renderTextTracksNatively: !0,
- };
-}
-function oC(t, e, n) {
- if (
- (e.liveSyncDurationCount || e.liveMaxLatencyDurationCount) &&
- (e.liveSyncDuration || e.liveMaxLatencyDuration)
- )
- throw new Error(
- "Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration",
- );
- if (
- e.liveMaxLatencyDurationCount !== void 0 &&
- (e.liveSyncDurationCount === void 0 ||
- e.liveMaxLatencyDurationCount <= e.liveSyncDurationCount)
- )
- throw new Error(
- 'Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"',
- );
- if (
- e.liveMaxLatencyDuration !== void 0 &&
- (e.liveSyncDuration === void 0 ||
- e.liveMaxLatencyDuration <= e.liveSyncDuration)
- )
- throw new Error(
- 'Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"',
- );
- const i = wp(t),
- r = ["manifest", "level", "frag"],
- s = ["TimeOut", "MaxRetry", "RetryDelay", "MaxRetryTimeout"];
- return (
- r.forEach((o) => {
- const a = `${o === "level" ? "playlist" : o}LoadPolicy`,
- u = e[a] === void 0,
- c = [];
- (s.forEach((b) => {
- const l = `${o}Loading${b}`,
- p = e[l];
- if (p !== void 0 && u) {
- c.push(l);
- const M = i[a].default;
- switch (((e[a] = { default: M }), b)) {
- case "TimeOut":
- ((M.maxLoadTimeMs = p), (M.maxTimeToFirstByteMs = p));
- break;
- case "MaxRetry":
- ((M.errorRetry.maxNumRetry = p),
- (M.timeoutRetry.maxNumRetry = p));
- break;
- case "RetryDelay":
- ((M.errorRetry.retryDelayMs = p),
- (M.timeoutRetry.retryDelayMs = p));
- break;
- case "MaxRetryTimeout":
- ((M.errorRetry.maxRetryDelayMs = p),
- (M.timeoutRetry.maxRetryDelayMs = p));
- break;
- }
- }
- }),
- c.length &&
- n.warn(
- `hls.js config: "${c.join('", "')}" setting(s) are deprecated, use "${a}": ${Y0(e[a])}`,
- ));
- }),
- $0($0({}, i), e)
- );
-}
-function wp(t) {
- return t && typeof t == "object"
- ? Array.isArray(t)
- ? t.map(wp)
- : Object.keys(t).reduce((e, n) => ((e[n] = wp(t[n])), e), {})
- : t;
-}
-function aC(t, e) {
- const n = t.loader;
- n !== Q3 && n !== d6
- ? (e.log(
- "[config]: Custom loader detected, cannot enable progressive streaming",
- ),
- (t.progressive = !1))
- : KD() &&
- ((t.loader = Q3),
- (t.progressive = !0),
- (t.enableSoftwareAES = !0),
- e.log("[config]: Progressive streaming enabled, using FetchLoader"));
-}
-const Ra = 2,
- cC = 0.1,
- uC = 0.05,
- bC = 100;
-class pC extends cg {
- constructor(e, n) {
- (super("gap-controller", e.logger),
- (this.hls = void 0),
- (this.fragmentTracker = void 0),
- (this.media = null),
- (this.mediaSource = void 0),
- (this.nudgeRetry = 0),
- (this.stallReported = !1),
- (this.stalled = null),
- (this.moved = !1),
- (this.seeking = !1),
- (this.buffered = {}),
- (this.lastCurrentTime = 0),
- (this.ended = 0),
- (this.waiting = 0),
- (this.onMediaPlaying = () => {
- ((this.ended = 0), (this.waiting = 0));
- }),
- (this.onMediaWaiting = () => {
- var i;
- ((i = this.media) != null && i.seeking) ||
- ((this.waiting = self.performance.now()), this.tick());
- }),
- (this.onMediaEnded = () => {
- if (this.hls) {
- var i;
- ((this.ended =
- ((i = this.media) == null ? void 0 : i.currentTime) || 1),
- this.hls.trigger(L.MEDIA_ENDED, { stalled: !1 }));
- }
- }),
- (this.hls = e),
- (this.fragmentTracker = n),
- this.registerListeners());
- }
- registerListeners() {
- const { hls: e } = this;
- e &&
- (e.on(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.BUFFER_APPENDED, this.onBufferAppended, this));
- }
- unregisterListeners() {
- const { hls: e } = this;
- e &&
- (e.off(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.BUFFER_APPENDED, this.onBufferAppended, this));
- }
- destroy() {
- (super.destroy(),
- this.unregisterListeners(),
- (this.media = this.hls = this.fragmentTracker = null),
- (this.mediaSource = void 0));
- }
- onMediaAttached(e, n) {
- (this.setInterval(bC), (this.mediaSource = n.mediaSource));
- const i = (this.media = n.media);
- (I1(i, "playing", this.onMediaPlaying),
- I1(i, "waiting", this.onMediaWaiting),
- I1(i, "ended", this.onMediaEnded));
- }
- onMediaDetaching(e, n) {
- this.clearInterval();
- const { media: i } = this;
- (i &&
- (G1(i, "playing", this.onMediaPlaying),
- G1(i, "waiting", this.onMediaWaiting),
- G1(i, "ended", this.onMediaEnded),
- (this.media = null)),
- (this.mediaSource = void 0));
- }
- onBufferAppended(e, n) {
- this.buffered = n.timeRanges;
- }
- get hasBuffered() {
- return Object.keys(this.buffered).length > 0;
- }
- tick() {
- var e;
- if (!((e = this.media) != null && e.readyState) || !this.hasBuffered)
- return;
- const n = this.media.currentTime;
- (this.poll(n, this.lastCurrentTime), (this.lastCurrentTime = n));
- }
- poll(e, n) {
- var i, r;
- const s = (i = this.hls) == null ? void 0 : i.config;
- if (!s) return;
- const o = this.media;
- if (!o) return;
- const { seeking: a } = o,
- u = this.seeking && !a,
- c = !this.seeking && a,
- b = (o.paused && !a) || o.ended || o.playbackRate === 0;
- if (((this.seeking = a), e !== n)) {
- (n && (this.ended = 0),
- (this.moved = !0),
- a ||
- ((this.nudgeRetry = 0),
- s.nudgeOnVideoHole && !b && e > n && this.nudgeOnVideoHole(e, n)),
- this.waiting === 0 && this.stallResolved(e));
- return;
- }
- if (c || u) {
- u && this.stallResolved(e);
- return;
- }
- if (b) {
- ((this.nudgeRetry = 0),
- this.stallResolved(e),
- !this.ended &&
- o.ended &&
- this.hls &&
- ((this.ended = e || 1),
- this.hls.trigger(L.MEDIA_ENDED, { stalled: !1 })));
- return;
- }
- if (!W0.getBuffered(o).length) {
- this.nudgeRetry = 0;
- return;
- }
- const l = W0.bufferInfo(o, e, 0),
- p = l.nextStart || 0,
- M = this.fragmentTracker;
- if (a && M && this.hls) {
- const v = J3(this.hls.inFlightFragments, e),
- m = l.len > Ra,
- E = !p || v || (p - e > Ra && !M.getPartialFragment(e));
- if (m || E) return;
- this.moved = !1;
- }
- const d = (r = this.hls) == null ? void 0 : r.latestLevelDetails;
- if (!this.moved && this.stalled !== null && M) {
- if (!(l.len > 0) && !p) return;
- const m = Math.max(p, l.start || 0) - e,
- _ = !!(d != null && d.live) ? d.targetduration * 2 : Ra,
- T = $o(e, M);
- if (m > 0 && (m <= _ || T)) {
- o.paused || this._trySkipBufferHole(T);
- return;
- }
- }
- const O = s.detectStallWithCurrentTimeMs,
- f = self.performance.now(),
- z = this.waiting;
- let g = this.stalled;
- if (g === null)
- if (z > 0 && f - z < O) g = this.stalled = z;
- else {
- this.stalled = f;
- return;
- }
- const A = f - g;
- if (!a && (A >= O || z) && this.hls) {
- var h;
- if (
- ((h = this.mediaSource) == null ? void 0 : h.readyState) === "ended" &&
- !(d != null && d.live) &&
- Math.abs(e - (d?.edge || 0)) < 1
- ) {
- if (this.ended) return;
- ((this.ended = e || 1),
- this.hls.trigger(L.MEDIA_ENDED, { stalled: !0 }));
- return;
- }
- if ((this._reportStall(l), !this.media || !this.hls)) return;
- }
- const q = W0.bufferInfo(o, e, s.maxBufferHole);
- this._tryFixBufferStall(q, A, e);
- }
- stallResolved(e) {
- const n = this.stalled;
- if (n && this.hls && ((this.stalled = null), this.stallReported)) {
- const i = self.performance.now() - n;
- (this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),
- (this.stallReported = !1),
- (this.waiting = 0),
- this.hls.trigger(L.STALL_RESOLVED, {}));
- }
- }
- nudgeOnVideoHole(e, n) {
- var i;
- const r = this.buffered.video;
- if (
- this.hls &&
- this.media &&
- this.fragmentTracker &&
- (i = this.buffered.audio) != null &&
- i.length &&
- r &&
- r.length > 1 &&
- e > r.end(0)
- ) {
- const s = W0.bufferedInfo(
- W0.timeRangesToArray(this.buffered.audio),
- e,
- 0,
- );
- if (s.len > 1 && n >= s.start) {
- const o = W0.timeRangesToArray(r),
- a = W0.bufferedInfo(o, n, 0).bufferedIndex;
- if (a > -1 && a < o.length - 1) {
- const u = W0.bufferedInfo(o, e, 0).bufferedIndex,
- c = o[a].end,
- b = o[a + 1].start;
- if ((u === -1 || u > a) && b - c < 1 && e - c < 2) {
- const l = new Error(
- `nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${c} -> ${b} buffered index: ${u}`,
- );
- (this.warn(l.message), (this.media.currentTime += 1e-6));
- let p = $o(e, this.fragmentTracker);
- p && "fragment" in p ? (p = p.fragment) : p || (p = void 0);
- const M = W0.bufferInfo(this.media, e, 0);
- this.hls.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.BUFFER_SEEK_OVER_HOLE,
- fatal: !1,
- error: l,
- reason: l.message,
- frag: p,
- buffer: M.len,
- bufferInfo: M,
- });
- }
- }
- }
- }
- }
- _tryFixBufferStall(e, n, i) {
- var r, s;
- const { fragmentTracker: o, media: a } = this,
- u = (r = this.hls) == null ? void 0 : r.config;
- if (!a || !o || !u) return;
- const c = (s = this.hls) == null ? void 0 : s.latestLevelDetails,
- b = $o(i, o);
- if (
- (b || (c != null && c.live && i < c.fragmentStart)) &&
- (this._trySkipBufferHole(b) || !this.media)
- )
- return;
- const l = e.buffered,
- p = this.adjacentTraversal(e, i);
- ((l && l.length > 1 && e.len > u.maxBufferHole) ||
- (e.nextStart && (e.nextStart - i < u.maxBufferHole || p))) &&
- (n > u.highBufferWatchdogPeriod * 1e3 || this.waiting) &&
- (this.warn("Trying to nudge playhead over buffer-hole"),
- this._tryNudgeBuffer(e));
- }
- adjacentTraversal(e, n) {
- const i = this.fragmentTracker,
- r = e.nextStart;
- if (i && r) {
- const s = i.getFragAtPos(n, z0.MAIN),
- o = i.getFragAtPos(r, z0.MAIN);
- if (s && o) return o.sn - s.sn < 2;
- }
- return !1;
- }
- _reportStall(e) {
- const { hls: n, media: i, stallReported: r, stalled: s } = this;
- if (!r && s !== null && i && n) {
- this.stallReported = !0;
- const o = new Error(
- `Playback stalling at @${i.currentTime} due to low buffer (${Y0(e)})`,
- );
- (this.warn(o.message),
- n.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.BUFFER_STALLED_ERROR,
- fatal: !1,
- error: o,
- buffer: e.len,
- bufferInfo: e,
- stalled: { start: s },
- }));
- }
- }
- _trySkipBufferHole(e) {
- var n;
- const { fragmentTracker: i, media: r } = this,
- s = (n = this.hls) == null ? void 0 : n.config;
- if (!r || !i || !s) return 0;
- const o = r.currentTime,
- a = W0.bufferInfo(r, o, 0),
- u = o < a.start ? a.start : a.nextStart;
- if (u && this.hls) {
- const b = a.len <= s.maxBufferHole,
- l = a.len > 0 && a.len < 1 && r.readyState < 3,
- p = u - o;
- if (p > 0 && (b || l)) {
- if (p > s.maxBufferHole) {
- let d = !1;
- if (o === 0) {
- const O = i.getAppendedFrag(0, z0.MAIN);
- O && u < O.end && (d = !0);
- }
- if (!d && e) {
- var c;
- if (
- !((c = this.hls.loadLevelObj) != null && c.details) ||
- J3(this.hls.inFlightFragments, u)
- )
- return 0;
- let f = !1,
- z = e.end;
- for (; z < u; ) {
- const g = $o(z, i);
- if (g) z += g.duration;
- else {
- f = !0;
- break;
- }
- }
- if (f) return 0;
- }
- }
- const M = Math.max(u + uC, o + cC);
- if (
- (this.warn(`skipping hole, adjusting currentTime from ${o} to ${M}`),
- (this.moved = !0),
- (r.currentTime = M),
- !(e != null && e.gap))
- ) {
- const d = new Error(
- `fragment loaded with buffer holes, seeking from ${o} to ${M}`,
- ),
- O = {
- type: h0.MEDIA_ERROR,
- details: $.BUFFER_SEEK_OVER_HOLE,
- fatal: !1,
- error: d,
- reason: d.message,
- buffer: a.len,
- bufferInfo: a,
- };
- (e && ("fragment" in e ? (O.part = e) : (O.frag = e)),
- this.hls.trigger(L.ERROR, O));
- }
- return M;
- }
- }
- return 0;
- }
- _tryNudgeBuffer(e) {
- const { hls: n, media: i, nudgeRetry: r } = this,
- s = n?.config;
- if (!i || !s) return 0;
- const o = i.currentTime;
- if ((this.nudgeRetry++, r < s.nudgeMaxRetry)) {
- const a = o + (r + 1) * s.nudgeOffset,
- u = new Error(`Nudging 'currentTime' from ${o} to ${a}`);
- (this.warn(u.message),
- (i.currentTime = a),
- n.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.BUFFER_NUDGE_ON_STALL,
- error: u,
- fatal: !1,
- buffer: e.len,
- bufferInfo: e,
- }));
- } else {
- const a = new Error(
- `Playhead still not moving while enough data buffered @${o} after ${s.nudgeMaxRetry} nudges`,
- );
- (this.error(a.message),
- n.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.BUFFER_STALLED_ERROR,
- error: a,
- fatal: !0,
- buffer: e.len,
- bufferInfo: e,
- }));
- }
- }
-}
-function J3(t, e) {
- const n = Z3(t.main);
- if (n && n.start <= e) return n;
- const i = Z3(t.audio);
- return i && i.start <= e ? i : null;
-}
-function Z3(t) {
- if (!t) return null;
- switch (t.state) {
- case e0.IDLE:
- case e0.STOPPED:
- case e0.ENDED:
- case e0.ERROR:
- return null;
- }
- return t.frag;
-}
-function $o(t, e) {
- return e.getAppendedFrag(t, z0.MAIN) || e.getPartialFragment(t);
-}
-const lC = 0.25;
-function Np() {
- if (!(typeof self > "u")) return self.VTTCue || self.TextTrackCue;
-}
-function Bu(t, e, n, i, r) {
- let s = new t(e, n, "");
- try {
- ((s.value = i), r && (s.type = r));
- } catch {
- s = new t(e, n, Y0(r ? $0({ type: r }, i) : i));
- }
- return s;
-}
-const Ho = (() => {
- const t = Np();
- try {
- t && new t(0, Number.POSITIVE_INFINITY, "");
- } catch {
- return Number.MAX_VALUE;
- }
- return Number.POSITIVE_INFINITY;
-})();
-class MC {
- constructor(e) {
- ((this.hls = void 0),
- (this.id3Track = null),
- (this.media = null),
- (this.dateRangeCuesAppended = {}),
- (this.removeCues = !0),
- (this.assetCue = void 0),
- (this.onEventCueEnter = () => {
- this.hls && this.hls.trigger(L.EVENT_CUE_ENTER, {});
- }),
- (this.hls = e),
- this._registerListeners());
- }
- destroy() {
- (this._unregisterListeners(),
- (this.id3Track = null),
- (this.media = null),
- (this.dateRangeCuesAppended = {}),
- (this.hls = this.onEventCueEnter = null));
- }
- _registerListeners() {
- const { hls: e } = this;
- e &&
- (e.on(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.on(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this),
- e.on(L.BUFFER_FLUSHING, this.onBufferFlushing, this),
- e.on(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.on(L.LEVEL_PTS_UPDATED, this.onLevelPtsUpdated, this));
- }
- _unregisterListeners() {
- const { hls: e } = this;
- e &&
- (e.off(L.MEDIA_ATTACHING, this.onMediaAttaching, this),
- e.off(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.FRAG_PARSING_METADATA, this.onFragParsingMetadata, this),
- e.off(L.BUFFER_FLUSHING, this.onBufferFlushing, this),
- e.off(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.off(L.LEVEL_PTS_UPDATED, this.onLevelPtsUpdated, this));
- }
- onMediaAttaching(e, n) {
- var i;
- ((this.media = n.media),
- ((i = n.overrides) == null ? void 0 : i.cueRemoval) === !1 &&
- (this.removeCues = !1));
- }
- onMediaAttached() {
- var e;
- const n = (e = this.hls) == null ? void 0 : e.latestLevelDetails;
- n && this.updateDateRangeCues(n);
- }
- onMediaDetaching(e, n) {
- ((this.media = null),
- !n.transferMedia &&
- (this.id3Track &&
- (this.removeCues && Ci(this.id3Track, this.onEventCueEnter),
- (this.id3Track = null)),
- (this.dateRangeCuesAppended = {})));
- }
- onManifestLoading() {
- this.dateRangeCuesAppended = {};
- }
- createTrack(e) {
- const n = this.getID3Track(e.textTracks);
- return ((n.mode = "hidden"), n);
- }
- getID3Track(e) {
- if (this.media) {
- for (let n = 0; n < e.length; n++) {
- const i = e[n];
- if (i.kind === "metadata" && i.label === "id3")
- return (n6(i, this.media), i);
- }
- return this.media.addTextTrack("metadata", "id3");
- }
- }
- onFragParsingMetadata(e, n) {
- if (!this.media || !this.hls) return;
- const { enableEmsgMetadataCues: i, enableID3MetadataCues: r } =
- this.hls.config;
- if (!i && !r) return;
- const { samples: s } = n;
- this.id3Track || (this.id3Track = this.createTrack(this.media));
- const o = Np();
- if (o)
- for (let a = 0; a < s.length; a++) {
- const u = s[a].type;
- if ((u === te.emsg && !i) || !r) continue;
- const c = _g(s[a].data),
- b = s[a].pts;
- let l = b + s[a].duration;
- (l > Ho && (l = Ho), l - b <= 0 && (l = b + lC));
- for (let M = 0; M < c.length; M++) {
- const d = c[M];
- if (!xg(d)) {
- this.updateId3CueEnds(b, u);
- const O = Bu(o, b, l, d, u);
- O && this.id3Track.addCue(O);
- }
- }
- }
- }
- updateId3CueEnds(e, n) {
- var i;
- const r = (i = this.id3Track) == null ? void 0 : i.cues;
- if (r)
- for (let s = r.length; s--; ) {
- const o = r[s];
- o.type === n && o.startTime < e && o.endTime === Ho && (o.endTime = e);
- }
- }
- onBufferFlushing(e, { startOffset: n, endOffset: i, type: r }) {
- const { id3Track: s, hls: o } = this;
- if (!o) return;
- const {
- config: { enableEmsgMetadataCues: a, enableID3MetadataCues: u },
- } = o;
- if (s && (a || u)) {
- let c;
- (r === "audio"
- ? (c = (b) => b.type === te.audioId3 && u)
- : r === "video"
- ? (c = (b) => b.type === te.emsg && a)
- : (c = (b) =>
- (b.type === te.audioId3 && u) || (b.type === te.emsg && a)),
- xp(s, n, i, c));
- }
- }
- onLevelUpdated(e, { details: n }) {
- this.updateDateRangeCues(n, !0);
- }
- onLevelPtsUpdated(e, n) {
- Math.abs(n.drift) > 0.01 && this.updateDateRangeCues(n.details);
- }
- updateDateRangeCues(e, n) {
- if (!this.hls || !this.media) return;
- const {
- assetPlayerId: i,
- timelineOffset: r,
- enableDateRangeMetadataCues: s,
- interstitialsController: o,
- } = this.hls.config;
- if (!s) return;
- const a = Np();
- if (i && r && !o) {
- const { fragmentStart: O, fragmentEnd: f } = e;
- let z = this.assetCue;
- z
- ? ((z.startTime = O), (z.endTime = f))
- : a &&
- ((z = this.assetCue =
- Bu(
- a,
- O,
- f,
- { assetPlayerId: this.hls.config.assetPlayerId },
- "hlsjs.interstitial.asset",
- )),
- z &&
- ((z.id = i),
- this.id3Track || (this.id3Track = this.createTrack(this.media)),
- this.id3Track.addCue(z),
- z.addEventListener("enter", this.onEventCueEnter)));
- }
- if (!e.hasProgramDateTime) return;
- const { id3Track: u } = this,
- { dateRanges: c } = e,
- b = Object.keys(c);
- let l = this.dateRangeCuesAppended;
- if (u && n) {
- var p;
- if ((p = u.cues) != null && p.length) {
- const O = Object.keys(l).filter((f) => !b.includes(f));
- for (let f = O.length; f--; ) {
- var M;
- const z = O[f],
- g = (M = l[z]) == null ? void 0 : M.cues;
- (delete l[z],
- g &&
- Object.keys(g).forEach((A) => {
- const h = g[A];
- if (h) {
- h.removeEventListener("enter", this.onEventCueEnter);
- try {
- u.removeCue(h);
- } catch {}
- }
- }));
- }
- } else l = this.dateRangeCuesAppended = {};
- }
- const d = e.fragments[e.fragments.length - 1];
- if (!(b.length === 0 || !p0(d?.programDateTime))) {
- this.id3Track || (this.id3Track = this.createTrack(this.media));
- for (let O = 0; O < b.length; O++) {
- const f = b[O],
- z = c[f],
- g = z.startTime,
- A = l[f],
- h = A?.cues || {};
- let q = A?.durationKnown || !1,
- v = Ho;
- const { duration: m, endDate: E } = z;
- if (E && m !== null) ((v = g + m), (q = !0));
- else if (z.endOnNext && !q) {
- const T = b.reduce((y, W) => {
- if (W !== z.id) {
- const x = c[W];
- if (
- x.class === z.class &&
- x.startDate > z.startDate &&
- (!y || z.startDate < y.startDate)
- )
- return x;
- }
- return y;
- }, null);
- T && ((v = T.startTime), (q = !0));
- }
- const _ = Object.keys(z.attr);
- for (let T = 0; T < _.length; T++) {
- const y = _[T];
- if (!NB(y)) continue;
- const W = h[y];
- if (W)
- q && !(A != null && A.durationKnown)
- ? (W.endTime = v)
- : Math.abs(W.startTime - g) > 0.01 &&
- ((W.startTime = g), (W.endTime = v));
- else if (a) {
- let x = z.attr[y];
- BB(y) && (x = H5(x));
- const N = Bu(a, g, v, { key: y, data: x }, te.dateRange);
- N &&
- ((N.id = f),
- this.id3Track.addCue(N),
- (h[y] = N),
- o &&
- (y === "X-ASSET-LIST" || y === "X-ASSET-URL") &&
- N.addEventListener("enter", this.onEventCueEnter));
- }
- }
- l[f] = { cues: h, dateRange: z, durationKnown: q };
- }
- }
- }
-}
-class dC {
- constructor(e) {
- ((this.hls = void 0),
- (this.config = void 0),
- (this.media = null),
- (this.currentTime = 0),
- (this.stallCount = 0),
- (this._latency = null),
- (this._targetLatencyUpdated = !1),
- (this.onTimeupdate = () => {
- const { media: n } = this,
- i = this.levelDetails;
- if (!n || !i) return;
- this.currentTime = n.currentTime;
- const r = this.computeLatency();
- if (r === null) return;
- this._latency = r;
- const { lowLatencyMode: s, maxLiveSyncPlaybackRate: o } = this.config;
- if (!s || o === 1 || !i.live) return;
- const a = this.targetLatency;
- if (a === null) return;
- const u = r - a,
- c = Math.min(this.maxLatency, a + i.targetduration);
- if (u < c && u > 0.05 && this.forwardBufferLength > 1) {
- const l = Math.min(2, Math.max(1, o)),
- p =
- Math.round(
- (2 / (1 + Math.exp(-0.75 * u - this.edgeStalled))) * 20,
- ) / 20,
- M = Math.min(l, Math.max(1, p));
- this.changeMediaPlaybackRate(n, M);
- } else
- n.playbackRate !== 1 &&
- n.playbackRate !== 0 &&
- this.changeMediaPlaybackRate(n, 1);
- }),
- (this.hls = e),
- (this.config = e.config),
- this.registerListeners());
- }
- get levelDetails() {
- var e;
- return ((e = this.hls) == null ? void 0 : e.latestLevelDetails) || null;
- }
- get latency() {
- return this._latency || 0;
- }
- get maxLatency() {
- const { config: e } = this;
- if (e.liveMaxLatencyDuration !== void 0) return e.liveMaxLatencyDuration;
- const n = this.levelDetails;
- return n ? e.liveMaxLatencyDurationCount * n.targetduration : 0;
- }
- get targetLatency() {
- const e = this.levelDetails;
- if (e === null || this.hls === null) return null;
- const { holdBack: n, partHoldBack: i, targetduration: r } = e,
- {
- liveSyncDuration: s,
- liveSyncDurationCount: o,
- lowLatencyMode: a,
- } = this.config,
- u = this.hls.userConfig;
- let c = (a && i) || n;
- (this._targetLatencyUpdated ||
- u.liveSyncDuration ||
- u.liveSyncDurationCount ||
- c === 0) &&
- (c = s !== void 0 ? s : o * r);
- const b = r;
- return (
- c + Math.min(this.stallCount * this.config.liveSyncOnStallIncrease, b)
- );
- }
- set targetLatency(e) {
- ((this.stallCount = 0),
- (this.config.liveSyncDuration = e),
- (this._targetLatencyUpdated = !0));
- }
- get liveSyncPosition() {
- const e = this.estimateLiveEdge(),
- n = this.targetLatency;
- if (e === null || n === null) return null;
- const i = this.levelDetails;
- if (i === null) return null;
- const r = i.edge,
- s = e - n - this.edgeStalled,
- o = r - i.totalduration,
- a =
- r - ((this.config.lowLatencyMode && i.partTarget) || i.targetduration);
- return Math.min(Math.max(o, s), a);
- }
- get drift() {
- const e = this.levelDetails;
- return e === null ? 1 : e.drift;
- }
- get edgeStalled() {
- const e = this.levelDetails;
- if (e === null) return 0;
- const n =
- ((this.config.lowLatencyMode && e.partTarget) || e.targetduration) * 3;
- return Math.max(e.age - n, 0);
- }
- get forwardBufferLength() {
- const { media: e } = this,
- n = this.levelDetails;
- if (!e || !n) return 0;
- const i = e.buffered.length;
- return (i ? e.buffered.end(i - 1) : n.edge) - this.currentTime;
- }
- destroy() {
- (this.unregisterListeners(), this.onMediaDetaching(), (this.hls = null));
- }
- registerListeners() {
- const { hls: e } = this;
- e &&
- (e.on(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.on(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.on(L.ERROR, this.onError, this));
- }
- unregisterListeners() {
- const { hls: e } = this;
- e &&
- (e.off(L.MEDIA_ATTACHED, this.onMediaAttached, this),
- e.off(L.MEDIA_DETACHING, this.onMediaDetaching, this),
- e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.LEVEL_UPDATED, this.onLevelUpdated, this),
- e.off(L.ERROR, this.onError, this));
- }
- onMediaAttached(e, n) {
- ((this.media = n.media),
- this.media.addEventListener("timeupdate", this.onTimeupdate));
- }
- onMediaDetaching() {
- this.media &&
- (this.media.removeEventListener("timeupdate", this.onTimeupdate),
- (this.media = null));
- }
- onManifestLoading() {
- ((this._latency = null), (this.stallCount = 0));
- }
- onLevelUpdated(e, { details: n }) {
- (n.advanced && this.onTimeupdate(),
- !n.live &&
- this.media &&
- this.media.removeEventListener("timeupdate", this.onTimeupdate));
- }
- onError(e, n) {
- var i;
- n.details === $.BUFFER_STALLED_ERROR &&
- (this.stallCount++,
- this.hls &&
- (i = this.levelDetails) != null &&
- i.live &&
- this.hls.logger.warn(
- "[latency-controller]: Stall detected, adjusting target latency",
- ));
- }
- changeMediaPlaybackRate(e, n) {
- var i, r;
- e.playbackRate !== n &&
- ((i = this.hls) == null ||
- i.logger.debug(
- `[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(r = this.targetLatency) == null ? void 0 : r.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${n}`,
- ),
- (e.playbackRate = n));
- }
- estimateLiveEdge() {
- const e = this.levelDetails;
- return e === null ? null : e.edge + e.age;
- }
- computeLatency() {
- const e = this.estimateLiveEdge();
- return e === null ? null : e - this.currentTime;
- }
-}
-class fC extends SM {
- constructor(e, n) {
- (super(e, "level-controller"),
- (this._levels = []),
- (this._firstLevel = -1),
- (this._maxAutoLevel = -1),
- (this._startLevel = void 0),
- (this.currentLevel = null),
- (this.currentLevelIndex = -1),
- (this.manualLevelIndex = -1),
- (this.steering = void 0),
- (this.onParsedComplete = void 0),
- (this.steering = n),
- this._registerListeners());
- }
- _registerListeners() {
- const { hls: e } = this;
- (e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.MANIFEST_LOADED, this.onManifestLoaded, this),
- e.on(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.on(L.LEVELS_UPDATED, this.onLevelsUpdated, this),
- e.on(L.FRAG_BUFFERED, this.onFragBuffered, this),
- e.on(L.ERROR, this.onError, this));
- }
- _unregisterListeners() {
- const { hls: e } = this;
- (e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.MANIFEST_LOADED, this.onManifestLoaded, this),
- e.off(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.off(L.LEVELS_UPDATED, this.onLevelsUpdated, this),
- e.off(L.FRAG_BUFFERED, this.onFragBuffered, this),
- e.off(L.ERROR, this.onError, this));
- }
- destroy() {
- (this._unregisterListeners(),
- (this.steering = null),
- this.resetLevels(),
- super.destroy());
- }
- stopLoad() {
- (this._levels.forEach((n) => {
- ((n.loadError = 0), (n.fragmentError = 0));
- }),
- super.stopLoad());
- }
- resetLevels() {
- ((this._startLevel = void 0),
- (this.manualLevelIndex = -1),
- (this.currentLevelIndex = -1),
- (this.currentLevel = null),
- (this._levels = []),
- (this._maxAutoLevel = -1));
- }
- onManifestLoading(e, n) {
- this.resetLevels();
- }
- onManifestLoaded(e, n) {
- const i = this.hls.config.preferManagedMediaSource,
- r = [],
- s = {},
- o = {};
- let a = !1,
- u = !1,
- c = !1;
- (n.levels.forEach((b) => {
- const l = b.attrs;
- let { audioCodec: p, videoCodec: M } = b;
- (p && (b.audioCodec = p = Oc(p, i) || void 0),
- M && (M = b.videoCodec = QN(M)));
- const { width: d, height: O, unknownCodecs: f } = b;
- let z = f ? f.length : 0;
- if (f)
- for (let T = z; T--; ) {
- const y = f[T];
- this.isAudioSupported(y)
- ? ((b.audioCodec = p = p ? `${p},${y}` : y),
- z--,
- (Mr.audio[p.substring(0, 4)] = 2))
- : this.isVideoSupported(y) &&
- ((b.videoCodec = M = M ? `${M},${y}` : y),
- z--,
- (Mr.video[M.substring(0, 4)] = 2));
- }
- if (
- (a || (a = !!(d && O)),
- u || (u = !!M),
- c || (c = !!p),
- z ||
- (p && !this.isAudioSupported(p)) ||
- (M && !this.isVideoSupported(M)))
- ) {
- this.log(`Some or all CODECS not supported "${l.CODECS}"`);
- return;
- }
- const {
- CODECS: g,
- "FRAME-RATE": A,
- "HDCP-LEVEL": h,
- "PATHWAY-ID": q,
- RESOLUTION: v,
- "VIDEO-RANGE": m,
- } = l,
- _ = `${`${q || "."}-`}${b.bitrate}-${v}-${A}-${g}-${m}-${h}`;
- if (s[_])
- if (s[_].uri !== b.url && !b.attrs["PATHWAY-ID"]) {
- const T = (o[_] += 1);
- b.attrs["PATHWAY-ID"] = new Array(T + 1).join(".");
- const y = this.createLevel(b);
- ((s[_] = y), r.push(y));
- } else
- (s[_].addGroupId("audio", l.AUDIO),
- s[_].addGroupId("text", l.SUBTITLES));
- else {
- const T = this.createLevel(b);
- ((s[_] = T), (o[_] = 1), r.push(T));
- }
- }),
- this.filterAndSortMediaOptions(r, n, a, u, c));
- }
- createLevel(e) {
- const n = new Is(e),
- i = e.supplemental;
- if (i != null && i.videoCodec && !this.isVideoSupported(i.videoCodec)) {
- const r = new Error(
- `SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`,
- );
- (this.log(r.message), (n.supportedResult = ng(r, [])));
- }
- return n;
- }
- isAudioSupported(e) {
- return Op(e, "audio", this.hls.config.preferManagedMediaSource);
- }
- isVideoSupported(e) {
- return Op(e, "video", this.hls.config.preferManagedMediaSource);
- }
- filterAndSortMediaOptions(e, n, i, r, s) {
- let o = [],
- a = [],
- u = e;
- if (
- ((i || r) &&
- s &&
- (u = u.filter(
- ({ videoCodec: f, videoRange: z, width: g, height: A }) =>
- (!!f || !!(g && A)) && aB(z),
- )),
- u.length === 0)
- ) {
- Promise.resolve().then(() => {
- if (this.hls) {
- let f = "no level with compatible codecs found in manifest",
- z = f;
- n.levels.length &&
- ((z = `one or more CODECS in variant not supported: ${Y0(n.levels.map((A) => A.attrs.CODECS).filter((A, h, q) => q.indexOf(A) === h))}`),
- this.warn(z),
- (f += ` (${z})`));
- const g = new Error(f);
- this.hls.trigger(L.ERROR, {
- type: h0.MEDIA_ERROR,
- details: $.MANIFEST_INCOMPATIBLE_CODECS_ERROR,
- fatal: !0,
- url: n.url,
- error: g,
- reason: z,
- });
- }
- });
- return;
- }
- (n.audioTracks &&
- ((o = n.audioTracks.filter(
- (f) => !f.audioCodec || this.isAudioSupported(f.audioCodec),
- )),
- eO(o)),
- n.subtitles && ((a = n.subtitles), eO(a)));
- const c = u.slice(0);
- u.sort((f, z) => {
- if (f.attrs["HDCP-LEVEL"] !== z.attrs["HDCP-LEVEL"])
- return (f.attrs["HDCP-LEVEL"] || "") > (z.attrs["HDCP-LEVEL"] || "")
- ? 1
- : -1;
- if (i && f.height !== z.height) return f.height - z.height;
- if (f.frameRate !== z.frameRate) return f.frameRate - z.frameRate;
- if (f.videoRange !== z.videoRange)
- return hc.indexOf(f.videoRange) - hc.indexOf(z.videoRange);
- if (f.videoCodec !== z.videoCodec) {
- const g = Vz(f.videoCodec),
- A = Vz(z.videoCodec);
- if (g !== A) return A - g;
- }
- if (f.uri === z.uri && f.codecSet !== z.codecSet) {
- const g = zc(f.codecSet),
- A = zc(z.codecSet);
- if (g !== A) return A - g;
- }
- return f.averageBitrate !== z.averageBitrate
- ? f.averageBitrate - z.averageBitrate
- : 0;
- });
- let b = c[0];
- if (
- this.steering &&
- ((u = this.steering.filterParsedLevels(u)), u.length !== c.length)
- ) {
- for (let f = 0; f < c.length; f++)
- if (c[f].pathwayId === u[0].pathwayId) {
- b = c[f];
- break;
- }
- }
- this._levels = u;
- for (let f = 0; f < u.length; f++)
- if (u[f] === b) {
- var l;
- this._firstLevel = f;
- const z = b.bitrate,
- g = this.hls.bandwidthEstimate;
- if (
- (this.log(
- `manifest loaded, ${u.length} level(s) found, first bitrate: ${z}`,
- ),
- ((l = this.hls.userConfig) == null
- ? void 0
- : l.abrEwmaDefaultEstimate) === void 0)
- ) {
- const A = Math.min(z, this.hls.config.abrEwmaDefaultEstimateMax);
- A > g &&
- g === this.hls.abrEwmaDefaultEstimate &&
- (this.hls.bandwidthEstimate = A);
- }
- break;
- }
- const p = s && !r,
- M = this.hls.config,
- d = !!(M.audioStreamController && M.audioTrackController),
- O = {
- levels: u,
- audioTracks: o,
- subtitleTracks: a,
- sessionData: n.sessionData,
- sessionKeys: n.sessionKeys,
- firstLevel: this._firstLevel,
- stats: n.stats,
- audio: s,
- video: r,
- altAudio: d && !p && o.some((f) => !!f.url),
- };
- this.hls.trigger(L.MANIFEST_PARSED, O);
- }
- get levels() {
- return this._levels.length === 0 ? null : this._levels;
- }
- get loadLevelObj() {
- return this.currentLevel;
- }
- get level() {
- return this.currentLevelIndex;
- }
- set level(e) {
- const n = this._levels;
- if (n.length === 0) return;
- if (e < 0 || e >= n.length) {
- const b = new Error("invalid level idx"),
- l = e < 0;
- if (
- (this.hls.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.LEVEL_SWITCH_ERROR,
- level: e,
- fatal: l,
- error: b,
- reason: b.message,
- }),
- l)
- )
- return;
- e = Math.min(e, n.length - 1);
- }
- const i = this.currentLevelIndex,
- r = this.currentLevel,
- s = r ? r.attrs["PATHWAY-ID"] : void 0,
- o = n[e],
- a = o.attrs["PATHWAY-ID"];
- if (
- ((this.currentLevelIndex = e),
- (this.currentLevel = o),
- i === e && r && s === a)
- )
- return;
- this.log(
- `Switching to level ${e} (${o.height ? o.height + "p " : ""}${o.videoRange ? o.videoRange + " " : ""}${o.codecSet ? o.codecSet + " " : ""}@${o.bitrate})${a ? " with Pathway " + a : ""} from level ${i}${s ? " with Pathway " + s : ""}`,
- );
- const u = {
- level: e,
- attrs: o.attrs,
- details: o.details,
- bitrate: o.bitrate,
- averageBitrate: o.averageBitrate,
- maxBitrate: o.maxBitrate,
- realBitrate: o.realBitrate,
- width: o.width,
- height: o.height,
- codecSet: o.codecSet,
- audioCodec: o.audioCodec,
- videoCodec: o.videoCodec,
- audioGroups: o.audioGroups,
- subtitleGroups: o.subtitleGroups,
- loaded: o.loaded,
- loadError: o.loadError,
- fragmentError: o.fragmentError,
- name: o.name,
- id: o.id,
- uri: o.uri,
- url: o.url,
- urlId: 0,
- audioGroupIds: o.audioGroupIds,
- textGroupIds: o.textGroupIds,
- };
- this.hls.trigger(L.LEVEL_SWITCHING, u);
- const c = o.details;
- if (!c || c.live) {
- const b = this.switchParams(o.uri, r?.details, c);
- this.loadPlaylist(b);
- }
- }
- get manualLevel() {
- return this.manualLevelIndex;
- }
- set manualLevel(e) {
- ((this.manualLevelIndex = e),
- this._startLevel === void 0 && (this._startLevel = e),
- e !== -1 && (this.level = e));
- }
- get firstLevel() {
- return this._firstLevel;
- }
- set firstLevel(e) {
- this._firstLevel = e;
- }
- get startLevel() {
- if (this._startLevel === void 0) {
- const e = this.hls.config.startLevel;
- return e !== void 0 ? e : this.hls.firstAutoLevel;
- }
- return this._startLevel;
- }
- set startLevel(e) {
- this._startLevel = e;
- }
- get pathways() {
- return this.steering ? this.steering.pathways() : [];
- }
- get pathwayPriority() {
- return this.steering ? this.steering.pathwayPriority : null;
- }
- set pathwayPriority(e) {
- if (this.steering) {
- const n = this.steering.pathways(),
- i = e.filter((r) => n.indexOf(r) !== -1);
- if (e.length < 1) {
- this.warn(
- `pathwayPriority ${e} should contain at least one pathway from list: ${n}`,
- );
- return;
- }
- this.steering.pathwayPriority = i;
- }
- }
- onError(e, n) {
- n.fatal ||
- !n.context ||
- (n.context.type === _0.LEVEL &&
- n.context.level === this.level &&
- this.checkRetry(n));
- }
- onFragBuffered(e, { frag: n }) {
- if (n !== void 0 && n.type === z0.MAIN) {
- const i = n.elementaryStreams;
- if (!Object.keys(i).some((s) => !!i[s])) return;
- const r = this._levels[n.level];
- r != null &&
- r.loadError &&
- (this.log(
- `Resetting level error count of ${r.loadError} on frag buffered`,
- ),
- (r.loadError = 0));
- }
- }
- onLevelLoaded(e, n) {
- var i;
- const { level: r, details: s } = n,
- o = n.levelInfo;
- if (!o) {
- var a;
- (this.warn(`Invalid level index ${r}`),
- (a = n.deliveryDirectives) != null &&
- a.skip &&
- (s.deltaUpdateFailed = !0));
- return;
- }
- if (o === this.currentLevel || n.withoutMultiVariant) {
- o.fragmentError === 0 && (o.loadError = 0);
- let u = o.details;
- (u === n.details && u.advanced && (u = void 0),
- this.playlistLoaded(r, n, u));
- } else
- (i = n.deliveryDirectives) != null &&
- i.skip &&
- (s.deltaUpdateFailed = !0);
- }
- loadPlaylist(e) {
- (super.loadPlaylist(),
- this.shouldLoadPlaylist(this.currentLevel) &&
- this.scheduleLoading(this.currentLevel, e));
- }
- loadingPlaylist(e, n) {
- super.loadingPlaylist(e, n);
- const i = this.getUrlWithDirectives(e.uri, n),
- r = this.currentLevelIndex,
- s = e.attrs["PATHWAY-ID"],
- o = e.details,
- a = o?.age;
- (this.log(
- `Loading level index ${r}${n?.msn !== void 0 ? " at sn " + n.msn + " part " + n.part : ""}${s ? " Pathway " + s : ""}${a && o.live ? " age " + a.toFixed(1) + ((o.type && " " + o.type) || "") : ""} ${i}`,
- ),
- this.hls.trigger(L.LEVEL_LOADING, {
- url: i,
- level: r,
- levelInfo: e,
- pathwayId: e.attrs["PATHWAY-ID"],
- id: 0,
- deliveryDirectives: n || null,
- }));
- }
- get nextLoadLevel() {
- return this.manualLevelIndex !== -1
- ? this.manualLevelIndex
- : this.hls.nextAutoLevel;
- }
- set nextLoadLevel(e) {
- ((this.level = e),
- this.manualLevelIndex === -1 && (this.hls.nextAutoLevel = e));
- }
- removeLevel(e) {
- var n;
- if (this._levels.length === 1) return;
- const i = this._levels.filter((s, o) =>
- o !== e
- ? !0
- : (this.steering && this.steering.removeLevel(s),
- s === this.currentLevel &&
- ((this.currentLevel = null),
- (this.currentLevelIndex = -1),
- s.details && s.details.fragments.forEach((a) => (a.level = -1))),
- !1),
- );
- (qg(i),
- (this._levels = i),
- this.currentLevelIndex > -1 &&
- (n = this.currentLevel) != null &&
- n.details &&
- (this.currentLevelIndex = this.currentLevel.details.fragments[0].level),
- this.manualLevelIndex > -1 &&
- (this.manualLevelIndex = this.currentLevelIndex));
- const r = i.length - 1;
- ((this._firstLevel = Math.min(this._firstLevel, r)),
- this._startLevel && (this._startLevel = Math.min(this._startLevel, r)),
- this.hls.trigger(L.LEVELS_UPDATED, { levels: i }));
- }
- onLevelsUpdated(e, { levels: n }) {
- this._levels = n;
- }
- checkMaxAutoUpdated() {
- const { autoLevelCapping: e, maxAutoLevel: n, maxHdcpLevel: i } = this.hls;
- this._maxAutoLevel !== n &&
- ((this._maxAutoLevel = n),
- this.hls.trigger(L.MAX_AUTO_LEVEL_UPDATED, {
- autoLevelCapping: e,
- levels: this.levels,
- maxAutoLevel: n,
- minAutoLevel: this.hls.minAutoLevel,
- maxHdcpLevel: i,
- }));
- }
-}
-function eO(t) {
- const e = {};
- t.forEach((n) => {
- const i = n.groupId || "";
- ((n.id = e[i] = e[i] || 0), e[i]++);
- });
-}
-function f6() {
- return self.SourceBuffer || self.WebKitSourceBuffer;
-}
-function z6() {
- if (!En()) return !1;
- const e = f6();
- return (
- !e ||
- (e.prototype &&
- typeof e.prototype.appendBuffer == "function" &&
- typeof e.prototype.remove == "function")
- );
-}
-function zC() {
- if (!z6()) return !1;
- const t = En();
- return (
- typeof t?.isTypeSupported == "function" &&
- (["avc1.42E01E,mp4a.40.2", "av01.0.01M.08", "vp09.00.50.08"].some((e) =>
- t.isTypeSupported(Bs(e, "video")),
- ) ||
- ["mp4a.40.2", "fLaC"].some((e) => t.isTypeSupported(Bs(e, "audio"))))
- );
-}
-function OC() {
- var t;
- const e = f6();
- return (
- typeof (e == null || (t = e.prototype) == null ? void 0 : t.changeType) ==
- "function"
- );
-}
-const hC = 100;
-class AC extends RM {
- constructor(e, n, i) {
- (super(e, n, i, "stream-controller", z0.MAIN),
- (this.audioCodecSwap = !1),
- (this.level = -1),
- (this._forceStartLoad = !1),
- (this._hasEnoughToStart = !1),
- (this.altAudio = 0),
- (this.audioOnly = !1),
- (this.fragPlaying = null),
- (this.fragLastKbps = 0),
- (this.couldBacktrack = !1),
- (this.backtrackFragment = null),
- (this.audioCodecSwitch = !1),
- (this.videoBuffer = null),
- (this.onMediaPlaying = () => {
- this.tick();
- }),
- (this.onMediaSeeked = () => {
- const r = this.media,
- s = r ? r.currentTime : null;
- if (
- s === null ||
- !p0(s) ||
- (this.log(`Media seeked to ${s.toFixed(3)}`),
- !this.getBufferedFrag(s))
- )
- return;
- const o = this.getFwdBufferInfoAtPos(r, s, z0.MAIN, 0);
- if (o === null || o.len === 0) {
- this.warn(
- `Main forward buffer length at ${s} on "seeked" event ${o ? o.len : "empty"})`,
- );
- return;
- }
- this.tick();
- }),
- this.registerListeners());
- }
- registerListeners() {
- super.registerListeners();
- const { hls: e } = this;
- (e.on(L.MANIFEST_PARSED, this.onManifestParsed, this),
- e.on(L.LEVEL_LOADING, this.onLevelLoading, this),
- e.on(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.on(
- L.FRAG_LOAD_EMERGENCY_ABORTED,
- this.onFragLoadEmergencyAborted,
- this,
- ),
- e.on(L.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this),
- e.on(L.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this),
- e.on(L.BUFFER_CREATED, this.onBufferCreated, this),
- e.on(L.BUFFER_FLUSHED, this.onBufferFlushed, this),
- e.on(L.LEVELS_UPDATED, this.onLevelsUpdated, this),
- e.on(L.FRAG_BUFFERED, this.onFragBuffered, this));
- }
- unregisterListeners() {
- super.unregisterListeners();
- const { hls: e } = this;
- (e.off(L.MANIFEST_PARSED, this.onManifestParsed, this),
- e.off(L.LEVEL_LOADED, this.onLevelLoaded, this),
- e.off(
- L.FRAG_LOAD_EMERGENCY_ABORTED,
- this.onFragLoadEmergencyAborted,
- this,
- ),
- e.off(L.AUDIO_TRACK_SWITCHING, this.onAudioTrackSwitching, this),
- e.off(L.AUDIO_TRACK_SWITCHED, this.onAudioTrackSwitched, this),
- e.off(L.BUFFER_CREATED, this.onBufferCreated, this),
- e.off(L.BUFFER_FLUSHED, this.onBufferFlushed, this),
- e.off(L.LEVELS_UPDATED, this.onLevelsUpdated, this),
- e.off(L.FRAG_BUFFERED, this.onFragBuffered, this));
- }
- onHandlerDestroying() {
- ((this.onMediaPlaying = this.onMediaSeeked = null),
- this.unregisterListeners(),
- super.onHandlerDestroying());
- }
- startLoad(e, n) {
- if (this.levels) {
- const { lastCurrentTime: i, hls: r } = this;
- if (
- (this.stopLoad(),
- this.setInterval(hC),
- (this.level = -1),
- !this.startFragRequested)
- ) {
- let s = r.startLevel;
- (s === -1 &&
- (r.config.testBandwidth && this.levels.length > 1
- ? ((s = 0), (this.bitrateTest = !0))
- : (s = r.firstAutoLevel)),
- (r.nextLoadLevel = s),
- (this.level = r.loadLevel),
- (this._hasEnoughToStart = !!n));
- }
- (i > 0 &&
- e === -1 &&
- !n &&
- (this.log(
- `Override startPosition with lastCurrentTime @${i.toFixed(3)}`,
- ),
- (e = i)),
- (this.state = e0.IDLE),
- (this.nextLoadPosition = this.lastCurrentTime =
- e + this.timelineOffset),
- (this.startPosition = n ? -1 : e),
- this.tick());
- } else ((this._forceStartLoad = !0), (this.state = e0.STOPPED));
- }
- stopLoad() {
- ((this._forceStartLoad = !1), super.stopLoad());
- }
- doTick() {
- switch (this.state) {
- case e0.WAITING_LEVEL: {
- const { levels: e, level: n } = this,
- i = e?.[n],
- r = i?.details;
- if (
- r &&
- (!r.live || (this.levelLastLoaded === i && !this.waitForLive(i)))
- ) {
- if (this.waitForCdnTuneIn(r)) break;
- this.state = e0.IDLE;
- break;
- } else if (this.hls.nextLoadLevel !== this.level) {
- this.state = e0.IDLE;
- break;
- }
- break;
- }
- case e0.FRAG_LOADING_WAITING_RETRY:
- this.checkRetryDate();
- break;
- }
- (this.state === e0.IDLE && this.doTickIdle(), this.onTickEnd());
- }
- onTickEnd() {
- var e;
- (super.onTickEnd(),
- (e = this.media) != null &&
- e.readyState &&
- this.media.seeking === !1 &&
- (this.lastCurrentTime = this.media.currentTime),
- this.checkFragmentChanged());
- }
- doTickIdle() {
- const { hls: e, levelLastLoaded: n, levels: i, media: r } = this;
- if (
- n === null ||
- (!r &&
- !this.primaryPrefetch &&
- (this.startFragRequested || !e.config.startFragPrefetch)) ||
- (this.altAudio && this.audioOnly)
- )
- return;
- const s = this.buffering ? e.nextLoadLevel : e.loadLevel;
- if (!(i != null && i[s])) return;
- const o = i[s],
- a = this.getMainFwdBufferInfo();
- if (a === null) return;
- const u = this.getLevelDetails();
- if (u && this._streamEnded(a, u)) {
- const O = {};
- (this.altAudio === 2 && (O.type = "video"),
- this.hls.trigger(L.BUFFER_EOS, O),
- (this.state = e0.ENDED));
- return;
- }
- if (!this.buffering) return;
- (e.loadLevel !== s &&
- e.manualLevel === -1 &&
- this.log(`Adapting to level ${s} from level ${this.level}`),
- (this.level = e.nextLoadLevel = s));
- const c = o.details;
- if (!c || this.state === e0.WAITING_LEVEL || this.waitForLive(o)) {
- ((this.level = s),
- (this.state = e0.WAITING_LEVEL),
- (this.startFragRequested = !1));
- return;
- }
- const b = a.len,
- l = this.getMaxBufferLength(o.maxBitrate);
- if (b >= l) return;
- this.backtrackFragment &&
- this.backtrackFragment.start > a.end &&
- (this.backtrackFragment = null);
- const p = this.backtrackFragment ? this.backtrackFragment.start : a.end;
- let M = this.getNextFragment(p, c);
- if (
- this.couldBacktrack &&
- !this.fragPrevious &&
- M &&
- c1(M) &&
- this.fragmentTracker.getState(M) !== d1.OK
- ) {
- var d;
- const f = ((d = this.backtrackFragment) != null ? d : M).sn - c.startSN,
- z = c.fragments[f - 1];
- z && M.cc === z.cc && ((M = z), this.fragmentTracker.removeFragment(z));
- } else this.backtrackFragment && a.len && (this.backtrackFragment = null);
- if (M && this.isLoopLoading(M, p)) {
- if (!M.gap) {
- const f = this.audioOnly && !this.altAudio ? j0.AUDIO : j0.VIDEO,
- z =
- (f === j0.VIDEO ? this.videoBuffer : this.mediaBuffer) ||
- this.media;
- z && this.afterBufferFlushed(z, f, z0.MAIN);
- }
- M = this.getNextFragmentLoopLoading(M, c, a, z0.MAIN, l);
- }
- M &&
- (M.initSegment &&
- !M.initSegment.data &&
- !this.bitrateTest &&
- (M = M.initSegment),
- this.loadFragment(M, o, p));
- }
- loadFragment(e, n, i) {
- const r = this.fragmentTracker.getState(e);
- r === d1.NOT_LOADED || r === d1.PARTIAL
- ? c1(e)
- ? this.bitrateTest
- ? (this.log(
- `Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`,
- ),
- this._loadBitrateTestFrag(e, n))
- : super.loadFragment(e, n, i)
- : this._loadInitSegment(e, n)
- : this.clearTrackerIfNeeded(e);
- }
- getBufferedFrag(e) {
- return this.fragmentTracker.getBufferedFrag(e, z0.MAIN);
- }
- followingBufferedFrag(e) {
- return e ? this.getBufferedFrag(e.end + 0.5) : null;
- }
- immediateLevelSwitch() {
- (this.abortCurrentFrag(),
- this.flushMainBuffer(0, Number.POSITIVE_INFINITY));
- }
- nextLevelSwitch() {
- const { levels: e, media: n } = this;
- if (n != null && n.readyState) {
- let i;
- const r = this.getAppendedFrag(n.currentTime);
- r && r.start > 1 && this.flushMainBuffer(0, r.start - 1);
- const s = this.getLevelDetails();
- if (s != null && s.live) {
- const a = this.getMainFwdBufferInfo();
- if (!a || a.len < s.targetduration * 2) return;
- }
- if (!n.paused && e) {
- const a = this.hls.nextLoadLevel,
- u = e[a],
- c = this.fragLastKbps;
- c && this.fragCurrent
- ? (i = (this.fragCurrent.duration * u.maxBitrate) / (1e3 * c) + 1)
- : (i = 0);
- } else i = 0;
- const o = this.getBufferedFrag(n.currentTime + i);
- if (o) {
- const a = this.followingBufferedFrag(o);
- if (a) {
- this.abortCurrentFrag();
- const u = a.maxStartPTS ? a.maxStartPTS : a.start,
- c = a.duration,
- b = Math.max(
- o.end,
- u +
- Math.min(
- Math.max(
- c - this.config.maxFragLookUpTolerance,
- c * (this.couldBacktrack ? 0.5 : 0.125),
- ),
- c * (this.couldBacktrack ? 0.75 : 0.25),
- ),
- );
- this.flushMainBuffer(b, Number.POSITIVE_INFINITY);
- }
- }
- }
- }
- abortCurrentFrag() {
- const e = this.fragCurrent;
- switch (
- ((this.fragCurrent = null),
- (this.backtrackFragment = null),
- e && (e.abortRequests(), this.fragmentTracker.removeFragment(e)),
- this.state)
- ) {
- case e0.KEY_LOADING:
- case e0.FRAG_LOADING:
- case e0.FRAG_LOADING_WAITING_RETRY:
- case e0.PARSING:
- case e0.PARSED:
- this.state = e0.IDLE;
- break;
- }
- this.nextLoadPosition = this.getLoadPosition();
- }
- flushMainBuffer(e, n) {
- super.flushMainBuffer(e, n, this.altAudio === 2 ? "video" : null);
- }
- onMediaAttached(e, n) {
- super.onMediaAttached(e, n);
- const i = n.media;
- (I1(i, "playing", this.onMediaPlaying),
- I1(i, "seeked", this.onMediaSeeked));
- }
- onMediaDetaching(e, n) {
- const { media: i } = this;
- (i &&
- (G1(i, "playing", this.onMediaPlaying),
- G1(i, "seeked", this.onMediaSeeked)),
- (this.videoBuffer = null),
- (this.fragPlaying = null),
- super.onMediaDetaching(e, n),
- !n.transferMedia && (this._hasEnoughToStart = !1));
- }
- onManifestLoading() {
- (super.onManifestLoading(),
- this.log("Trigger BUFFER_RESET"),
- this.hls.trigger(L.BUFFER_RESET, void 0),
- (this.couldBacktrack = !1),
- (this.fragLastKbps = 0),
- (this.fragPlaying = this.backtrackFragment = null),
- (this.altAudio = 0),
- (this.audioOnly = !1));
- }
- onManifestParsed(e, n) {
- let i = !1,
- r = !1;
- for (let s = 0; s < n.levels.length; s++) {
- const o = n.levels[s].audioCodec;
- o &&
- ((i = i || o.indexOf("mp4a.40.2") !== -1),
- (r = r || o.indexOf("mp4a.40.5") !== -1));
- }
- ((this.audioCodecSwitch = i && r && !OC()),
- this.audioCodecSwitch &&
- this.log(
- "Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC",
- ),
- (this.levels = n.levels),
- (this.startFragRequested = !1));
- }
- onLevelLoading(e, n) {
- const { levels: i } = this;
- if (!i || this.state !== e0.IDLE) return;
- const r = n.levelInfo;
- (!r.details ||
- (r.details.live && (this.levelLastLoaded !== r || r.details.expired)) ||
- this.waitForCdnTuneIn(r.details)) &&
- (this.state = e0.WAITING_LEVEL);
- }
- onLevelLoaded(e, n) {
- var i;
- const { levels: r, startFragRequested: s } = this,
- o = n.level,
- a = n.details,
- u = a.totalduration;
- if (!r) {
- this.warn(`Levels were reset while loading level ${o}`);
- return;
- }
- this.log(
- `Level ${o} loaded [${a.startSN},${a.endSN}]${a.lastPartSn ? `[part-${a.lastPartSn}-${a.lastPartIndex}]` : ""}, cc [${a.startCC}, ${a.endCC}] duration:${u}`,
- );
- const c = n.levelInfo,
- b = this.fragCurrent;
- b &&
- (this.state === e0.FRAG_LOADING ||
- this.state === e0.FRAG_LOADING_WAITING_RETRY) &&
- b.level !== n.level &&
- b.loader &&
- this.abortCurrentFrag();
- let l = 0;
- if (a.live || ((i = c.details) != null && i.live)) {
- var p;
- if ((this.checkLiveUpdate(a), a.deltaUpdateFailed)) return;
- l = this.alignPlaylists(
- a,
- c.details,
- (p = this.levelLastLoaded) == null ? void 0 : p.details,
- );
- }
- if (
- ((c.details = a),
- (this.levelLastLoaded = c),
- s || this.setStartPosition(a, l),
- this.hls.trigger(L.LEVEL_UPDATED, { details: a, level: o }),
- this.state === e0.WAITING_LEVEL)
- ) {
- if (this.waitForCdnTuneIn(a)) return;
- this.state = e0.IDLE;
- }
- (s && a.live && this.synchronizeToLiveEdge(a), this.tick());
- }
- synchronizeToLiveEdge(e) {
- const { config: n, media: i } = this;
- if (!i) return;
- const r = this.hls.liveSyncPosition,
- s = this.getLoadPosition(),
- o = e.fragmentStart,
- a = e.edge,
- u = s >= o - n.maxFragLookUpTolerance && s <= a;
- if (r !== null && i.duration > r && (s < r || !u)) {
- const b =
- n.liveMaxLatencyDuration !== void 0
- ? n.liveMaxLatencyDuration
- : n.liveMaxLatencyDurationCount * e.targetduration;
- if (
- ((!u && i.readyState < 4) || s < a - b) &&
- (this._hasEnoughToStart || (this.nextLoadPosition = r), i.readyState)
- )
- if (
- (this.warn(
- `Playback: ${s.toFixed(3)} is located too far from the end of live sliding playlist: ${a}, reset currentTime to : ${r.toFixed(3)}`,
- ),
- this.config.liveSyncMode === "buffered")
- ) {
- var c;
- const l = W0.bufferInfo(i, r, 0);
- if (!((c = l.buffered) != null && c.length)) {
- i.currentTime = r;
- return;
- }
- if (l.start <= s) {
- i.currentTime = r;
- return;
- }
- const { nextStart: M } = W0.bufferedInfo(l.buffered, s, 0);
- M && (i.currentTime = M);
- } else i.currentTime = r;
- }
- }
- _handleFragmentLoadProgress(e) {
- var n;
- const i = e.frag,
- { part: r, payload: s } = e,
- { levels: o } = this;
- if (!o) {
- this.warn(
- `Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`,
- );
- return;
- }
- const a = o[i.level];
- if (!a) {
- this.warn(`Level ${i.level} not found on progress`);
- return;
- }
- const u = a.details;
- if (!u) {
- (this.warn(
- `Dropping fragment ${i.sn} of level ${i.level} after level details were reset`,
- ),
- this.fragmentTracker.removeFragment(i));
- return;
- }
- const c = a.videoCodec,
- b = u.PTSKnown || !u.live,
- l = (n = i.initSegment) == null ? void 0 : n.data,
- p = this._getAudioCodec(a),
- M = (this.transmuxer =
- this.transmuxer ||
- new Fg(
- this.hls,
- z0.MAIN,
- this._handleTransmuxComplete.bind(this),
- this._handleTransmuxerFlush.bind(this),
- )),
- d = r ? r.index : -1,
- O = d !== -1,
- f = new gM(i.level, i.sn, i.stats.chunkCount, s.byteLength, d, O),
- z = this.initPTS[i.cc];
- M.push(s, l, p, c, i, r, u.totalduration, b, f, z);
- }
- onAudioTrackSwitching(e, n) {
- const i = this.hls,
- r = this.altAudio === 2;
- if (Ac(n.url, i)) this.altAudio = 1;
- else {
- if (this.mediaBuffer !== this.media) {
- (this.log(
- "Switching on main audio, use media.buffered to schedule main fragment loading",
- ),
- (this.mediaBuffer = this.media));
- const o = this.fragCurrent;
- (o &&
- (this.log("Switching to main audio track, cancel main fragment load"),
- o.abortRequests(),
- this.fragmentTracker.removeFragment(o)),
- this.resetTransmuxer(),
- this.resetLoadingState());
- } else this.audioOnly && this.resetTransmuxer();
- if (r) {
- (this.fragmentTracker.removeAllFragments(),
- i.once(L.BUFFER_FLUSHED, () => {
- this.hls && this.hls.trigger(L.AUDIO_TRACK_SWITCHED, n);
- }),
- i.trigger(L.BUFFER_FLUSHING, {
- startOffset: 0,
- endOffset: Number.POSITIVE_INFINITY,
- type: null,
- }));
- return;
- }
- i.trigger(L.AUDIO_TRACK_SWITCHED, n);
- }
- }
- onAudioTrackSwitched(e, n) {
- const i = Ac(n.url, this.hls);
- if (i) {
- const r = this.videoBuffer;
- r &&
- this.mediaBuffer !== r &&
- (this.log(
- "Switching on alternate audio, use video.buffered to schedule main fragment loading",
- ),
- (this.mediaBuffer = r));
- }
- ((this.altAudio = i ? 2 : 0), this.tick());
- }
- onBufferCreated(e, n) {
- const i = n.tracks;
- let r,
- s,
- o = !1;
- for (const a in i) {
- const u = i[a];
- if (u.id === "main") {
- if (((s = a), (r = u), a === "video")) {
- const c = i[a];
- c && (this.videoBuffer = c.buffer);
- }
- } else o = !0;
- }
- o && r
- ? (this.log(
- `Alternate track found, use ${s}.buffered to schedule main fragment loading`,
- ),
- (this.mediaBuffer = r.buffer))
- : (this.mediaBuffer = this.media);
- }
- onFragBuffered(e, n) {
- const { frag: i, part: r } = n,
- s = i.type === z0.MAIN;
- if (s) {
- if (this.fragContextChanged(i)) {
- (this.warn(
- `Fragment ${i.sn}${r ? " p: " + r.index : ""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`,
- ),
- this.state === e0.PARSED && (this.state = e0.IDLE));
- return;
- }
- const a = r ? r.stats : i.stats;
- ((this.fragLastKbps = Math.round(
- (8 * a.total) / (a.buffering.end - a.loading.first),
- )),
- c1(i) && (this.fragPrevious = i),
- this.fragBufferedComplete(i, r));
- }
- const o = this.media;
- o &&
- (!this._hasEnoughToStart &&
- W0.getBuffered(o).length &&
- ((this._hasEnoughToStart = !0), this.seekToStartPos()),
- s && this.tick());
- }
- get hasEnoughToStart() {
- return this._hasEnoughToStart;
- }
- onError(e, n) {
- var i;
- if (n.fatal) {
- this.state = e0.ERROR;
- return;
- }
- switch (n.details) {
- case $.FRAG_GAP:
- case $.FRAG_PARSING_ERROR:
- case $.FRAG_DECRYPT_ERROR:
- case $.FRAG_LOAD_ERROR:
- case $.FRAG_LOAD_TIMEOUT:
- case $.KEY_LOAD_ERROR:
- case $.KEY_LOAD_TIMEOUT:
- this.onFragmentOrKeyLoadError(z0.MAIN, n);
- break;
- case $.LEVEL_LOAD_ERROR:
- case $.LEVEL_LOAD_TIMEOUT:
- case $.LEVEL_PARSING_ERROR:
- !n.levelRetry &&
- this.state === e0.WAITING_LEVEL &&
- ((i = n.context) == null ? void 0 : i.type) === _0.LEVEL &&
- (this.state = e0.IDLE);
- break;
- case $.BUFFER_ADD_CODEC_ERROR:
- case $.BUFFER_APPEND_ERROR:
- if (n.parent !== "main") return;
- this.reduceLengthAndFlushBuffer(n) && this.resetLoadingState();
- break;
- case $.BUFFER_FULL_ERROR:
- if (n.parent !== "main") return;
- this.reduceLengthAndFlushBuffer(n) &&
- (!this.config.interstitialsController && this.config.assetPlayerId
- ? (this._hasEnoughToStart = !0)
- : this.flushMainBuffer(0, Number.POSITIVE_INFINITY));
- break;
- case $.INTERNAL_EXCEPTION:
- this.recoverWorkerError(n);
- break;
- }
- }
- onFragLoadEmergencyAborted() {
- ((this.state = e0.IDLE),
- this._hasEnoughToStart ||
- ((this.startFragRequested = !1),
- (this.nextLoadPosition = this.lastCurrentTime)),
- this.tickImmediate());
- }
- onBufferFlushed(e, { type: n }) {
- if (n !== j0.AUDIO || !this.altAudio) {
- const i =
- (n === j0.VIDEO ? this.videoBuffer : this.mediaBuffer) || this.media;
- i && (this.afterBufferFlushed(i, n, z0.MAIN), this.tick());
- }
- }
- onLevelsUpdated(e, n) {
- (this.level > -1 &&
- this.fragCurrent &&
- ((this.level = this.fragCurrent.level),
- this.level === -1 && this.resetWhenMissingContext(this.fragCurrent)),
- (this.levels = n.levels));
- }
- swapAudioCodec() {
- this.audioCodecSwap = !this.audioCodecSwap;
- }
- seekToStartPos() {
- const { media: e } = this;
- if (!e) return;
- const n = e.currentTime;
- let i = this.startPosition;
- if (i >= 0 && n < i) {
- if (e.seeking) {
- this.log(`could not seek to ${i}, already seeking at ${n}`);
- return;
- }
- const r = this.timelineOffset;
- r && i && (i += r);
- const s = this.getLevelDetails(),
- o = W0.getBuffered(e),
- a = o.length ? o.start(0) : 0,
- u = a - i,
- c = Math.max(
- this.config.maxBufferHole,
- this.config.maxFragLookUpTolerance,
- );
- ((this.config.startOnSegmentBoundary ||
- (u > 0 &&
- (u < c || (this.loadingParts && u < 2 * (s?.partTarget || 0))))) &&
- (this.log(`adjusting start position by ${u} to match buffer start`),
- (i += u),
- (this.startPosition = i)),
- n < i &&
- (this.log(
- `seek to target start position ${i} from current time ${n} buffer start ${a}`,
- ),
- (e.currentTime = i)));
- }
- }
- _getAudioCodec(e) {
- let n = this.config.defaultAudioCodec || e.audioCodec;
- return (
- this.audioCodecSwap &&
- n &&
- (this.log("Swapping audio codec"),
- n.indexOf("mp4a.40.5") !== -1 ? (n = "mp4a.40.2") : (n = "mp4a.40.5")),
- n
- );
- }
- _loadBitrateTestFrag(e, n) {
- ((e.bitrateTest = !0),
- this._doFragLoad(e, n)
- .then((i) => {
- const { hls: r } = this,
- s = i?.frag;
- if (!s || this.fragContextChanged(s)) return;
- ((n.fragmentError = 0),
- (this.state = e0.IDLE),
- (this.startFragRequested = !1),
- (this.bitrateTest = !1));
- const o = s.stats;
- ((o.parsing.start =
- o.parsing.end =
- o.buffering.start =
- o.buffering.end =
- self.performance.now()),
- r.trigger(L.FRAG_LOADED, i),
- (s.bitrateTest = !1));
- })
- .catch((i) => {
- this.state === e0.STOPPED ||
- this.state === e0.ERROR ||
- (this.warn(i), this.resetFragmentLoading(e));
- }));
- }
- _handleTransmuxComplete(e) {
- const n = this.playlistType,
- { hls: i } = this,
- { remuxResult: r, chunkMeta: s } = e,
- o = this.getCurrentContext(s);
- if (!o) {
- this.resetWhenMissingContext(s);
- return;
- }
- const { frag: a, part: u, level: c } = o,
- { video: b, text: l, id3: p, initSegment: M } = r,
- { details: d } = c,
- O = this.altAudio ? void 0 : r.audio;
- if (this.fragContextChanged(a)) {
- this.fragmentTracker.removeFragment(a);
- return;
- }
- if (((this.state = e0.PARSING), M)) {
- const f = M.tracks;
- if (f) {
- const h = a.initSegment || a;
- if (this.unhandledEncryptionError(M, a)) return;
- (this._bufferInitSegment(c, f, h, s),
- i.trigger(L.FRAG_PARSING_INIT_SEGMENT, {
- frag: h,
- id: n,
- tracks: f,
- }));
- }
- const z = M.initPTS,
- g = M.timescale,
- A = this.initPTS[a.cc];
- if (p0(z) && (!A || A.baseTime !== z || A.timescale !== g)) {
- const h = M.trackId;
- ((this.initPTS[a.cc] = { baseTime: z, timescale: g, trackId: h }),
- i.trigger(L.INIT_PTS_FOUND, {
- frag: a,
- id: n,
- initPTS: z,
- timescale: g,
- trackId: h,
- }));
- }
- }
- if (b && d) {
- O && b.type === "audiovideo" && this.logMuxedErr(a);
- const f = d.fragments[a.sn - 1 - d.startSN],
- z = a.sn === d.startSN,
- g = !f || a.cc > f.cc;
- if (r.independent !== !1) {
- const { startPTS: A, endPTS: h, startDTS: q, endDTS: v } = b;
- if (u)
- u.elementaryStreams[b.type] = {
- startPTS: A,
- endPTS: h,
- startDTS: q,
- endDTS: v,
- };
- else if (
- (b.firstKeyFrame &&
- b.independent &&
- s.id === 1 &&
- !g &&
- (this.couldBacktrack = !0),
- b.dropped && b.independent)
- ) {
- const m = this.getMainFwdBufferInfo(),
- E =
- (m ? m.end : this.getLoadPosition()) + this.config.maxBufferHole,
- _ = b.firstKeyFramePTS ? b.firstKeyFramePTS : A;
- if (!z && E < _ - this.config.maxBufferHole && !g) {
- this.backtrack(a);
- return;
- } else g && (a.gap = !0);
- a.setElementaryStreamInfo(b.type, a.start, h, a.start, v, !0);
- } else z && A - (d.appliedTimelineOffset || 0) > Ra && (a.gap = !0);
- (a.setElementaryStreamInfo(b.type, A, h, q, v),
- this.backtrackFragment && (this.backtrackFragment = a),
- this.bufferFragmentData(b, a, u, s, z || g));
- } else if (z || g) a.gap = !0;
- else {
- this.backtrack(a);
- return;
- }
- }
- if (O) {
- const { startPTS: f, endPTS: z, startDTS: g, endDTS: A } = O;
- (u &&
- (u.elementaryStreams[j0.AUDIO] = {
- startPTS: f,
- endPTS: z,
- startDTS: g,
- endDTS: A,
- }),
- a.setElementaryStreamInfo(j0.AUDIO, f, z, g, A),
- this.bufferFragmentData(O, a, u, s));
- }
- if (d && p != null && p.samples.length) {
- const f = { id: n, frag: a, details: d, samples: p.samples };
- i.trigger(L.FRAG_PARSING_METADATA, f);
- }
- if (d && l) {
- const f = { id: n, frag: a, details: d, samples: l.samples };
- i.trigger(L.FRAG_PARSING_USERDATA, f);
- }
- }
- logMuxedErr(e) {
- this.warn(
- `${c1(e) ? "Media" : "Init"} segment with muxed audiovideo where only video expected: ${e.url}`,
- );
- }
- _bufferInitSegment(e, n, i, r) {
- if (this.state !== e0.PARSING) return;
- ((this.audioOnly = !!n.audio && !n.video),
- this.altAudio &&
- !this.audioOnly &&
- (delete n.audio, n.audiovideo && this.logMuxedErr(i)));
- const { audio: s, video: o, audiovideo: a } = n;
- if (s) {
- const c = e.audioCodec;
- let b = Oa(s.codec, c);
- b === "mp4a" && (b = "mp4a.40.5");
- const l = navigator.userAgent.toLowerCase();
- if (this.audioCodecSwitch) {
- b &&
- (b.indexOf("mp4a.40.5") !== -1
- ? (b = "mp4a.40.2")
- : (b = "mp4a.40.5"));
- const p = s.metadata;
- p &&
- "channelCount" in p &&
- (p.channelCount || 1) !== 1 &&
- l.indexOf("firefox") === -1 &&
- (b = "mp4a.40.5");
- }
- (b &&
- b.indexOf("mp4a.40.5") !== -1 &&
- l.indexOf("android") !== -1 &&
- s.container !== "audio/mpeg" &&
- ((b = "mp4a.40.2"), this.log(`Android: force audio codec to ${b}`)),
- c &&
- c !== b &&
- this.log(`Swapping manifest audio codec "${c}" for "${b}"`),
- (s.levelCodec = b),
- (s.id = z0.MAIN),
- this.log(
- `Init audio buffer, container:${s.container}, codecs[selected/level/parsed]=[${b || ""}/${c || ""}/${s.codec}]`,
- ),
- delete n.audiovideo);
- }
- if (o) {
- ((o.levelCodec = e.videoCodec), (o.id = z0.MAIN));
- const c = o.codec;
- if (c?.length === 4)
- switch (c) {
- case "hvc1":
- case "hev1":
- o.codec = "hvc1.1.6.L120.90";
- break;
- case "av01":
- o.codec = "av01.0.04M.08";
- break;
- case "avc1":
- o.codec = "avc1.42e01e";
- break;
- }
- (this.log(
- `Init video buffer, container:${o.container}, codecs[level/parsed]=[${e.videoCodec || ""}/${c}]${o.codec !== c ? " parsed-corrected=" + o.codec : ""}${o.supplemental ? " supplemental=" + o.supplemental : ""}`,
- ),
- delete n.audiovideo);
- }
- a &&
- (this.log(
- `Init audiovideo buffer, container:${a.container}, codecs[level/parsed]=[${e.codecs}/${a.codec}]`,
- ),
- delete n.video,
- delete n.audio);
- const u = Object.keys(n);
- if (u.length) {
- if ((this.hls.trigger(L.BUFFER_CODECS, n), !this.hls)) return;
- u.forEach((c) => {
- const l = n[c].initSegment;
- l != null &&
- l.byteLength &&
- this.hls.trigger(L.BUFFER_APPENDING, {
- type: c,
- data: l,
- frag: i,
- part: null,
- chunkMeta: r,
- parent: i.type,
- });
- });
- }
- this.tickImmediate();
- }
- getMainFwdBufferInfo() {
- const e =
- this.mediaBuffer && this.altAudio === 2 ? this.mediaBuffer : this.media;
- return this.getFwdBufferInfo(e, z0.MAIN);
- }
- get maxBufferLength() {
- const { levels: e, level: n } = this,
- i = e?.[n];
- return i
- ? this.getMaxBufferLength(i.maxBitrate)
- : this.config.maxBufferLength;
- }
- backtrack(e) {
- ((this.couldBacktrack = !0),
- (this.backtrackFragment = e),
- this.resetTransmuxer(),
- this.flushBufferGap(e),
- this.fragmentTracker.removeFragment(e),
- (this.fragPrevious = null),
- (this.nextLoadPosition = e.start),
- (this.state = e0.IDLE));
- }
- checkFragmentChanged() {
- const e = this.media;
- let n = null;
- if (e && e.readyState > 1 && e.seeking === !1) {
- const i = e.currentTime;
- if (
- (W0.isBuffered(e, i)
- ? (n = this.getAppendedFrag(i))
- : W0.isBuffered(e, i + 0.1) && (n = this.getAppendedFrag(i + 0.1)),
- n)
- ) {
- this.backtrackFragment = null;
- const r = this.fragPlaying,
- s = n.level;
- (!r || n.sn !== r.sn || r.level !== s) &&
- ((this.fragPlaying = n),
- this.hls.trigger(L.FRAG_CHANGED, { frag: n }),
- (!r || r.level !== s) &&
- this.hls.trigger(L.LEVEL_SWITCHED, { level: s }));
- }
- }
- }
- get nextLevel() {
- const e = this.nextBufferedFrag;
- return e ? e.level : -1;
- }
- get currentFrag() {
- var e;
- if (this.fragPlaying) return this.fragPlaying;
- const n =
- ((e = this.media) == null ? void 0 : e.currentTime) ||
- this.lastCurrentTime;
- return p0(n) ? this.getAppendedFrag(n) : null;
- }
- get currentProgramDateTime() {
- var e;
- const n =
- ((e = this.media) == null ? void 0 : e.currentTime) ||
- this.lastCurrentTime;
- if (p0(n)) {
- const i = this.getLevelDetails(),
- r = this.currentFrag || (i ? zi(null, i.fragments, n) : null);
- if (r) {
- const s = r.programDateTime;
- if (s !== null) {
- const o = s + (n - r.start) * 1e3;
- return new Date(o);
- }
- }
- }
- return null;
- }
- get currentLevel() {
- const e = this.currentFrag;
- return e ? e.level : -1;
- }
- get nextBufferedFrag() {
- const e = this.currentFrag;
- return e ? this.followingBufferedFrag(e) : null;
- }
- get forceStartLoad() {
- return this._forceStartLoad;
- }
-}
-class qC extends Re {
- constructor(e, n) {
- (super("key-loader", n),
- (this.config = void 0),
- (this.keyIdToKeyInfo = {}),
- (this.emeController = null),
- (this.config = e));
- }
- abort(e) {
- for (const i in this.keyIdToKeyInfo) {
- const r = this.keyIdToKeyInfo[i].loader;
- if (r) {
- var n;
- if (e && e !== ((n = r.context) == null ? void 0 : n.frag.type)) return;
- r.abort();
- }
- }
- }
- detach() {
- for (const e in this.keyIdToKeyInfo) {
- const n = this.keyIdToKeyInfo[e];
- (n.mediaKeySessionContext || n.decryptdata.isCommonEncryption) &&
- delete this.keyIdToKeyInfo[e];
- }
- }
- destroy() {
- this.detach();
- for (const e in this.keyIdToKeyInfo) {
- const n = this.keyIdToKeyInfo[e].loader;
- n && n.destroy();
- }
- this.keyIdToKeyInfo = {};
- }
- createKeyLoadError(e, n = $.KEY_LOAD_ERROR, i, r, s) {
- return new Tt({
- type: h0.NETWORK_ERROR,
- details: n,
- fatal: !1,
- frag: e,
- response: s,
- error: i,
- networkDetails: r || null,
- });
- }
- loadClear(e, n, i) {
- if (
- this.emeController &&
- this.config.emeEnabled &&
- !this.emeController.getSelectedKeySystemFormats().length
- ) {
- if (n.length)
- for (let r = 0, s = n.length; r < s; r++) {
- const o = n[r];
- if (
- (e.cc <= o.cc && (!c1(e) || !c1(o) || e.sn < o.sn)) ||
- (!i && r == s - 1)
- )
- return this.emeController.selectKeySystemFormat(o).then((a) => {
- if (!this.emeController) return;
- o.setKeyFormat(a);
- const u = Aa(a);
- if (u) return this.emeController.getKeySystemAccess([u]);
- });
- }
- if (this.config.requireKeySystemAccessOnStart) {
- const r = Xr(this.config);
- if (r.length) return this.emeController.getKeySystemAccess(r);
- }
- }
- return null;
- }
- load(e) {
- return !e.decryptdata &&
- e.encrypted &&
- this.emeController &&
- this.config.emeEnabled
- ? this.emeController
- .selectKeySystemFormat(e)
- .then((n) => this.loadInternal(e, n))
- : this.loadInternal(e);
- }
- loadInternal(e, n) {
- var i, r;
- n && e.setKeyFormat(n);
- const s = e.decryptdata;
- if (!s) {
- const b = new Error(
- n
- ? `Expected frag.decryptdata to be defined after setting format ${n}`
- : "Missing decryption data on fragment in onKeyLoading",
- );
- return Promise.reject(this.createKeyLoadError(e, $.KEY_LOAD_ERROR, b));
- }
- const o = s.uri;
- if (!o)
- return Promise.reject(
- this.createKeyLoadError(
- e,
- $.KEY_LOAD_ERROR,
- new Error(`Invalid key URI: "${o}"`),
- ),
- );
- const a = Iu(s);
- let u = this.keyIdToKeyInfo[a];
- if ((i = u) != null && i.decryptdata.key)
- return (
- (s.key = u.decryptdata.key),
- Promise.resolve({ frag: e, keyInfo: u })
- );
- if ((r = u) != null && r.keyLoadPromise) {
- var c;
- switch ((c = u.mediaKeySessionContext) == null ? void 0 : c.keyStatus) {
- case "usable":
- case "usable-in-future":
- return u.keyLoadPromise.then((l) => {
- const { keyInfo: p } = l;
- return ((s.key = p.decryptdata.key), { frag: e, keyInfo: p });
- });
- }
- }
- switch (
- (this.log(`Loading key ${P1(s.keyId || [])} from ${e.type} ${e.level}`),
- (u = this.keyIdToKeyInfo[a] =
- {
- decryptdata: s,
- keyLoadPromise: null,
- loader: null,
- mediaKeySessionContext: null,
- }),
- s.method)
- ) {
- case "SAMPLE-AES":
- case "SAMPLE-AES-CENC":
- case "SAMPLE-AES-CTR":
- return s.keyFormat === "identity"
- ? this.loadKeyHTTP(u, e)
- : this.loadKeyEME(u, e);
- case "AES-128":
- case "AES-256":
- case "AES-256-CTR":
- return this.loadKeyHTTP(u, e);
- default:
- return Promise.reject(
- this.createKeyLoadError(
- e,
- $.KEY_LOAD_ERROR,
- new Error(`Key supplied with unsupported METHOD: "${s.method}"`),
- ),
- );
- }
- }
- loadKeyEME(e, n) {
- const i = { frag: n, keyInfo: e };
- if (this.emeController && this.config.emeEnabled) {
- const r = this.emeController.loadKey(i);
- return (e.keyLoadPromise = r.then(
- (s) => ((e.mediaKeySessionContext = s), i),
- )).catch((s) => {
- throw ((e.keyLoadPromise = null), s.data && (s.data.frag = n), s);
- });
- }
- return Promise.resolve(i);
- }
- loadKeyHTTP(e, n) {
- const i = this.config,
- r = i.loader,
- s = new r(i);
- return (
- (n.keyLoader = e.loader = s),
- (e.keyLoadPromise = new Promise((o, a) => {
- const u = {
- keyInfo: e,
- frag: n,
- responseType: "arraybuffer",
- url: e.decryptdata.uri,
- },
- c = i.keyLoadPolicy.default,
- b = {
- loadPolicy: c,
- timeout: c.maxLoadTimeMs,
- maxRetry: 0,
- retryDelay: 0,
- maxRetryDelay: 0,
- },
- l = {
- onSuccess: (p, M, d, O) => {
- const { frag: f, keyInfo: z, url: g } = d,
- A = Iu(z.decryptdata) || g;
- if (!f.decryptdata || z !== this.keyIdToKeyInfo[A])
- return a(
- this.createKeyLoadError(
- f,
- $.KEY_LOAD_ERROR,
- new Error("after key load, decryptdata unset or changed"),
- O,
- ),
- );
- ((z.decryptdata.key = f.decryptdata.key = new Uint8Array(p.data)),
- (f.keyLoader = null),
- (z.loader = null),
- o({ frag: f, keyInfo: z }));
- },
- onError: (p, M, d, O) => {
- (this.resetLoader(M),
- a(
- this.createKeyLoadError(
- n,
- $.KEY_LOAD_ERROR,
- new Error(`HTTP Error ${p.code} loading key ${p.text}`),
- d,
- $0({ url: u.url, data: void 0 }, p),
- ),
- ));
- },
- onTimeout: (p, M, d) => {
- (this.resetLoader(M),
- a(
- this.createKeyLoadError(
- n,
- $.KEY_LOAD_TIMEOUT,
- new Error("key loading timed out"),
- d,
- ),
- ));
- },
- onAbort: (p, M, d) => {
- (this.resetLoader(M),
- a(
- this.createKeyLoadError(
- n,
- $.INTERNAL_ABORTED,
- new Error("key loading aborted"),
- d,
- ),
- ));
- },
- };
- s.load(u, b, l);
- }))
- );
- }
- resetLoader(e) {
- const { frag: n, keyInfo: i, url: r } = e,
- s = i.loader;
- n.keyLoader === s && ((n.keyLoader = null), (i.loader = null));
- const o = Iu(i.decryptdata) || r;
- (delete this.keyIdToKeyInfo[o], s && s.destroy());
- }
-}
-function Iu(t) {
- const e = t.keyId;
- return e ? P1(e) : t.uri;
-}
-function tO(t) {
- const { type: e } = t;
- switch (e) {
- case _0.AUDIO_TRACK:
- return z0.AUDIO;
- case _0.SUBTITLE_TRACK:
- return z0.SUBTITLE;
- default:
- return z0.MAIN;
- }
-}
-function Du(t, e) {
- let n = t.url;
- return ((n === void 0 || n.indexOf("data:") === 0) && (n = e.url), n);
-}
-class gC {
- constructor(e) {
- ((this.hls = void 0),
- (this.loaders = Object.create(null)),
- (this.variableList = null),
- (this.onManifestLoaded = this.checkAutostartLoad),
- (this.hls = e),
- this.registerListeners());
- }
- startLoad(e) {}
- stopLoad() {
- this.destroyInternalLoaders();
- }
- registerListeners() {
- const { hls: e } = this;
- (e.on(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.on(L.LEVEL_LOADING, this.onLevelLoading, this),
- e.on(L.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this),
- e.on(L.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this),
- e.on(L.LEVELS_UPDATED, this.onLevelsUpdated, this));
- }
- unregisterListeners() {
- const { hls: e } = this;
- (e.off(L.MANIFEST_LOADING, this.onManifestLoading, this),
- e.off(L.LEVEL_LOADING, this.onLevelLoading, this),
- e.off(L.AUDIO_TRACK_LOADING, this.onAudioTrackLoading, this),
- e.off(L.SUBTITLE_TRACK_LOADING, this.onSubtitleTrackLoading, this),
- e.off(L.LEVELS_UPDATED, this.onLevelsUpdated, this));
- }
- createInternalLoader(e) {
- const n = this.hls.config,
- i = n.pLoader,
- r = n.loader,
- s = i || r,
- o = new s(n);
- return ((this.loaders[e.type] = o), o);
- }
- getInternalLoader(e) {
- return this.loaders[e.type];
- }
- resetInternalLoader(e) {
- this.loaders[e] && delete this.loaders[e];
- }
- destroyInternalLoaders() {
- for (const e in this.loaders) {
- const n = this.loaders[e];
- (n && n.destroy(), this.resetInternalLoader(e));
- }
- }
- destroy() {
- ((this.variableList = null),
- this.unregisterListeners(),
- this.destroyInternalLoaders());
- }
- onManifestLoading(e, n) {
- const { url: i } = n;
- ((this.variableList = null),
- this.load({
- id: null,
- level: 0,
- responseType: "text",
- type: _0.MANIFEST,
- url: i,
- deliveryDirectives: null,
- levelOrTrack: null,
- }));
- }
- onLevelLoading(e, n) {
- const {
- id: i,
- level: r,
- pathwayId: s,
- url: o,
- deliveryDirectives: a,
- levelInfo: u,
- } = n;
- this.load({
- id: i,
- level: r,
- pathwayId: s,
- responseType: "text",
- type: _0.LEVEL,
- url: o,
- deliveryDirectives: a,
- levelOrTrack: u,
- });
- }
- onAudioTrackLoading(e, n) {
- const { id: i, groupId: r, url: s, deliveryDirectives: o, track: a } = n;
- this.load({
- id: i,
- groupId: r,
- level: null,
- responseType: "text",
- type: _0.AUDIO_TRACK,
- url: s,
- deliveryDirectives: o,
- levelOrTrack: a,
- });
- }
- onSubtitleTrackLoading(e, n) {
- const { id: i, groupId: r, url: s, deliveryDirectives: o, track: a } = n;
- this.load({
- id: i,
- groupId: r,
- level: null,
- responseType: "text",
- type: _0.SUBTITLE_TRACK,
- url: s,
- deliveryDirectives: o,
- levelOrTrack: a,
- });
- }
- onLevelsUpdated(e, n) {
- const i = this.loaders[_0.LEVEL];
- if (i) {
- const r = i.context;
- r &&
- !n.levels.some((s) => s === r.levelOrTrack) &&
- (i.abort(), delete this.loaders[_0.LEVEL]);
- }
- }
- load(e) {
- var n;
- const i = this.hls.config;
- let r = this.getInternalLoader(e);
- if (r) {
- const c = this.hls.logger,
- b = r.context;
- if (
- b &&
- b.levelOrTrack === e.levelOrTrack &&
- (b.url === e.url || (b.deliveryDirectives && !e.deliveryDirectives))
- ) {
- b.url === e.url
- ? c.log(`[playlist-loader]: ignore ${e.url} ongoing request`)
- : c.log(`[playlist-loader]: ignore ${e.url} in favor of ${b.url}`);
- return;
- }
- (c.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),
- r.abort());
- }
- let s;
- if (
- (e.type === _0.MANIFEST
- ? (s = i.manifestLoadPolicy.default)
- : (s = H0({}, i.playlistLoadPolicy.default, {
- timeoutRetry: null,
- errorRetry: null,
- })),
- (r = this.createInternalLoader(e)),
- p0((n = e.deliveryDirectives) == null ? void 0 : n.part))
- ) {
- let c;
- if (
- (e.type === _0.LEVEL && e.level !== null
- ? (c = this.hls.levels[e.level].details)
- : e.type === _0.AUDIO_TRACK && e.id !== null
- ? (c = this.hls.audioTracks[e.id].details)
- : e.type === _0.SUBTITLE_TRACK &&
- e.id !== null &&
- (c = this.hls.subtitleTracks[e.id].details),
- c)
- ) {
- const b = c.partTarget,
- l = c.targetduration;
- if (b && l) {
- const p = Math.max(b * 3, l * 0.8) * 1e3;
- s = H0({}, s, {
- maxTimeToFirstByteMs: Math.min(p, s.maxTimeToFirstByteMs),
- maxLoadTimeMs: Math.min(p, s.maxTimeToFirstByteMs),
- });
- }
- }
- }
- const o = s.errorRetry || s.timeoutRetry || {},
- a = {
- loadPolicy: s,
- timeout: s.maxLoadTimeMs,
- maxRetry: o.maxNumRetry || 0,
- retryDelay: o.retryDelayMs || 0,
- maxRetryDelay: o.maxRetryDelayMs || 0,
- },
- u = {
- onSuccess: (c, b, l, p) => {
- const M = this.getInternalLoader(l);
- this.resetInternalLoader(l.type);
- const d = c.data;
- if (d.indexOf("#EXTM3U") !== 0) {
- this.handleManifestParsingError(
- c,
- l,
- new Error("no EXTM3U delimiter"),
- p || null,
- b,
- );
- return;
- }
- ((b.parsing.start = performance.now()),
- ot.isMediaPlaylist(d) || l.type !== _0.MANIFEST
- ? this.handleTrackOrLevelPlaylist(c, b, l, p || null, M)
- : this.handleMasterPlaylist(c, b, l, p));
- },
- onError: (c, b, l, p) => {
- this.handleNetworkError(b, l, !1, c, p);
- },
- onTimeout: (c, b, l) => {
- this.handleNetworkError(b, l, !0, void 0, c);
- },
- };
- r.load(e, a, u);
- }
- checkAutostartLoad() {
- if (!this.hls) return;
- const {
- config: { autoStartLoad: e, startPosition: n },
- forceStartLoad: i,
- } = this.hls;
- (e || i) &&
- (this.hls.logger.log(
- `${e ? "auto" : "force"} startLoad with configured startPosition ${n}`,
- ),
- this.hls.startLoad(n));
- }
- handleMasterPlaylist(e, n, i, r) {
- const s = this.hls,
- o = e.data,
- a = Du(e, i),
- u = ot.parseMasterPlaylist(o, a);
- if (u.playlistParsingError) {
- this.handleManifestParsingError(e, i, u.playlistParsingError, r, n);
- return;
- }
- const {
- contentSteering: c,
- levels: b,
- sessionData: l,
- sessionKeys: p,
- startTimeOffset: M,
- variableList: d,
- } = u;
- this.variableList = d;
- const {
- AUDIO: O = [],
- SUBTITLES: f,
- "CLOSED-CAPTIONS": z,
- } = ot.parseMasterPlaylistMedia(o, a, u);
- (O.length &&
- !O.some((A) => !A.url) &&
- b[0].audioCodec &&
- !b[0].attrs.AUDIO &&
- (this.hls.logger.log(
- "[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one",
- ),
- O.unshift({
- type: "main",
- name: "main",
- groupId: "main",
- default: !1,
- autoselect: !1,
- forced: !1,
- id: -1,
- attrs: new t1({}),
- bitrate: 0,
- url: "",
- })),
- s.trigger(L.MANIFEST_LOADED, {
- levels: b,
- audioTracks: O,
- subtitles: f,
- captions: z,
- contentSteering: c,
- url: a,
- stats: n,
- networkDetails: r,
- sessionData: l,
- sessionKeys: p,
- startTimeOffset: M,
- variableList: d,
- }));
- }
- handleTrackOrLevelPlaylist(e, n, i, r, s) {
- const o = this.hls,
- { id: a, level: u, type: c } = i,
- b = Du(e, i),
- l = p0(u) ? u : p0(a) ? a : 0,
- p = tO(i),
- M = ot.parseLevelPlaylist(e.data, b, l, p, 0, this.variableList);
- if (c === _0.MANIFEST) {
- const d = { attrs: new t1({}), bitrate: 0, details: M, name: "", url: b };
- ((M.requestScheduled = n.loading.start + Og(M, 0)),
- o.trigger(L.MANIFEST_LOADED, {
- levels: [d],
- audioTracks: [],
- url: b,
- stats: n,
- networkDetails: r,
- sessionData: null,
- sessionKeys: null,
- contentSteering: null,
- startTimeOffset: null,
- variableList: null,
- }));
- }
- ((n.parsing.end = performance.now()),
- (i.levelDetails = M),
- this.handlePlaylistLoaded(M, e, n, i, r, s));
- }
- handleManifestParsingError(e, n, i, r, s) {
- this.hls.trigger(L.ERROR, {
- type: h0.NETWORK_ERROR,
- details: $.MANIFEST_PARSING_ERROR,
- fatal: n.type === _0.MANIFEST,
- url: e.url,
- err: i,
- error: i,
- reason: i.message,
- response: e,
- context: n,
- networkDetails: r,
- stats: s,
- });
- }
- handleNetworkError(e, n, i = !1, r, s) {
- let o = `A network ${i ? "timeout" : "error" + (r ? " (status " + r.code + ")" : "")} occurred while loading ${e.type}`;
- e.type === _0.LEVEL
- ? (o += `: ${e.level} id: ${e.id}`)
- : (e.type === _0.AUDIO_TRACK || e.type === _0.SUBTITLE_TRACK) &&
- (o += ` id: ${e.id} group-id: "${e.groupId}"`);
- const a = new Error(o);
- this.hls.logger.warn(`[playlist-loader]: ${o}`);
- let u = $.UNKNOWN,
- c = !1;
- const b = this.getInternalLoader(e);
- switch (e.type) {
- case _0.MANIFEST:
- ((u = i ? $.MANIFEST_LOAD_TIMEOUT : $.MANIFEST_LOAD_ERROR), (c = !0));
- break;
- case _0.LEVEL:
- ((u = i ? $.LEVEL_LOAD_TIMEOUT : $.LEVEL_LOAD_ERROR), (c = !1));
- break;
- case _0.AUDIO_TRACK:
- ((u = i ? $.AUDIO_TRACK_LOAD_TIMEOUT : $.AUDIO_TRACK_LOAD_ERROR),
- (c = !1));
- break;
- case _0.SUBTITLE_TRACK:
- ((u = i ? $.SUBTITLE_TRACK_LOAD_TIMEOUT : $.SUBTITLE_LOAD_ERROR),
- (c = !1));
- break;
- }
- b && this.resetInternalLoader(e.type);
- const l = {
- type: h0.NETWORK_ERROR,
- details: u,
- fatal: c,
- url: e.url,
- loader: b,
- context: e,
- error: a,
- networkDetails: n,
- stats: s,
- };
- if (r) {
- let p = e.url;
- (n && "url" in n && (p = n.url),
- (l.response = $0({ url: p, data: void 0 }, r)));
- }
- this.hls.trigger(L.ERROR, l);
- }
- handlePlaylistLoaded(e, n, i, r, s, o) {
- const a = this.hls,
- { type: u, level: c, id: b, groupId: l, deliveryDirectives: p } = r,
- M = Du(n, r),
- d = tO(r),
- O = typeof r.level == "number" && d === z0.MAIN ? c : void 0;
- if (!e.fragments.length) {
- const z = (e.playlistParsingError = new Error(
- "No Segments found in Playlist",
- ));
- a.trigger(L.ERROR, {
- type: h0.NETWORK_ERROR,
- details: $.LEVEL_EMPTY_ERROR,
- fatal: !1,
- url: M,
- error: z,
- reason: z.message,
- response: n,
- context: r,
- level: O,
- parent: d,
- networkDetails: s,
- stats: i,
- });
- return;
- }
- e.targetduration ||
- (e.playlistParsingError = new Error("Missing Target Duration"));
- const f = e.playlistParsingError;
- if (f) {
- if (
- (this.hls.logger.warn(`${f} ${e.url}`),
- !a.config.ignorePlaylistParsingErrors)
- ) {
- a.trigger(L.ERROR, {
- type: h0.NETWORK_ERROR,
- details: $.LEVEL_PARSING_ERROR,
- fatal: !1,
- url: M,
- error: f,
- reason: f.message,
- response: n,
- context: r,
- level: O,
- parent: d,
- networkDetails: s,
- stats: i,
- });
- return;
- }
- e.playlistParsingError = null;
- }
- switch (
- (e.live &&
- o &&
- (o.getCacheAge && (e.ageHeader = o.getCacheAge() || 0),
- (!o.getCacheAge || isNaN(e.ageHeader)) && (e.ageHeader = 0)),
- u)
- ) {
- case _0.MANIFEST:
- case _0.LEVEL:
- a.trigger(L.LEVEL_LOADED, {
- details: e,
- levelInfo: r.levelOrTrack || a.levels[0],
- level: O || 0,
- id: b || 0,
- stats: i,
- networkDetails: s,
- deliveryDirectives: p,
- withoutMultiVariant: u === _0.MANIFEST,
- });
- break;
- case _0.AUDIO_TRACK:
- a.trigger(L.AUDIO_TRACK_LOADED, {
- details: e,
- track: r.levelOrTrack,
- id: b || 0,
- groupId: l || "",
- stats: i,
- networkDetails: s,
- deliveryDirectives: p,
- });
- break;
- case _0.SUBTITLE_TRACK:
- a.trigger(L.SUBTITLE_TRACK_LOADED, {
- details: e,
- track: r.levelOrTrack,
- id: b || 0,
- groupId: l || "",
- stats: i,
- networkDetails: s,
- deliveryDirectives: p,
- });
- break;
- }
- }
-}
-class Kn {
- static get version() {
- return Ds;
- }
- static isMSESupported() {
- return z6();
- }
- static isSupported() {
- return zC();
- }
- static getMediaSource() {
- return En();
- }
- static get Events() {
- return L;
- }
- static get MetadataSchema() {
- return te;
- }
- static get ErrorTypes() {
- return h0;
- }
- static get ErrorDetails() {
- return $;
- }
- static get DefaultConfig() {
- return Kn.defaultConfig ? Kn.defaultConfig : rC;
- }
- static set DefaultConfig(e) {
- Kn.defaultConfig = e;
- }
- constructor(e = {}) {
- ((this.config = void 0),
- (this.userConfig = void 0),
- (this.logger = void 0),
- (this.coreComponents = void 0),
- (this.networkControllers = void 0),
- (this._emitter = new yM()),
- (this._autoLevelCapping = -1),
- (this._maxHdcpLevel = null),
- (this.abrController = void 0),
- (this.bufferController = void 0),
- (this.capLevelController = void 0),
- (this.latencyController = void 0),
- (this.levelController = void 0),
- (this.streamController = void 0),
- (this.audioStreamController = void 0),
- (this.subtititleStreamController = void 0),
- (this.audioTrackController = void 0),
- (this.subtitleTrackController = void 0),
- (this.interstitialsController = void 0),
- (this.gapController = void 0),
- (this.emeController = void 0),
- (this.cmcdController = void 0),
- (this._media = null),
- (this._url = null),
- (this._sessionId = void 0),
- (this.triggeringException = void 0),
- (this.started = !1));
- const n = (this.logger = EN(
- e.debug || !1,
- "Hls instance",
- e.assetPlayerId,
- )),
- i = (this.config = oC(Kn.DefaultConfig, e, n));
- ((this.userConfig = e), i.progressive && aC(i, n));
- const {
- abrController: r,
- bufferController: s,
- capLevelController: o,
- errorController: a,
- fpsController: u,
- } = i,
- c = new a(this),
- b = (this.abrController = new r(this)),
- l = new mB(this),
- p = i.interstitialsController,
- M = p ? (this.interstitialsController = new p(this, Kn)) : null,
- d = (this.bufferController = new s(this, l)),
- O = (this.capLevelController = new o(this)),
- f = new u(this),
- z = new gC(this),
- g = i.contentSteeringController,
- A = g ? new g(this) : null,
- h = (this.levelController = new fC(this, A)),
- q = new MC(this),
- v = new qC(this.config, this.logger),
- m = (this.streamController = new AC(this, l, v)),
- E = (this.gapController = new pC(this, l));
- (O.setStreamController(m), f.setStreamController(m));
- const _ = [z, h, m];
- (M && _.splice(1, 0, M),
- A && _.splice(1, 0, A),
- (this.networkControllers = _));
- const T = [b, d, E, O, f, q, l];
- this.audioTrackController = this.createController(
- i.audioTrackController,
- _,
- );
- const y = i.audioStreamController;
- (y && _.push((this.audioStreamController = new y(this, l, v))),
- (this.subtitleTrackController = this.createController(
- i.subtitleTrackController,
- _,
- )));
- const W = i.subtitleStreamController;
- (W && _.push((this.subtititleStreamController = new W(this, l, v))),
- this.createController(i.timelineController, T),
- (v.emeController = this.emeController =
- this.createController(i.emeController, T)),
- (this.cmcdController = this.createController(i.cmcdController, T)),
- (this.latencyController = this.createController(dC, T)),
- (this.coreComponents = T),
- _.push(c));
- const x = c.onErrorOut;
- (typeof x == "function" && this.on(L.ERROR, x, c),
- this.on(L.MANIFEST_LOADED, z.onManifestLoaded, z));
- }
- createController(e, n) {
- if (e) {
- const i = new e(this);
- return (n && n.push(i), i);
- }
- return null;
- }
- on(e, n, i = this) {
- this._emitter.on(e, n, i);
- }
- once(e, n, i = this) {
- this._emitter.once(e, n, i);
- }
- removeAllListeners(e) {
- this._emitter.removeAllListeners(e);
- }
- off(e, n, i = this, r) {
- this._emitter.off(e, n, i, r);
- }
- listeners(e) {
- return this._emitter.listeners(e);
- }
- emit(e, n, i) {
- return this._emitter.emit(e, n, i);
- }
- trigger(e, n) {
- if (this.config.debug) return this.emit(e, e, n);
- try {
- return this.emit(e, e, n);
- } catch (i) {
- if (
- (this.logger.error(
- "An internal error happened while handling event " +
- e +
- '. Error message: "' +
- i.message +
- '". Here is a stacktrace:',
- i,
- ),
- !this.triggeringException)
- ) {
- this.triggeringException = !0;
- const r = e === L.ERROR;
- (this.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.INTERNAL_EXCEPTION,
- fatal: r,
- event: e,
- error: i,
- }),
- (this.triggeringException = !1));
- }
- }
- return !1;
- }
- listenerCount(e) {
- return this._emitter.listenerCount(e);
- }
- destroy() {
- (this.logger.log("destroy"),
- this.trigger(L.DESTROYING, void 0),
- this.detachMedia(),
- this.removeAllListeners(),
- (this._autoLevelCapping = -1),
- (this._url = null),
- this.networkControllers.forEach((n) => n.destroy()),
- (this.networkControllers.length = 0),
- this.coreComponents.forEach((n) => n.destroy()),
- (this.coreComponents.length = 0));
- const e = this.config;
- ((e.xhrSetup = e.fetchSetup = void 0), (this.userConfig = null));
- }
- attachMedia(e) {
- if (!e || ("media" in e && !e.media)) {
- const s = new Error(`attachMedia failed: invalid argument (${e})`);
- this.trigger(L.ERROR, {
- type: h0.OTHER_ERROR,
- details: $.ATTACH_MEDIA_ERROR,
- fatal: !0,
- error: s,
- });
- return;
- }
- (this.logger.log("attachMedia"),
- this._media &&
- (this.logger.warn("media must be detached before attaching"),
- this.detachMedia()));
- const n = "media" in e,
- i = n ? e.media : e,
- r = n ? e : { media: i };
- ((this._media = i), this.trigger(L.MEDIA_ATTACHING, r));
- }
- detachMedia() {
- (this.logger.log("detachMedia"),
- this.trigger(L.MEDIA_DETACHING, {}),
- (this._media = null));
- }
- transferMedia() {
- this._media = null;
- const e = this.bufferController.transferMedia();
- return (this.trigger(L.MEDIA_DETACHING, { transferMedia: e }), e);
- }
- loadSource(e) {
- this.stopLoad();
- const n = this.media,
- i = this._url,
- r = (this._url = dM.buildAbsoluteURL(self.location.href, e, {
- alwaysNormalize: !0,
- }));
- ((this._autoLevelCapping = -1),
- (this._maxHdcpLevel = null),
- this.logger.log(`loadSource:${r}`),
- n &&
- i &&
- (i !== r || this.bufferController.hasSourceTypes()) &&
- (this.detachMedia(), this.attachMedia(n)),
- this.trigger(L.MANIFEST_LOADING, { url: e }));
- }
- get url() {
- return this._url;
- }
- get hasEnoughToStart() {
- return this.streamController.hasEnoughToStart;
- }
- get startPosition() {
- return this.streamController.startPositionValue;
- }
- startLoad(e = -1, n) {
- (this.logger.log(`startLoad(${e + (n ? ", " : "")})`),
- (this.started = !0),
- this.resumeBuffering());
- for (
- let i = 0;
- i < this.networkControllers.length &&
- (this.networkControllers[i].startLoad(e, n),
- !(!this.started || !this.networkControllers));
- i++
- );
- }
- stopLoad() {
- (this.logger.log("stopLoad"), (this.started = !1));
- for (
- let e = 0;
- e < this.networkControllers.length &&
- (this.networkControllers[e].stopLoad(),
- !(this.started || !this.networkControllers));
- e++
- );
- }
- get loadingEnabled() {
- return this.started;
- }
- get bufferingEnabled() {
- return this.streamController.bufferingEnabled;
- }
- resumeBuffering() {
- this.bufferingEnabled ||
- (this.logger.log("resume buffering"),
- this.networkControllers.forEach((e) => {
- e.resumeBuffering && e.resumeBuffering();
- }));
- }
- pauseBuffering() {
- this.bufferingEnabled &&
- (this.logger.log("pause buffering"),
- this.networkControllers.forEach((e) => {
- e.pauseBuffering && e.pauseBuffering();
- }));
- }
- get inFlightFragments() {
- const e = { [z0.MAIN]: this.streamController.inFlightFrag };
- return (
- this.audioStreamController &&
- (e[z0.AUDIO] = this.audioStreamController.inFlightFrag),
- this.subtititleStreamController &&
- (e[z0.SUBTITLE] = this.subtititleStreamController.inFlightFrag),
- e
- );
- }
- swapAudioCodec() {
- (this.logger.log("swapAudioCodec"), this.streamController.swapAudioCodec());
- }
- recoverMediaError() {
- this.logger.log("recoverMediaError");
- const e = this._media,
- n = e?.currentTime;
- (this.detachMedia(), e && (this.attachMedia(e), n && this.startLoad(n)));
- }
- removeLevel(e) {
- this.levelController.removeLevel(e);
- }
- get sessionId() {
- let e = this._sessionId;
- return (e || (e = this._sessionId = pD()), e);
- }
- get levels() {
- const e = this.levelController.levels;
- return e || [];
- }
- get latestLevelDetails() {
- return this.streamController.getLevelDetails() || null;
- }
- get loadLevelObj() {
- return this.levelController.loadLevelObj;
- }
- get currentLevel() {
- return this.streamController.currentLevel;
- }
- set currentLevel(e) {
- (this.logger.log(`set currentLevel:${e}`),
- (this.levelController.manualLevel = e),
- this.streamController.immediateLevelSwitch());
- }
- get nextLevel() {
- return this.streamController.nextLevel;
- }
- set nextLevel(e) {
- (this.logger.log(`set nextLevel:${e}`),
- (this.levelController.manualLevel = e),
- this.streamController.nextLevelSwitch());
- }
- get loadLevel() {
- return this.levelController.level;
- }
- set loadLevel(e) {
- (this.logger.log(`set loadLevel:${e}`),
- (this.levelController.manualLevel = e));
- }
- get nextLoadLevel() {
- return this.levelController.nextLoadLevel;
- }
- set nextLoadLevel(e) {
- this.levelController.nextLoadLevel = e;
- }
- get firstLevel() {
- return Math.max(this.levelController.firstLevel, this.minAutoLevel);
- }
- set firstLevel(e) {
- (this.logger.log(`set firstLevel:${e}`),
- (this.levelController.firstLevel = e));
- }
- get startLevel() {
- const e = this.levelController.startLevel;
- return e === -1 && this.abrController.forcedAutoLevel > -1
- ? this.abrController.forcedAutoLevel
- : e;
- }
- set startLevel(e) {
- (this.logger.log(`set startLevel:${e}`),
- e !== -1 && (e = Math.max(e, this.minAutoLevel)),
- (this.levelController.startLevel = e));
- }
- get capLevelToPlayerSize() {
- return this.config.capLevelToPlayerSize;
- }
- set capLevelToPlayerSize(e) {
- const n = !!e;
- n !== this.config.capLevelToPlayerSize &&
- (n
- ? this.capLevelController.startCapping()
- : (this.capLevelController.stopCapping(),
- (this.autoLevelCapping = -1),
- this.streamController.nextLevelSwitch()),
- (this.config.capLevelToPlayerSize = n));
- }
- get autoLevelCapping() {
- return this._autoLevelCapping;
- }
- get bandwidthEstimate() {
- const { bwEstimator: e } = this.abrController;
- return e ? e.getEstimate() : NaN;
- }
- set bandwidthEstimate(e) {
- this.abrController.resetEstimator(e);
- }
- get abrEwmaDefaultEstimate() {
- const { bwEstimator: e } = this.abrController;
- return e ? e.defaultEstimate : NaN;
- }
- get ttfbEstimate() {
- const { bwEstimator: e } = this.abrController;
- return e ? e.getEstimateTTFB() : NaN;
- }
- set autoLevelCapping(e) {
- this._autoLevelCapping !== e &&
- (this.logger.log(`set autoLevelCapping:${e}`),
- (this._autoLevelCapping = e),
- this.levelController.checkMaxAutoUpdated());
- }
- get maxHdcpLevel() {
- return this._maxHdcpLevel;
- }
- set maxHdcpLevel(e) {
- oB(e) &&
- this._maxHdcpLevel !== e &&
- ((this._maxHdcpLevel = e), this.levelController.checkMaxAutoUpdated());
- }
- get autoLevelEnabled() {
- return this.levelController.manualLevel === -1;
- }
- get manualLevel() {
- return this.levelController.manualLevel;
- }
- get minAutoLevel() {
- const {
- levels: e,
- config: { minAutoBitrate: n },
- } = this;
- if (!e) return 0;
- const i = e.length;
- for (let r = 0; r < i; r++) if (e[r].maxBitrate >= n) return r;
- return 0;
- }
- get maxAutoLevel() {
- const { levels: e, autoLevelCapping: n, maxHdcpLevel: i } = this;
- let r;
- if ((n === -1 && e != null && e.length ? (r = e.length - 1) : (r = n), i))
- for (let s = r; s--; ) {
- const o = e[s].attrs["HDCP-LEVEL"];
- if (o && o <= i) return s;
- }
- return r;
- }
- get firstAutoLevel() {
- return this.abrController.firstAutoLevel;
- }
- get nextAutoLevel() {
- return this.abrController.nextAutoLevel;
- }
- set nextAutoLevel(e) {
- this.abrController.nextAutoLevel = e;
- }
- get playingDate() {
- return this.streamController.currentProgramDateTime;
- }
- get mainForwardBufferInfo() {
- return this.streamController.getMainFwdBufferInfo();
- }
- get maxBufferLength() {
- return this.streamController.maxBufferLength;
- }
- setAudioOption(e) {
- var n;
- return (
- ((n = this.audioTrackController) == null
- ? void 0
- : n.setAudioOption(e)) || null
- );
- }
- setSubtitleOption(e) {
- var n;
- return (
- ((n = this.subtitleTrackController) == null
- ? void 0
- : n.setSubtitleOption(e)) || null
- );
- }
- get allAudioTracks() {
- const e = this.audioTrackController;
- return e ? e.allAudioTracks : [];
- }
- get audioTracks() {
- const e = this.audioTrackController;
- return e ? e.audioTracks : [];
- }
- get audioTrack() {
- const e = this.audioTrackController;
- return e ? e.audioTrack : -1;
- }
- set audioTrack(e) {
- const n = this.audioTrackController;
- n && (n.audioTrack = e);
- }
- get allSubtitleTracks() {
- const e = this.subtitleTrackController;
- return e ? e.allSubtitleTracks : [];
- }
- get subtitleTracks() {
- const e = this.subtitleTrackController;
- return e ? e.subtitleTracks : [];
- }
- get subtitleTrack() {
- const e = this.subtitleTrackController;
- return e ? e.subtitleTrack : -1;
- }
- get media() {
- return this._media;
- }
- set subtitleTrack(e) {
- const n = this.subtitleTrackController;
- n && (n.subtitleTrack = e);
- }
- get subtitleDisplay() {
- const e = this.subtitleTrackController;
- return e ? e.subtitleDisplay : !1;
- }
- set subtitleDisplay(e) {
- const n = this.subtitleTrackController;
- n && (n.subtitleDisplay = e);
- }
- get lowLatencyMode() {
- return this.config.lowLatencyMode;
- }
- set lowLatencyMode(e) {
- this.config.lowLatencyMode = e;
- }
- get liveSyncPosition() {
- return this.latencyController.liveSyncPosition;
- }
- get latency() {
- return this.latencyController.latency;
- }
- get maxLatency() {
- return this.latencyController.maxLatency;
- }
- get targetLatency() {
- return this.latencyController.targetLatency;
- }
- set targetLatency(e) {
- this.latencyController.targetLatency = e;
- }
- get drift() {
- return this.latencyController.drift;
- }
- get forceStartLoad() {
- return this.streamController.forceStartLoad;
- }
- get pathways() {
- return this.levelController.pathways;
- }
- get pathwayPriority() {
- return this.levelController.pathwayPriority;
- }
- set pathwayPriority(e) {
- this.levelController.pathwayPriority = e;
- }
- get bufferedToEnd() {
- var e;
- return !!((e = this.bufferController) != null && e.bufferedToEnd);
- }
- get interstitialsManager() {
- var e;
- return (
- ((e = this.interstitialsController) == null
- ? void 0
- : e.interstitialsManager) || null
- );
- }
- getMediaDecodingInfo(e, n = this.allAudioTracks) {
- const i = sg(n);
- return ig(e, i, navigator.mediaCapabilities);
- }
-}
-Kn.defaultConfig = void 0;
-var Cu = {},
- Le = {};
-const mC = "Á",
- WC = "á",
- RC = "Ă",
- yC = "ă",
- LC = "∾",
- vC = "∿",
- EC = "∾̳",
- TC = "Â",
- _C = "â",
- xC = "´",
- SC = "А",
- wC = "а",
- NC = "Æ",
- BC = "æ",
- IC = "",
- DC = "𝔄",
- CC = "𝔞",
- kC = "À",
- PC = "à",
- XC = "ℵ",
- FC = "ℵ",
- UC = "Α",
- $C = "α",
- HC = "Ā",
- GC = "ā",
- VC = "⨿",
- jC = "&",
- KC = "&",
- YC = "⩕",
- QC = "⩓",
- JC = "∧",
- ZC = "⩜",
- ek = "⩘",
- tk = "⩚",
- nk = "∠",
- ik = "⦤",
- rk = "∠",
- sk = "⦨",
- ok = "⦩",
- ak = "⦪",
- ck = "⦫",
- uk = "⦬",
- bk = "⦭",
- pk = "⦮",
- lk = "⦯",
- Mk = "∡",
- dk = "∟",
- fk = "⊾",
- zk = "⦝",
- Ok = "∢",
- hk = "Å",
- Ak = "⍼",
- qk = "Ą",
- gk = "ą",
- mk = "𝔸",
- Wk = "𝕒",
- Rk = "⩯",
- yk = "≈",
- Lk = "⩰",
- vk = "≊",
- Ek = "≋",
- Tk = "'",
- _k = "",
- xk = "≈",
- Sk = "≊",
- wk = "Å",
- Nk = "å",
- Bk = "𝒜",
- Ik = "𝒶",
- Dk = "≔",
- Ck = "*",
- kk = "≈",
- Pk = "≍",
- Xk = "Ã",
- Fk = "ã",
- Uk = "Ä",
- $k = "ä",
- Hk = "∳",
- Gk = "⨑",
- Vk = "≌",
- jk = "϶",
- Kk = "‵",
- Yk = "∽",
- Qk = "⋍",
- Jk = "∖",
- Zk = "⫧",
- eP = "⊽",
- tP = "⌅",
- nP = "⌆",
- iP = "⌅",
- rP = "⎵",
- sP = "⎶",
- oP = "≌",
- aP = "Б",
- cP = "б",
- uP = "„",
- bP = "∵",
- pP = "∵",
- lP = "∵",
- MP = "⦰",
- dP = "϶",
- fP = "ℬ",
- zP = "ℬ",
- OP = "Β",
- hP = "β",
- AP = "ℶ",
- qP = "≬",
- gP = "𝔅",
- mP = "𝔟",
- WP = "⋂",
- RP = "◯",
- yP = "⋃",
- LP = "⨀",
- vP = "⨁",
- EP = "⨂",
- TP = "⨆",
- _P = "★",
- xP = "▽",
- SP = "△",
- wP = "⨄",
- NP = "⋁",
- BP = "⋀",
- IP = "⤍",
- DP = "⧫",
- CP = "▪",
- kP = "▴",
- PP = "▾",
- XP = "◂",
- FP = "▸",
- UP = "␣",
- $P = "▒",
- HP = "░",
- GP = "▓",
- VP = "█",
- jP = "=⃥",
- KP = "≡⃥",
- YP = "⫭",
- QP = "⌐",
- JP = "𝔹",
- ZP = "𝕓",
- eX = "⊥",
- tX = "⊥",
- nX = "⋈",
- iX = "⧉",
- rX = "┐",
- sX = "╕",
- oX = "╖",
- aX = "╗",
- cX = "┌",
- uX = "╒",
- bX = "╓",
- pX = "╔",
- lX = "─",
- MX = "═",
- dX = "┬",
- fX = "╤",
- zX = "╥",
- OX = "╦",
- hX = "┴",
- AX = "╧",
- qX = "╨",
- gX = "╩",
- mX = "⊟",
- WX = "⊞",
- RX = "⊠",
- yX = "┘",
- LX = "╛",
- vX = "╜",
- EX = "╝",
- TX = "└",
- _X = "╘",
- xX = "╙",
- SX = "╚",
- wX = "│",
- NX = "║",
- BX = "┼",
- IX = "╪",
- DX = "╫",
- CX = "╬",
- kX = "┤",
- PX = "╡",
- XX = "╢",
- FX = "╣",
- UX = "├",
- $X = "╞",
- HX = "╟",
- GX = "╠",
- VX = "‵",
- jX = "˘",
- KX = "˘",
- YX = "¦",
- QX = "𝒷",
- JX = "ℬ",
- ZX = "⁏",
- eF = "∽",
- tF = "⋍",
- nF = "⧅",
- iF = "\\",
- rF = "⟈",
- sF = "•",
- oF = "•",
- aF = "≎",
- cF = "⪮",
- uF = "≏",
- bF = "≎",
- pF = "≏",
- lF = "Ć",
- MF = "ć",
- dF = "⩄",
- fF = "⩉",
- zF = "⩋",
- OF = "∩",
- hF = "⋒",
- AF = "⩇",
- qF = "⩀",
- gF = "ⅅ",
- mF = "∩︀",
- WF = "⁁",
- RF = "ˇ",
- yF = "ℭ",
- LF = "⩍",
- vF = "Č",
- EF = "č",
- TF = "Ç",
- _F = "ç",
- xF = "Ĉ",
- SF = "ĉ",
- wF = "∰",
- NF = "⩌",
- BF = "⩐",
- IF = "Ċ",
- DF = "ċ",
- CF = "¸",
- kF = "¸",
- PF = "⦲",
- XF = "¢",
- FF = "·",
- UF = "·",
- $F = "𝔠",
- HF = "ℭ",
- GF = "Ч",
- VF = "ч",
- jF = "✓",
- KF = "✓",
- YF = "Χ",
- QF = "χ",
- JF = "ˆ",
- ZF = "≗",
- eU = "↺",
- tU = "↻",
- nU = "⊛",
- iU = "⊚",
- rU = "⊝",
- sU = "⊙",
- oU = "®",
- aU = "Ⓢ",
- cU = "⊖",
- uU = "⊕",
- bU = "⊗",
- pU = "○",
- lU = "⧃",
- MU = "≗",
- dU = "⨐",
- fU = "⫯",
- zU = "⧂",
- OU = "∲",
- hU = "”",
- AU = "’",
- qU = "♣",
- gU = "♣",
- mU = ":",
- WU = "∷",
- RU = "⩴",
- yU = "≔",
- LU = "≔",
- vU = ",",
- EU = "@",
- TU = "∁",
- _U = "∘",
- xU = "∁",
- SU = "ℂ",
- wU = "≅",
- NU = "⩭",
- BU = "≡",
- IU = "∮",
- DU = "∯",
- CU = "∮",
- kU = "𝕔",
- PU = "ℂ",
- XU = "∐",
- FU = "∐",
- UU = "©",
- $U = "©",
- HU = "℗",
- GU = "∳",
- VU = "↵",
- jU = "✗",
- KU = "⨯",
- YU = "𝒞",
- QU = "𝒸",
- JU = "⫏",
- ZU = "⫑",
- e$ = "⫐",
- t$ = "⫒",
- n$ = "⋯",
- i$ = "⤸",
- r$ = "⤵",
- s$ = "⋞",
- o$ = "⋟",
- a$ = "↶",
- c$ = "⤽",
- u$ = "⩈",
- b$ = "⩆",
- p$ = "≍",
- l$ = "∪",
- M$ = "⋓",
- d$ = "⩊",
- f$ = "⊍",
- z$ = "⩅",
- O$ = "∪︀",
- h$ = "↷",
- A$ = "⤼",
- q$ = "⋞",
- g$ = "⋟",
- m$ = "⋎",
- W$ = "⋏",
- R$ = "¤",
- y$ = "↶",
- L$ = "↷",
- v$ = "⋎",
- E$ = "⋏",
- T$ = "∲",
- _$ = "∱",
- x$ = "⌭",
- S$ = "†",
- w$ = "‡",
- N$ = "ℸ",
- B$ = "↓",
- I$ = "↡",
- D$ = "⇓",
- C$ = "‐",
- k$ = "⫤",
- P$ = "⊣",
- X$ = "⤏",
- F$ = "˝",
- U$ = "Ď",
- $$ = "ď",
- H$ = "Д",
- G$ = "д",
- V$ = "‡",
- j$ = "⇊",
- K$ = "ⅅ",
- Y$ = "ⅆ",
- Q$ = "⤑",
- J$ = "⩷",
- Z$ = "°",
- eH = "∇",
- tH = "Δ",
- nH = "δ",
- iH = "⦱",
- rH = "⥿",
- sH = "𝔇",
- oH = "𝔡",
- aH = "⥥",
- cH = "⇃",
- uH = "⇂",
- bH = "´",
- pH = "˙",
- lH = "˝",
- MH = "`",
- dH = "˜",
- fH = "⋄",
- zH = "⋄",
- OH = "⋄",
- hH = "♦",
- AH = "♦",
- qH = "¨",
- gH = "ⅆ",
- mH = "ϝ",
- WH = "⋲",
- RH = "÷",
- yH = "÷",
- LH = "⋇",
- vH = "⋇",
- EH = "Ђ",
- TH = "ђ",
- _H = "⌞",
- xH = "⌍",
- SH = "$",
- wH = "𝔻",
- NH = "𝕕",
- BH = "¨",
- IH = "˙",
- DH = "⃜",
- CH = "≐",
- kH = "≑",
- PH = "≐",
- XH = "∸",
- FH = "∔",
- UH = "⊡",
- $H = "⌆",
- HH = "∯",
- GH = "¨",
- VH = "⇓",
- jH = "⇐",
- KH = "⇔",
- YH = "⫤",
- QH = "⟸",
- JH = "⟺",
- ZH = "⟹",
- eG = "⇒",
- tG = "⊨",
- nG = "⇑",
- iG = "⇕",
- rG = "∥",
- sG = "⤓",
- oG = "↓",
- aG = "↓",
- cG = "⇓",
- uG = "⇵",
- bG = "̑",
- pG = "⇊",
- lG = "⇃",
- MG = "⇂",
- dG = "⥐",
- fG = "⥞",
- zG = "⥖",
- OG = "↽",
- hG = "⥟",
- AG = "⥗",
- qG = "⇁",
- gG = "↧",
- mG = "⊤",
- WG = "⤐",
- RG = "⌟",
- yG = "⌌",
- LG = "𝒟",
- vG = "𝒹",
- EG = "Ѕ",
- TG = "ѕ",
- _G = "⧶",
- xG = "Đ",
- SG = "đ",
- wG = "⋱",
- NG = "▿",
- BG = "▾",
- IG = "⇵",
- DG = "⥯",
- CG = "⦦",
- kG = "Џ",
- PG = "џ",
- XG = "⟿",
- FG = "É",
- UG = "é",
- $G = "⩮",
- HG = "Ě",
- GG = "ě",
- VG = "Ê",
- jG = "ê",
- KG = "≖",
- YG = "≕",
- QG = "Э",
- JG = "э",
- ZG = "⩷",
- eV = "Ė",
- tV = "ė",
- nV = "≑",
- iV = "ⅇ",
- rV = "≒",
- sV = "𝔈",
- oV = "𝔢",
- aV = "⪚",
- cV = "È",
- uV = "è",
- bV = "⪖",
- pV = "⪘",
- lV = "⪙",
- MV = "∈",
- dV = "⏧",
- fV = "ℓ",
- zV = "⪕",
- OV = "⪗",
- hV = "Ē",
- AV = "ē",
- qV = "∅",
- gV = "∅",
- mV = "◻",
- WV = "∅",
- RV = "▫",
- yV = " ",
- LV = " ",
- vV = " ",
- EV = "Ŋ",
- TV = "ŋ",
- _V = " ",
- xV = "Ę",
- SV = "ę",
- wV = "𝔼",
- NV = "𝕖",
- BV = "⋕",
- IV = "⧣",
- DV = "⩱",
- CV = "ε",
- kV = "Ε",
- PV = "ε",
- XV = "ϵ",
- FV = "≖",
- UV = "≕",
- $V = "≂",
- HV = "⪖",
- GV = "⪕",
- VV = "⩵",
- jV = "=",
- KV = "≂",
- YV = "≟",
- QV = "⇌",
- JV = "≡",
- ZV = "⩸",
- ej = "⧥",
- tj = "⥱",
- nj = "≓",
- ij = "ℯ",
- rj = "ℰ",
- sj = "≐",
- oj = "⩳",
- aj = "≂",
- cj = "Η",
- uj = "η",
- bj = "Ð",
- pj = "ð",
- lj = "Ë",
- Mj = "ë",
- dj = "€",
- fj = "!",
- zj = "∃",
- Oj = "∃",
- hj = "ℰ",
- Aj = "ⅇ",
- qj = "ⅇ",
- gj = "≒",
- mj = "Ф",
- Wj = "ф",
- Rj = "♀",
- yj = "ffi",
- Lj = "ff",
- vj = "ffl",
- Ej = "𝔉",
- Tj = "𝔣",
- _j = "fi",
- xj = "◼",
- Sj = "▪",
- wj = "fj",
- Nj = "♭",
- Bj = "fl",
- Ij = "▱",
- Dj = "ƒ",
- Cj = "𝔽",
- kj = "𝕗",
- Pj = "∀",
- Xj = "∀",
- Fj = "⋔",
- Uj = "⫙",
- $j = "ℱ",
- Hj = "⨍",
- Gj = "½",
- Vj = "⅓",
- jj = "¼",
- Kj = "⅕",
- Yj = "⅙",
- Qj = "⅛",
- Jj = "⅔",
- Zj = "⅖",
- eK = "¾",
- tK = "⅗",
- nK = "⅜",
- iK = "⅘",
- rK = "⅚",
- sK = "⅝",
- oK = "⅞",
- aK = "⁄",
- cK = "⌢",
- uK = "𝒻",
- bK = "ℱ",
- pK = "ǵ",
- lK = "Γ",
- MK = "γ",
- dK = "Ϝ",
- fK = "ϝ",
- zK = "⪆",
- OK = "Ğ",
- hK = "ğ",
- AK = "Ģ",
- qK = "Ĝ",
- gK = "ĝ",
- mK = "Г",
- WK = "г",
- RK = "Ġ",
- yK = "ġ",
- LK = "≥",
- vK = "≧",
- EK = "⪌",
- TK = "⋛",
- _K = "≥",
- xK = "≧",
- SK = "⩾",
- wK = "⪩",
- NK = "⩾",
- BK = "⪀",
- IK = "⪂",
- DK = "⪄",
- CK = "⋛︀",
- kK = "⪔",
- PK = "𝔊",
- XK = "𝔤",
- FK = "≫",
- UK = "⋙",
- $K = "⋙",
- HK = "ℷ",
- GK = "Ѓ",
- VK = "ѓ",
- jK = "⪥",
- KK = "≷",
- YK = "⪒",
- QK = "⪤",
- JK = "⪊",
- ZK = "⪊",
- eY = "⪈",
- tY = "≩",
- nY = "⪈",
- iY = "≩",
- rY = "⋧",
- sY = "𝔾",
- oY = "𝕘",
- aY = "`",
- cY = "≥",
- uY = "⋛",
- bY = "≧",
- pY = "⪢",
- lY = "≷",
- MY = "⩾",
- dY = "≳",
- fY = "𝒢",
- zY = "ℊ",
- OY = "≳",
- hY = "⪎",
- AY = "⪐",
- qY = "⪧",
- gY = "⩺",
- mY = ">",
- WY = ">",
- RY = "≫",
- yY = "⋗",
- LY = "⦕",
- vY = "⩼",
- EY = "⪆",
- TY = "⥸",
- _Y = "⋗",
- xY = "⋛",
- SY = "⪌",
- wY = "≷",
- NY = "≳",
- BY = "≩︀",
- IY = "≩︀",
- DY = "ˇ",
- CY = " ",
- kY = "½",
- PY = "ℋ",
- XY = "Ъ",
- FY = "ъ",
- UY = "⥈",
- $Y = "↔",
- HY = "⇔",
- GY = "↭",
- VY = "^",
- jY = "ℏ",
- KY = "Ĥ",
- YY = "ĥ",
- QY = "♥",
- JY = "♥",
- ZY = "…",
- eQ = "⊹",
- tQ = "𝔥",
- nQ = "ℌ",
- iQ = "ℋ",
- rQ = "⤥",
- sQ = "⤦",
- oQ = "⇿",
- aQ = "∻",
- cQ = "↩",
- uQ = "↪",
- bQ = "𝕙",
- pQ = "ℍ",
- lQ = "―",
- MQ = "─",
- dQ = "𝒽",
- fQ = "ℋ",
- zQ = "ℏ",
- OQ = "Ħ",
- hQ = "ħ",
- AQ = "≎",
- qQ = "≏",
- gQ = "⁃",
- mQ = "‐",
- WQ = "Í",
- RQ = "í",
- yQ = "",
- LQ = "Î",
- vQ = "î",
- EQ = "И",
- TQ = "и",
- _Q = "İ",
- xQ = "Е",
- SQ = "е",
- wQ = "¡",
- NQ = "⇔",
- BQ = "𝔦",
- IQ = "ℑ",
- DQ = "Ì",
- CQ = "ì",
- kQ = "ⅈ",
- PQ = "⨌",
- XQ = "∭",
- FQ = "⧜",
- UQ = "℩",
- $Q = "IJ",
- HQ = "ij",
- GQ = "Ī",
- VQ = "ī",
- jQ = "ℑ",
- KQ = "ⅈ",
- YQ = "ℐ",
- QQ = "ℑ",
- JQ = "ı",
- ZQ = "ℑ",
- eJ = "⊷",
- tJ = "Ƶ",
- nJ = "⇒",
- iJ = "℅",
- rJ = "∞",
- sJ = "⧝",
- oJ = "ı",
- aJ = "⊺",
- cJ = "∫",
- uJ = "∬",
- bJ = "ℤ",
- pJ = "∫",
- lJ = "⊺",
- MJ = "⋂",
- dJ = "⨗",
- fJ = "⨼",
- zJ = "",
- OJ = "",
- hJ = "Ё",
- AJ = "ё",
- qJ = "Į",
- gJ = "į",
- mJ = "𝕀",
- WJ = "𝕚",
- RJ = "Ι",
- yJ = "ι",
- LJ = "⨼",
- vJ = "¿",
- EJ = "𝒾",
- TJ = "ℐ",
- _J = "∈",
- xJ = "⋵",
- SJ = "⋹",
- wJ = "⋴",
- NJ = "⋳",
- BJ = "∈",
- IJ = "",
- DJ = "Ĩ",
- CJ = "ĩ",
- kJ = "І",
- PJ = "і",
- XJ = "Ï",
- FJ = "ï",
- UJ = "Ĵ",
- $J = "ĵ",
- HJ = "Й",
- GJ = "й",
- VJ = "𝔍",
- jJ = "𝔧",
- KJ = "ȷ",
- YJ = "𝕁",
- QJ = "𝕛",
- JJ = "𝒥",
- ZJ = "𝒿",
- eZ = "Ј",
- tZ = "ј",
- nZ = "Є",
- iZ = "є",
- rZ = "Κ",
- sZ = "κ",
- oZ = "ϰ",
- aZ = "Ķ",
- cZ = "ķ",
- uZ = "К",
- bZ = "к",
- pZ = "𝔎",
- lZ = "𝔨",
- MZ = "ĸ",
- dZ = "Х",
- fZ = "х",
- zZ = "Ќ",
- OZ = "ќ",
- hZ = "𝕂",
- AZ = "𝕜",
- qZ = "𝒦",
- gZ = "𝓀",
- mZ = "⇚",
- WZ = "Ĺ",
- RZ = "ĺ",
- yZ = "⦴",
- LZ = "ℒ",
- vZ = "Λ",
- EZ = "λ",
- TZ = "⟨",
- _Z = "⟪",
- xZ = "⦑",
- SZ = "⟨",
- wZ = "⪅",
- NZ = "ℒ",
- BZ = "«",
- IZ = "⇤",
- DZ = "⤟",
- CZ = "←",
- kZ = "↞",
- PZ = "⇐",
- XZ = "⤝",
- FZ = "↩",
- UZ = "↫",
- $Z = "⤹",
- HZ = "⥳",
- GZ = "↢",
- VZ = "⤙",
- jZ = "⤛",
- KZ = "⪫",
- YZ = "⪭",
- QZ = "⪭︀",
- JZ = "⤌",
- ZZ = "⤎",
- e00 = "❲",
- t00 = "{",
- n00 = "[",
- i00 = "⦋",
- r00 = "⦏",
- s00 = "⦍",
- o00 = "Ľ",
- a00 = "ľ",
- c00 = "Ļ",
- u00 = "ļ",
- b00 = "⌈",
- p00 = "{",
- l00 = "Л",
- M00 = "л",
- d00 = "⤶",
- f00 = "“",
- z00 = "„",
- O00 = "⥧",
- h00 = "⥋",
- A00 = "↲",
- q00 = "≤",
- g00 = "≦",
- m00 = "⟨",
- W00 = "⇤",
- R00 = "←",
- y00 = "←",
- L00 = "⇐",
- v00 = "⇆",
- E00 = "↢",
- T00 = "⌈",
- _00 = "⟦",
- x00 = "⥡",
- S00 = "⥙",
- w00 = "⇃",
- N00 = "⌊",
- B00 = "↽",
- I00 = "↼",
- D00 = "⇇",
- C00 = "↔",
- k00 = "↔",
- P00 = "⇔",
- X00 = "⇆",
- F00 = "⇋",
- U00 = "↭",
- $00 = "⥎",
- H00 = "↤",
- G00 = "⊣",
- V00 = "⥚",
- j00 = "⋋",
- K00 = "⧏",
- Y00 = "⊲",
- Q00 = "⊴",
- J00 = "⥑",
- Z00 = "⥠",
- e10 = "⥘",
- t10 = "↿",
- n10 = "⥒",
- i10 = "↼",
- r10 = "⪋",
- s10 = "⋚",
- o10 = "≤",
- a10 = "≦",
- c10 = "⩽",
- u10 = "⪨",
- b10 = "⩽",
- p10 = "⩿",
- l10 = "⪁",
- M10 = "⪃",
- d10 = "⋚︀",
- f10 = "⪓",
- z10 = "⪅",
- O10 = "⋖",
- h10 = "⋚",
- A10 = "⪋",
- q10 = "⋚",
- g10 = "≦",
- m10 = "≶",
- W10 = "≶",
- R10 = "⪡",
- y10 = "≲",
- L10 = "⩽",
- v10 = "≲",
- E10 = "⥼",
- T10 = "⌊",
- _10 = "𝔏",
- x10 = "𝔩",
- S10 = "≶",
- w10 = "⪑",
- N10 = "⥢",
- B10 = "↽",
- I10 = "↼",
- D10 = "⥪",
- C10 = "▄",
- k10 = "Љ",
- P10 = "љ",
- X10 = "⇇",
- F10 = "≪",
- U10 = "⋘",
- $10 = "⌞",
- H10 = "⇚",
- G10 = "⥫",
- V10 = "◺",
- j10 = "Ŀ",
- K10 = "ŀ",
- Y10 = "⎰",
- Q10 = "⎰",
- J10 = "⪉",
- Z10 = "⪉",
- ee0 = "⪇",
- te0 = "≨",
- ne0 = "⪇",
- ie0 = "≨",
- re0 = "⋦",
- se0 = "⟬",
- oe0 = "⇽",
- ae0 = "⟦",
- ce0 = "⟵",
- ue0 = "⟵",
- be0 = "⟸",
- pe0 = "⟷",
- le0 = "⟷",
- Me0 = "⟺",
- de0 = "⟼",
- fe0 = "⟶",
- ze0 = "⟶",
- Oe0 = "⟹",
- he0 = "↫",
- Ae0 = "↬",
- qe0 = "⦅",
- ge0 = "𝕃",
- me0 = "𝕝",
- We0 = "⨭",
- Re0 = "⨴",
- ye0 = "∗",
- Le0 = "_",
- ve0 = "↙",
- Ee0 = "↘",
- Te0 = "◊",
- _e0 = "◊",
- xe0 = "⧫",
- Se0 = "(",
- we0 = "⦓",
- Ne0 = "⇆",
- Be0 = "⌟",
- Ie0 = "⇋",
- De0 = "⥭",
- Ce0 = "",
- ke0 = "⊿",
- Pe0 = "‹",
- Xe0 = "𝓁",
- Fe0 = "ℒ",
- Ue0 = "↰",
- $e0 = "↰",
- He0 = "≲",
- Ge0 = "⪍",
- Ve0 = "⪏",
- je0 = "[",
- Ke0 = "‘",
- Ye0 = "‚",
- Qe0 = "Ł",
- Je0 = "ł",
- Ze0 = "⪦",
- et0 = "⩹",
- tt0 = "<",
- nt0 = "<",
- it0 = "≪",
- rt0 = "⋖",
- st0 = "⋋",
- ot0 = "⋉",
- at0 = "⥶",
- ct0 = "⩻",
- ut0 = "◃",
- bt0 = "⊴",
- pt0 = "◂",
- lt0 = "⦖",
- Mt0 = "⥊",
- dt0 = "⥦",
- ft0 = "≨︀",
- zt0 = "≨︀",
- Ot0 = "¯",
- ht0 = "♂",
- At0 = "✠",
- qt0 = "✠",
- gt0 = "↦",
- mt0 = "↦",
- Wt0 = "↧",
- Rt0 = "↤",
- yt0 = "↥",
- Lt0 = "▮",
- vt0 = "⨩",
- Et0 = "М",
- Tt0 = "м",
- _t0 = "—",
- xt0 = "∺",
- St0 = "∡",
- wt0 = " ",
- Nt0 = "ℳ",
- Bt0 = "𝔐",
- It0 = "𝔪",
- Dt0 = "℧",
- Ct0 = "µ",
- kt0 = "*",
- Pt0 = "⫰",
- Xt0 = "∣",
- Ft0 = "·",
- Ut0 = "⊟",
- $t0 = "−",
- Ht0 = "∸",
- Gt0 = "⨪",
- Vt0 = "∓",
- jt0 = "⫛",
- Kt0 = "…",
- Yt0 = "∓",
- Qt0 = "⊧",
- Jt0 = "𝕄",
- Zt0 = "𝕞",
- en0 = "∓",
- tn0 = "𝓂",
- nn0 = "ℳ",
- in0 = "∾",
- rn0 = "Μ",
- sn0 = "μ",
- on0 = "⊸",
- an0 = "⊸",
- cn0 = "∇",
- un0 = "Ń",
- bn0 = "ń",
- pn0 = "∠⃒",
- ln0 = "≉",
- Mn0 = "⩰̸",
- dn0 = "≋̸",
- fn0 = "ʼn",
- zn0 = "≉",
- On0 = "♮",
- hn0 = "ℕ",
- An0 = "♮",
- qn0 = " ",
- gn0 = "≎̸",
- mn0 = "≏̸",
- Wn0 = "⩃",
- Rn0 = "Ň",
- yn0 = "ň",
- Ln0 = "Ņ",
- vn0 = "ņ",
- En0 = "≇",
- Tn0 = "⩭̸",
- _n0 = "⩂",
- xn0 = "Н",
- Sn0 = "н",
- wn0 = "–",
- Nn0 = "⤤",
- Bn0 = "↗",
- In0 = "⇗",
- Dn0 = "↗",
- Cn0 = "≠",
- kn0 = "≐̸",
- Pn0 = "",
- Xn0 = "",
- Fn0 = "",
- Un0 = "",
- $n0 = "≢",
- Hn0 = "⤨",
- Gn0 = "≂̸",
- Vn0 = "≫",
- jn0 = "≪",
- Kn0 = `
-`,
- Yn0 = "∄",
- Qn0 = "∄",
- Jn0 = "𝔑",
- Zn0 = "𝔫",
- ei0 = "≧̸",
- ti0 = "≱",
- ni0 = "≱",
- ii0 = "≧̸",
- ri0 = "⩾̸",
- si0 = "⩾̸",
- oi0 = "⋙̸",
- ai0 = "≵",
- ci0 = "≫⃒",
- ui0 = "≯",
- bi0 = "≯",
- pi0 = "≫̸",
- li0 = "↮",
- Mi0 = "⇎",
- di0 = "⫲",
- fi0 = "∋",
- zi0 = "⋼",
- Oi0 = "⋺",
- hi0 = "∋",
- Ai0 = "Њ",
- qi0 = "њ",
- gi0 = "↚",
- mi0 = "⇍",
- Wi0 = "‥",
- Ri0 = "≦̸",
- yi0 = "≰",
- Li0 = "↚",
- vi0 = "⇍",
- Ei0 = "↮",
- Ti0 = "⇎",
- _i0 = "≰",
- xi0 = "≦̸",
- Si0 = "⩽̸",
- wi0 = "⩽̸",
- Ni0 = "≮",
- Bi0 = "⋘̸",
- Ii0 = "≴",
- Di0 = "≪⃒",
- Ci0 = "≮",
- ki0 = "⋪",
- Pi0 = "⋬",
- Xi0 = "≪̸",
- Fi0 = "∤",
- Ui0 = "",
- $i0 = " ",
- Hi0 = "𝕟",
- Gi0 = "ℕ",
- Vi0 = "⫬",
- ji0 = "¬",
- Ki0 = "≢",
- Yi0 = "≭",
- Qi0 = "∦",
- Ji0 = "∉",
- Zi0 = "≠",
- er0 = "≂̸",
- tr0 = "∄",
- nr0 = "≯",
- ir0 = "≱",
- rr0 = "≧̸",
- sr0 = "≫̸",
- or0 = "≹",
- ar0 = "⩾̸",
- cr0 = "≵",
- ur0 = "≎̸",
- br0 = "≏̸",
- pr0 = "∉",
- lr0 = "⋵̸",
- Mr0 = "⋹̸",
- dr0 = "∉",
- fr0 = "⋷",
- zr0 = "⋶",
- Or0 = "⧏̸",
- hr0 = "⋪",
- Ar0 = "⋬",
- qr0 = "≮",
- gr0 = "≰",
- mr0 = "≸",
- Wr0 = "≪̸",
- Rr0 = "⩽̸",
- yr0 = "≴",
- Lr0 = "⪢̸",
- vr0 = "⪡̸",
- Er0 = "∌",
- Tr0 = "∌",
- _r0 = "⋾",
- xr0 = "⋽",
- Sr0 = "⊀",
- wr0 = "⪯̸",
- Nr0 = "⋠",
- Br0 = "∌",
- Ir0 = "⧐̸",
- Dr0 = "⋫",
- Cr0 = "⋭",
- kr0 = "⊏̸",
- Pr0 = "⋢",
- Xr0 = "⊐̸",
- Fr0 = "⋣",
- Ur0 = "⊂⃒",
- $r0 = "⊈",
- Hr0 = "⊁",
- Gr0 = "⪰̸",
- Vr0 = "⋡",
- jr0 = "≿̸",
- Kr0 = "⊃⃒",
- Yr0 = "⊉",
- Qr0 = "≁",
- Jr0 = "≄",
- Zr0 = "≇",
- es0 = "≉",
- ts0 = "∤",
- ns0 = "∦",
- is0 = "∦",
- rs0 = "⫽⃥",
- ss0 = "∂̸",
- os0 = "⨔",
- as0 = "⊀",
- cs0 = "⋠",
- us0 = "⊀",
- bs0 = "⪯̸",
- ps0 = "⪯̸",
- ls0 = "⤳̸",
- Ms0 = "↛",
- ds0 = "⇏",
- fs0 = "↝̸",
- zs0 = "↛",
- Os0 = "⇏",
- hs0 = "⋫",
- As0 = "⋭",
- qs0 = "⊁",
- gs0 = "⋡",
- ms0 = "⪰̸",
- Ws0 = "𝒩",
- Rs0 = "𝓃",
- ys0 = "∤",
- Ls0 = "∦",
- vs0 = "≁",
- Es0 = "≄",
- Ts0 = "≄",
- _s0 = "∤",
- xs0 = "∦",
- Ss0 = "⋢",
- ws0 = "⋣",
- Ns0 = "⊄",
- Bs0 = "⫅̸",
- Is0 = "⊈",
- Ds0 = "⊂⃒",
- Cs0 = "⊈",
- ks0 = "⫅̸",
- Ps0 = "⊁",
- Xs0 = "⪰̸",
- Fs0 = "⊅",
- Us0 = "⫆̸",
- $s0 = "⊉",
- Hs0 = "⊃⃒",
- Gs0 = "⊉",
- Vs0 = "⫆̸",
- js0 = "≹",
- Ks0 = "Ñ",
- Ys0 = "ñ",
- Qs0 = "≸",
- Js0 = "⋪",
- Zs0 = "⋬",
- eo0 = "⋫",
- to0 = "⋭",
- no0 = "Ν",
- io0 = "ν",
- ro0 = "#",
- so0 = "№",
- oo0 = " ",
- ao0 = "≍⃒",
- co0 = "⊬",
- uo0 = "⊭",
- bo0 = "⊮",
- po0 = "⊯",
- lo0 = "≥⃒",
- Mo0 = ">⃒",
- do0 = "⤄",
- fo0 = "⧞",
- zo0 = "⤂",
- Oo0 = "≤⃒",
- ho0 = "<⃒",
- Ao0 = "⊴⃒",
- qo0 = "⤃",
- go0 = "⊵⃒",
- mo0 = "∼⃒",
- Wo0 = "⤣",
- Ro0 = "↖",
- yo0 = "⇖",
- Lo0 = "↖",
- vo0 = "⤧",
- Eo0 = "Ó",
- To0 = "ó",
- _o0 = "⊛",
- xo0 = "Ô",
- So0 = "ô",
- wo0 = "⊚",
- No0 = "О",
- Bo0 = "о",
- Io0 = "⊝",
- Do0 = "Ő",
- Co0 = "ő",
- ko0 = "⨸",
- Po0 = "⊙",
- Xo0 = "⦼",
- Fo0 = "Œ",
- Uo0 = "œ",
- $o0 = "⦿",
- Ho0 = "𝔒",
- Go0 = "𝔬",
- Vo0 = "˛",
- jo0 = "Ò",
- Ko0 = "ò",
- Yo0 = "⧁",
- Qo0 = "⦵",
- Jo0 = "Ω",
- Zo0 = "∮",
- ea0 = "↺",
- ta0 = "⦾",
- na0 = "⦻",
- ia0 = "‾",
- ra0 = "⧀",
- sa0 = "Ō",
- oa0 = "ō",
- aa0 = "Ω",
- ca0 = "ω",
- ua0 = "Ο",
- ba0 = "ο",
- pa0 = "⦶",
- la0 = "⊖",
- Ma0 = "𝕆",
- da0 = "𝕠",
- fa0 = "⦷",
- za0 = "“",
- Oa0 = "‘",
- ha0 = "⦹",
- Aa0 = "⊕",
- qa0 = "↻",
- ga0 = "⩔",
- ma0 = "∨",
- Wa0 = "⩝",
- Ra0 = "ℴ",
- ya0 = "ℴ",
- La0 = "ª",
- va0 = "º",
- Ea0 = "⊶",
- Ta0 = "⩖",
- _a0 = "⩗",
- xa0 = "⩛",
- Sa0 = "Ⓢ",
- wa0 = "𝒪",
- Na0 = "ℴ",
- Ba0 = "Ø",
- Ia0 = "ø",
- Da0 = "⊘",
- Ca0 = "Õ",
- ka0 = "õ",
- Pa0 = "⨶",
- Xa0 = "⨷",
- Fa0 = "⊗",
- Ua0 = "Ö",
- $a0 = "ö",
- Ha0 = "⌽",
- Ga0 = "‾",
- Va0 = "⏞",
- ja0 = "⎴",
- Ka0 = "⏜",
- Ya0 = "¶",
- Qa0 = "∥",
- Ja0 = "∥",
- Za0 = "⫳",
- ec0 = "⫽",
- tc0 = "∂",
- nc0 = "∂",
- ic0 = "П",
- rc0 = "п",
- sc0 = "%",
- oc0 = ".",
- ac0 = "‰",
- cc0 = "⊥",
- uc0 = "‱",
- bc0 = "𝔓",
- pc0 = "𝔭",
- lc0 = "Φ",
- Mc0 = "φ",
- dc0 = "ϕ",
- fc0 = "ℳ",
- zc0 = "☎",
- Oc0 = "Π",
- hc0 = "π",
- Ac0 = "⋔",
- qc0 = "ϖ",
- gc0 = "ℏ",
- mc0 = "ℎ",
- Wc0 = "ℏ",
- Rc0 = "⨣",
- yc0 = "⊞",
- Lc0 = "⨢",
- vc0 = "+",
- Ec0 = "∔",
- Tc0 = "⨥",
- _c0 = "⩲",
- xc0 = "±",
- Sc0 = "±",
- wc0 = "⨦",
- Nc0 = "⨧",
- Bc0 = "±",
- Ic0 = "ℌ",
- Dc0 = "⨕",
- Cc0 = "𝕡",
- kc0 = "ℙ",
- Pc0 = "£",
- Xc0 = "⪷",
- Fc0 = "⪻",
- Uc0 = "≺",
- $c0 = "≼",
- Hc0 = "⪷",
- Gc0 = "≺",
- Vc0 = "≼",
- jc0 = "≺",
- Kc0 = "⪯",
- Yc0 = "≼",
- Qc0 = "≾",
- Jc0 = "⪯",
- Zc0 = "⪹",
- e20 = "⪵",
- t20 = "⋨",
- n20 = "⪯",
- i20 = "⪳",
- r20 = "≾",
- s20 = "′",
- o20 = "″",
- a20 = "ℙ",
- c20 = "⪹",
- u20 = "⪵",
- b20 = "⋨",
- p20 = "∏",
- l20 = "∏",
- M20 = "⌮",
- d20 = "⌒",
- f20 = "⌓",
- z20 = "∝",
- O20 = "∝",
- h20 = "∷",
- A20 = "∝",
- q20 = "≾",
- g20 = "⊰",
- m20 = "𝒫",
- W20 = "𝓅",
- R20 = "Ψ",
- y20 = "ψ",
- L20 = " ",
- v20 = "𝔔",
- E20 = "𝔮",
- T20 = "⨌",
- _20 = "𝕢",
- x20 = "ℚ",
- S20 = "⁗",
- w20 = "𝒬",
- N20 = "𝓆",
- B20 = "ℍ",
- I20 = "⨖",
- D20 = "?",
- C20 = "≟",
- k20 = '"',
- P20 = '"',
- X20 = "⇛",
- F20 = "∽̱",
- U20 = "Ŕ",
- $20 = "ŕ",
- H20 = "√",
- G20 = "⦳",
- V20 = "⟩",
- j20 = "⟫",
- K20 = "⦒",
- Y20 = "⦥",
- Q20 = "⟩",
- J20 = "»",
- Z20 = "⥵",
- eu0 = "⇥",
- tu0 = "⤠",
- nu0 = "⤳",
- iu0 = "→",
- ru0 = "↠",
- su0 = "⇒",
- ou0 = "⤞",
- au0 = "↪",
- cu0 = "↬",
- uu0 = "⥅",
- bu0 = "⥴",
- pu0 = "⤖",
- lu0 = "↣",
- Mu0 = "↝",
- du0 = "⤚",
- fu0 = "⤜",
- zu0 = "∶",
- Ou0 = "ℚ",
- hu0 = "⤍",
- Au0 = "⤏",
- qu0 = "⤐",
- gu0 = "❳",
- mu0 = "}",
- Wu0 = "]",
- Ru0 = "⦌",
- yu0 = "⦎",
- Lu0 = "⦐",
- vu0 = "Ř",
- Eu0 = "ř",
- Tu0 = "Ŗ",
- _u0 = "ŗ",
- xu0 = "⌉",
- Su0 = "}",
- wu0 = "Р",
- Nu0 = "р",
- Bu0 = "⤷",
- Iu0 = "⥩",
- Du0 = "”",
- Cu0 = "”",
- ku0 = "↳",
- Pu0 = "ℜ",
- Xu0 = "ℛ",
- Fu0 = "ℜ",
- Uu0 = "ℝ",
- $u0 = "ℜ",
- Hu0 = "▭",
- Gu0 = "®",
- Vu0 = "®",
- ju0 = "∋",
- Ku0 = "⇋",
- Yu0 = "⥯",
- Qu0 = "⥽",
- Ju0 = "⌋",
- Zu0 = "𝔯",
- eb0 = "ℜ",
- tb0 = "⥤",
- nb0 = "⇁",
- ib0 = "⇀",
- rb0 = "⥬",
- sb0 = "Ρ",
- ob0 = "ρ",
- ab0 = "ϱ",
- cb0 = "⟩",
- ub0 = "⇥",
- bb0 = "→",
- pb0 = "→",
- lb0 = "⇒",
- Mb0 = "⇄",
- db0 = "↣",
- fb0 = "⌉",
- zb0 = "⟧",
- Ob0 = "⥝",
- hb0 = "⥕",
- Ab0 = "⇂",
- qb0 = "⌋",
- gb0 = "⇁",
- mb0 = "⇀",
- Wb0 = "⇄",
- Rb0 = "⇌",
- yb0 = "⇉",
- Lb0 = "↝",
- vb0 = "↦",
- Eb0 = "⊢",
- Tb0 = "⥛",
- _b0 = "⋌",
- xb0 = "⧐",
- Sb0 = "⊳",
- wb0 = "⊵",
- Nb0 = "⥏",
- Bb0 = "⥜",
- Ib0 = "⥔",
- Db0 = "↾",
- Cb0 = "⥓",
- kb0 = "⇀",
- Pb0 = "˚",
- Xb0 = "≓",
- Fb0 = "⇄",
- Ub0 = "⇌",
- $b0 = "",
- Hb0 = "⎱",
- Gb0 = "⎱",
- Vb0 = "⫮",
- jb0 = "⟭",
- Kb0 = "⇾",
- Yb0 = "⟧",
- Qb0 = "⦆",
- Jb0 = "𝕣",
- Zb0 = "ℝ",
- ep0 = "⨮",
- tp0 = "⨵",
- np0 = "⥰",
- ip0 = ")",
- rp0 = "⦔",
- sp0 = "⨒",
- op0 = "⇉",
- ap0 = "⇛",
- cp0 = "›",
- up0 = "𝓇",
- bp0 = "ℛ",
- pp0 = "↱",
- lp0 = "↱",
- Mp0 = "]",
- dp0 = "’",
- fp0 = "’",
- zp0 = "⋌",
- Op0 = "⋊",
- hp0 = "▹",
- Ap0 = "⊵",
- qp0 = "▸",
- gp0 = "⧎",
- mp0 = "⧴",
- Wp0 = "⥨",
- Rp0 = "℞",
- yp0 = "Ś",
- Lp0 = "ś",
- vp0 = "‚",
- Ep0 = "⪸",
- Tp0 = "Š",
- _p0 = "š",
- xp0 = "⪼",
- Sp0 = "≻",
- wp0 = "≽",
- Np0 = "⪰",
- Bp0 = "⪴",
- Ip0 = "Ş",
- Dp0 = "ş",
- Cp0 = "Ŝ",
- kp0 = "ŝ",
- Pp0 = "⪺",
- Xp0 = "⪶",
- Fp0 = "⋩",
- Up0 = "⨓",
- $p0 = "≿",
- Hp0 = "С",
- Gp0 = "с",
- Vp0 = "⊡",
- jp0 = "⋅",
- Kp0 = "⩦",
- Yp0 = "⤥",
- Qp0 = "↘",
- Jp0 = "⇘",
- Zp0 = "↘",
- el0 = "§",
- tl0 = ";",
- nl0 = "⤩",
- il0 = "∖",
- rl0 = "∖",
- sl0 = "✶",
- ol0 = "𝔖",
- al0 = "𝔰",
- cl0 = "⌢",
- ul0 = "♯",
- bl0 = "Щ",
- pl0 = "щ",
- ll0 = "Ш",
- Ml0 = "ш",
- dl0 = "↓",
- fl0 = "←",
- zl0 = "∣",
- Ol0 = "∥",
- hl0 = "→",
- Al0 = "↑",
- ql0 = "",
- gl0 = "Σ",
- ml0 = "σ",
- Wl0 = "ς",
- Rl0 = "ς",
- yl0 = "∼",
- Ll0 = "⩪",
- vl0 = "≃",
- El0 = "≃",
- Tl0 = "⪞",
- _l0 = "⪠",
- xl0 = "⪝",
- Sl0 = "⪟",
- wl0 = "≆",
- Nl0 = "⨤",
- Bl0 = "⥲",
- Il0 = "←",
- Dl0 = "∘",
- Cl0 = "∖",
- kl0 = "⨳",
- Pl0 = "⧤",
- Xl0 = "∣",
- Fl0 = "⌣",
- Ul0 = "⪪",
- $l0 = "⪬",
- Hl0 = "⪬︀",
- Gl0 = "Ь",
- Vl0 = "ь",
- jl0 = "⌿",
- Kl0 = "⧄",
- Yl0 = "/",
- Ql0 = "𝕊",
- Jl0 = "𝕤",
- Zl0 = "♠",
- eM0 = "♠",
- tM0 = "∥",
- nM0 = "⊓",
- iM0 = "⊓︀",
- rM0 = "⊔",
- sM0 = "⊔︀",
- oM0 = "√",
- aM0 = "⊏",
- cM0 = "⊑",
- uM0 = "⊏",
- bM0 = "⊑",
- pM0 = "⊐",
- lM0 = "⊒",
- MM0 = "⊐",
- dM0 = "⊒",
- fM0 = "□",
- zM0 = "□",
- OM0 = "⊓",
- hM0 = "⊏",
- AM0 = "⊑",
- qM0 = "⊐",
- gM0 = "⊒",
- mM0 = "⊔",
- WM0 = "▪",
- RM0 = "□",
- yM0 = "▪",
- LM0 = "→",
- vM0 = "𝒮",
- EM0 = "𝓈",
- TM0 = "∖",
- _M0 = "⌣",
- xM0 = "⋆",
- SM0 = "⋆",
- wM0 = "☆",
- NM0 = "★",
- BM0 = "ϵ",
- IM0 = "ϕ",
- DM0 = "¯",
- CM0 = "⊂",
- kM0 = "⋐",
- PM0 = "⪽",
- XM0 = "⫅",
- FM0 = "⊆",
- UM0 = "⫃",
- $M0 = "⫁",
- HM0 = "⫋",
- GM0 = "⊊",
- VM0 = "⪿",
- jM0 = "⥹",
- KM0 = "⊂",
- YM0 = "⋐",
- QM0 = "⊆",
- JM0 = "⫅",
- ZM0 = "⊆",
- ed0 = "⊊",
- td0 = "⫋",
- nd0 = "⫇",
- id0 = "⫕",
- rd0 = "⫓",
- sd0 = "⪸",
- od0 = "≻",
- ad0 = "≽",
- cd0 = "≻",
- ud0 = "⪰",
- bd0 = "≽",
- pd0 = "≿",
- ld0 = "⪰",
- Md0 = "⪺",
- dd0 = "⪶",
- fd0 = "⋩",
- zd0 = "≿",
- Od0 = "∋",
- hd0 = "∑",
- Ad0 = "∑",
- qd0 = "♪",
- gd0 = "¹",
- md0 = "²",
- Wd0 = "³",
- Rd0 = "⊃",
- yd0 = "⋑",
- Ld0 = "⪾",
- vd0 = "⫘",
- Ed0 = "⫆",
- Td0 = "⊇",
- _d0 = "⫄",
- xd0 = "⊃",
- Sd0 = "⊇",
- wd0 = "⟉",
- Nd0 = "⫗",
- Bd0 = "⥻",
- Id0 = "⫂",
- Dd0 = "⫌",
- Cd0 = "⊋",
- kd0 = "⫀",
- Pd0 = "⊃",
- Xd0 = "⋑",
- Fd0 = "⊇",
- Ud0 = "⫆",
- $d0 = "⊋",
- Hd0 = "⫌",
- Gd0 = "⫈",
- Vd0 = "⫔",
- jd0 = "⫖",
- Kd0 = "⤦",
- Yd0 = "↙",
- Qd0 = "⇙",
- Jd0 = "↙",
- Zd0 = "⤪",
- ef0 = "ß",
- tf0 = " ",
- nf0 = "⌖",
- if0 = "Τ",
- rf0 = "τ",
- sf0 = "⎴",
- of0 = "Ť",
- af0 = "ť",
- cf0 = "Ţ",
- uf0 = "ţ",
- bf0 = "Т",
- pf0 = "т",
- lf0 = "⃛",
- Mf0 = "⌕",
- df0 = "𝔗",
- ff0 = "𝔱",
- zf0 = "∴",
- Of0 = "∴",
- hf0 = "∴",
- Af0 = "Θ",
- qf0 = "θ",
- gf0 = "ϑ",
- mf0 = "ϑ",
- Wf0 = "≈",
- Rf0 = "∼",
- yf0 = " ",
- Lf0 = " ",
- vf0 = " ",
- Ef0 = "≈",
- Tf0 = "∼",
- _f0 = "Þ",
- xf0 = "þ",
- Sf0 = "˜",
- wf0 = "∼",
- Nf0 = "≃",
- Bf0 = "≅",
- If0 = "≈",
- Df0 = "⨱",
- Cf0 = "⊠",
- kf0 = "×",
- Pf0 = "⨰",
- Xf0 = "∭",
- Ff0 = "⤨",
- Uf0 = "⌶",
- $f0 = "⫱",
- Hf0 = "⊤",
- Gf0 = "𝕋",
- Vf0 = "𝕥",
- jf0 = "⫚",
- Kf0 = "⤩",
- Yf0 = "‴",
- Qf0 = "™",
- Jf0 = "™",
- Zf0 = "▵",
- ez0 = "▿",
- tz0 = "◃",
- nz0 = "⊴",
- iz0 = "≜",
- rz0 = "▹",
- sz0 = "⊵",
- oz0 = "◬",
- az0 = "≜",
- cz0 = "⨺",
- uz0 = "⃛",
- bz0 = "⨹",
- pz0 = "⧍",
- lz0 = "⨻",
- Mz0 = "⏢",
- dz0 = "𝒯",
- fz0 = "𝓉",
- zz0 = "Ц",
- Oz0 = "ц",
- hz0 = "Ћ",
- Az0 = "ћ",
- qz0 = "Ŧ",
- gz0 = "ŧ",
- mz0 = "≬",
- Wz0 = "↞",
- Rz0 = "↠",
- yz0 = "Ú",
- Lz0 = "ú",
- vz0 = "↑",
- Ez0 = "↟",
- Tz0 = "⇑",
- _z0 = "⥉",
- xz0 = "Ў",
- Sz0 = "ў",
- wz0 = "Ŭ",
- Nz0 = "ŭ",
- Bz0 = "Û",
- Iz0 = "û",
- Dz0 = "У",
- Cz0 = "у",
- kz0 = "⇅",
- Pz0 = "Ű",
- Xz0 = "ű",
- Fz0 = "⥮",
- Uz0 = "⥾",
- $z0 = "𝔘",
- Hz0 = "𝔲",
- Gz0 = "Ù",
- Vz0 = "ù",
- jz0 = "⥣",
- Kz0 = "↿",
- Yz0 = "↾",
- Qz0 = "▀",
- Jz0 = "⌜",
- Zz0 = "⌜",
- e30 = "⌏",
- t30 = "◸",
- n30 = "Ū",
- i30 = "ū",
- r30 = "¨",
- s30 = "_",
- o30 = "⏟",
- a30 = "⎵",
- c30 = "⏝",
- u30 = "⋃",
- b30 = "⊎",
- p30 = "Ų",
- l30 = "ų",
- M30 = "𝕌",
- d30 = "𝕦",
- f30 = "⤒",
- z30 = "↑",
- O30 = "↑",
- h30 = "⇑",
- A30 = "⇅",
- q30 = "↕",
- g30 = "↕",
- m30 = "⇕",
- W30 = "⥮",
- R30 = "↿",
- y30 = "↾",
- L30 = "⊎",
- v30 = "↖",
- E30 = "↗",
- T30 = "υ",
- _30 = "ϒ",
- x30 = "ϒ",
- S30 = "Υ",
- w30 = "υ",
- N30 = "↥",
- B30 = "⊥",
- I30 = "⇈",
- D30 = "⌝",
- C30 = "⌝",
- k30 = "⌎",
- P30 = "Ů",
- X30 = "ů",
- F30 = "◹",
- U30 = "𝒰",
- $30 = "𝓊",
- H30 = "⋰",
- G30 = "Ũ",
- V30 = "ũ",
- j30 = "▵",
- K30 = "▴",
- Y30 = "⇈",
- Q30 = "Ü",
- J30 = "ü",
- Z30 = "⦧",
- eO0 = "⦜",
- tO0 = "ϵ",
- nO0 = "ϰ",
- iO0 = "∅",
- rO0 = "ϕ",
- sO0 = "ϖ",
- oO0 = "∝",
- aO0 = "↕",
- cO0 = "⇕",
- uO0 = "ϱ",
- bO0 = "ς",
- pO0 = "⊊︀",
- lO0 = "⫋︀",
- MO0 = "⊋︀",
- dO0 = "⫌︀",
- fO0 = "ϑ",
- zO0 = "⊲",
- OO0 = "⊳",
- hO0 = "⫨",
- AO0 = "⫫",
- qO0 = "⫩",
- gO0 = "В",
- mO0 = "в",
- WO0 = "⊢",
- RO0 = "⊨",
- yO0 = "⊩",
- LO0 = "⊫",
- vO0 = "⫦",
- EO0 = "⊻",
- TO0 = "∨",
- _O0 = "⋁",
- xO0 = "≚",
- SO0 = "⋮",
- wO0 = "|",
- NO0 = "‖",
- BO0 = "|",
- IO0 = "‖",
- DO0 = "∣",
- CO0 = "|",
- kO0 = "❘",
- PO0 = "≀",
- XO0 = " ",
- FO0 = "𝔙",
- UO0 = "𝔳",
- $O0 = "⊲",
- HO0 = "⊂⃒",
- GO0 = "⊃⃒",
- VO0 = "𝕍",
- jO0 = "𝕧",
- KO0 = "∝",
- YO0 = "⊳",
- QO0 = "𝒱",
- JO0 = "𝓋",
- ZO0 = "⫋︀",
- eh0 = "⊊︀",
- th0 = "⫌︀",
- nh0 = "⊋︀",
- ih0 = "⊪",
- rh0 = "⦚",
- sh0 = "Ŵ",
- oh0 = "ŵ",
- ah0 = "⩟",
- ch0 = "∧",
- uh0 = "⋀",
- bh0 = "≙",
- ph0 = "℘",
- lh0 = "𝔚",
- Mh0 = "𝔴",
- dh0 = "𝕎",
- fh0 = "𝕨",
- zh0 = "℘",
- Oh0 = "≀",
- hh0 = "≀",
- Ah0 = "𝒲",
- qh0 = "𝓌",
- gh0 = "⋂",
- mh0 = "◯",
- Wh0 = "⋃",
- Rh0 = "▽",
- yh0 = "𝔛",
- Lh0 = "𝔵",
- vh0 = "⟷",
- Eh0 = "⟺",
- Th0 = "Ξ",
- _h0 = "ξ",
- xh0 = "⟵",
- Sh0 = "⟸",
- wh0 = "⟼",
- Nh0 = "⋻",
- Bh0 = "⨀",
- Ih0 = "𝕏",
- Dh0 = "𝕩",
- Ch0 = "⨁",
- kh0 = "⨂",
- Ph0 = "⟶",
- Xh0 = "⟹",
- Fh0 = "𝒳",
- Uh0 = "𝓍",
- $h0 = "⨆",
- Hh0 = "⨄",
- Gh0 = "△",
- Vh0 = "⋁",
- jh0 = "⋀",
- Kh0 = "Ý",
- Yh0 = "ý",
- Qh0 = "Я",
- Jh0 = "я",
- Zh0 = "Ŷ",
- eA0 = "ŷ",
- tA0 = "Ы",
- nA0 = "ы",
- iA0 = "¥",
- rA0 = "𝔜",
- sA0 = "𝔶",
- oA0 = "Ї",
- aA0 = "ї",
- cA0 = "𝕐",
- uA0 = "𝕪",
- bA0 = "𝒴",
- pA0 = "𝓎",
- lA0 = "Ю",
- MA0 = "ю",
- dA0 = "ÿ",
- fA0 = "Ÿ",
- zA0 = "Ź",
- OA0 = "ź",
- hA0 = "Ž",
- AA0 = "ž",
- qA0 = "З",
- gA0 = "з",
- mA0 = "Ż",
- WA0 = "ż",
- RA0 = "ℨ",
- yA0 = "",
- LA0 = "Ζ",
- vA0 = "ζ",
- EA0 = "𝔷",
- TA0 = "ℨ",
- _A0 = "Ж",
- xA0 = "ж",
- SA0 = "⇝",
- wA0 = "𝕫",
- NA0 = "ℤ",
- BA0 = "𝒵",
- IA0 = "𝓏",
- DA0 = "",
- CA0 = "",
- O6 = {
- Aacute: mC,
- aacute: WC,
- Abreve: RC,
- abreve: yC,
- ac: LC,
- acd: vC,
- acE: EC,
- Acirc: TC,
- acirc: _C,
- acute: xC,
- Acy: SC,
- acy: wC,
- AElig: NC,
- aelig: BC,
- af: IC,
- Afr: DC,
- afr: CC,
- Agrave: kC,
- agrave: PC,
- alefsym: XC,
- aleph: FC,
- Alpha: UC,
- alpha: $C,
- Amacr: HC,
- amacr: GC,
- amalg: VC,
- amp: jC,
- AMP: KC,
- andand: YC,
- And: QC,
- and: JC,
- andd: ZC,
- andslope: ek,
- andv: tk,
- ang: nk,
- ange: ik,
- angle: rk,
- angmsdaa: sk,
- angmsdab: ok,
- angmsdac: ak,
- angmsdad: ck,
- angmsdae: uk,
- angmsdaf: bk,
- angmsdag: pk,
- angmsdah: lk,
- angmsd: Mk,
- angrt: dk,
- angrtvb: fk,
- angrtvbd: zk,
- angsph: Ok,
- angst: hk,
- angzarr: Ak,
- Aogon: qk,
- aogon: gk,
- Aopf: mk,
- aopf: Wk,
- apacir: Rk,
- ap: yk,
- apE: Lk,
- ape: vk,
- apid: Ek,
- apos: Tk,
- ApplyFunction: _k,
- approx: xk,
- approxeq: Sk,
- Aring: wk,
- aring: Nk,
- Ascr: Bk,
- ascr: Ik,
- Assign: Dk,
- ast: Ck,
- asymp: kk,
- asympeq: Pk,
- Atilde: Xk,
- atilde: Fk,
- Auml: Uk,
- auml: $k,
- awconint: Hk,
- awint: Gk,
- backcong: Vk,
- backepsilon: jk,
- backprime: Kk,
- backsim: Yk,
- backsimeq: Qk,
- Backslash: Jk,
- Barv: Zk,
- barvee: eP,
- barwed: tP,
- Barwed: nP,
- barwedge: iP,
- bbrk: rP,
- bbrktbrk: sP,
- bcong: oP,
- Bcy: aP,
- bcy: cP,
- bdquo: uP,
- becaus: bP,
- because: pP,
- Because: lP,
- bemptyv: MP,
- bepsi: dP,
- bernou: fP,
- Bernoullis: zP,
- Beta: OP,
- beta: hP,
- beth: AP,
- between: qP,
- Bfr: gP,
- bfr: mP,
- bigcap: WP,
- bigcirc: RP,
- bigcup: yP,
- bigodot: LP,
- bigoplus: vP,
- bigotimes: EP,
- bigsqcup: TP,
- bigstar: _P,
- bigtriangledown: xP,
- bigtriangleup: SP,
- biguplus: wP,
- bigvee: NP,
- bigwedge: BP,
- bkarow: IP,
- blacklozenge: DP,
- blacksquare: CP,
- blacktriangle: kP,
- blacktriangledown: PP,
- blacktriangleleft: XP,
- blacktriangleright: FP,
- blank: UP,
- blk12: $P,
- blk14: HP,
- blk34: GP,
- block: VP,
- bne: jP,
- bnequiv: KP,
- bNot: YP,
- bnot: QP,
- Bopf: JP,
- bopf: ZP,
- bot: eX,
- bottom: tX,
- bowtie: nX,
- boxbox: iX,
- boxdl: rX,
- boxdL: sX,
- boxDl: oX,
- boxDL: aX,
- boxdr: cX,
- boxdR: uX,
- boxDr: bX,
- boxDR: pX,
- boxh: lX,
- boxH: MX,
- boxhd: dX,
- boxHd: fX,
- boxhD: zX,
- boxHD: OX,
- boxhu: hX,
- boxHu: AX,
- boxhU: qX,
- boxHU: gX,
- boxminus: mX,
- boxplus: WX,
- boxtimes: RX,
- boxul: yX,
- boxuL: LX,
- boxUl: vX,
- boxUL: EX,
- boxur: TX,
- boxuR: _X,
- boxUr: xX,
- boxUR: SX,
- boxv: wX,
- boxV: NX,
- boxvh: BX,
- boxvH: IX,
- boxVh: DX,
- boxVH: CX,
- boxvl: kX,
- boxvL: PX,
- boxVl: XX,
- boxVL: FX,
- boxvr: UX,
- boxvR: $X,
- boxVr: HX,
- boxVR: GX,
- bprime: VX,
- breve: jX,
- Breve: KX,
- brvbar: YX,
- bscr: QX,
- Bscr: JX,
- bsemi: ZX,
- bsim: eF,
- bsime: tF,
- bsolb: nF,
- bsol: iF,
- bsolhsub: rF,
- bull: sF,
- bullet: oF,
- bump: aF,
- bumpE: cF,
- bumpe: uF,
- Bumpeq: bF,
- bumpeq: pF,
- Cacute: lF,
- cacute: MF,
- capand: dF,
- capbrcup: fF,
- capcap: zF,
- cap: OF,
- Cap: hF,
- capcup: AF,
- capdot: qF,
- CapitalDifferentialD: gF,
- caps: mF,
- caret: WF,
- caron: RF,
- Cayleys: yF,
- ccaps: LF,
- Ccaron: vF,
- ccaron: EF,
- Ccedil: TF,
- ccedil: _F,
- Ccirc: xF,
- ccirc: SF,
- Cconint: wF,
- ccups: NF,
- ccupssm: BF,
- Cdot: IF,
- cdot: DF,
- cedil: CF,
- Cedilla: kF,
- cemptyv: PF,
- cent: XF,
- centerdot: FF,
- CenterDot: UF,
- cfr: $F,
- Cfr: HF,
- CHcy: GF,
- chcy: VF,
- check: jF,
- checkmark: KF,
- Chi: YF,
- chi: QF,
- circ: JF,
- circeq: ZF,
- circlearrowleft: eU,
- circlearrowright: tU,
- circledast: nU,
- circledcirc: iU,
- circleddash: rU,
- CircleDot: sU,
- circledR: oU,
- circledS: aU,
- CircleMinus: cU,
- CirclePlus: uU,
- CircleTimes: bU,
- cir: pU,
- cirE: lU,
- cire: MU,
- cirfnint: dU,
- cirmid: fU,
- cirscir: zU,
- ClockwiseContourIntegral: OU,
- CloseCurlyDoubleQuote: hU,
- CloseCurlyQuote: AU,
- clubs: qU,
- clubsuit: gU,
- colon: mU,
- Colon: WU,
- Colone: RU,
- colone: yU,
- coloneq: LU,
- comma: vU,
- commat: EU,
- comp: TU,
- compfn: _U,
- complement: xU,
- complexes: SU,
- cong: wU,
- congdot: NU,
- Congruent: BU,
- conint: IU,
- Conint: DU,
- ContourIntegral: CU,
- copf: kU,
- Copf: PU,
- coprod: XU,
- Coproduct: FU,
- copy: UU,
- COPY: $U,
- copysr: HU,
- CounterClockwiseContourIntegral: GU,
- crarr: VU,
- cross: jU,
- Cross: KU,
- Cscr: YU,
- cscr: QU,
- csub: JU,
- csube: ZU,
- csup: e$,
- csupe: t$,
- ctdot: n$,
- cudarrl: i$,
- cudarrr: r$,
- cuepr: s$,
- cuesc: o$,
- cularr: a$,
- cularrp: c$,
- cupbrcap: u$,
- cupcap: b$,
- CupCap: p$,
- cup: l$,
- Cup: M$,
- cupcup: d$,
- cupdot: f$,
- cupor: z$,
- cups: O$,
- curarr: h$,
- curarrm: A$,
- curlyeqprec: q$,
- curlyeqsucc: g$,
- curlyvee: m$,
- curlywedge: W$,
- curren: R$,
- curvearrowleft: y$,
- curvearrowright: L$,
- cuvee: v$,
- cuwed: E$,
- cwconint: T$,
- cwint: _$,
- cylcty: x$,
- dagger: S$,
- Dagger: w$,
- daleth: N$,
- darr: B$,
- Darr: I$,
- dArr: D$,
- dash: C$,
- Dashv: k$,
- dashv: P$,
- dbkarow: X$,
- dblac: F$,
- Dcaron: U$,
- dcaron: $$,
- Dcy: H$,
- dcy: G$,
- ddagger: V$,
- ddarr: j$,
- DD: K$,
- dd: Y$,
- DDotrahd: Q$,
- ddotseq: J$,
- deg: Z$,
- Del: eH,
- Delta: tH,
- delta: nH,
- demptyv: iH,
- dfisht: rH,
- Dfr: sH,
- dfr: oH,
- dHar: aH,
- dharl: cH,
- dharr: uH,
- DiacriticalAcute: bH,
- DiacriticalDot: pH,
- DiacriticalDoubleAcute: lH,
- DiacriticalGrave: MH,
- DiacriticalTilde: dH,
- diam: fH,
- diamond: zH,
- Diamond: OH,
- diamondsuit: hH,
- diams: AH,
- die: qH,
- DifferentialD: gH,
- digamma: mH,
- disin: WH,
- div: RH,
- divide: yH,
- divideontimes: LH,
- divonx: vH,
- DJcy: EH,
- djcy: TH,
- dlcorn: _H,
- dlcrop: xH,
- dollar: SH,
- Dopf: wH,
- dopf: NH,
- Dot: BH,
- dot: IH,
- DotDot: DH,
- doteq: CH,
- doteqdot: kH,
- DotEqual: PH,
- dotminus: XH,
- dotplus: FH,
- dotsquare: UH,
- doublebarwedge: $H,
- DoubleContourIntegral: HH,
- DoubleDot: GH,
- DoubleDownArrow: VH,
- DoubleLeftArrow: jH,
- DoubleLeftRightArrow: KH,
- DoubleLeftTee: YH,
- DoubleLongLeftArrow: QH,
- DoubleLongLeftRightArrow: JH,
- DoubleLongRightArrow: ZH,
- DoubleRightArrow: eG,
- DoubleRightTee: tG,
- DoubleUpArrow: nG,
- DoubleUpDownArrow: iG,
- DoubleVerticalBar: rG,
- DownArrowBar: sG,
- downarrow: oG,
- DownArrow: aG,
- Downarrow: cG,
- DownArrowUpArrow: uG,
- DownBreve: bG,
- downdownarrows: pG,
- downharpoonleft: lG,
- downharpoonright: MG,
- DownLeftRightVector: dG,
- DownLeftTeeVector: fG,
- DownLeftVectorBar: zG,
- DownLeftVector: OG,
- DownRightTeeVector: hG,
- DownRightVectorBar: AG,
- DownRightVector: qG,
- DownTeeArrow: gG,
- DownTee: mG,
- drbkarow: WG,
- drcorn: RG,
- drcrop: yG,
- Dscr: LG,
- dscr: vG,
- DScy: EG,
- dscy: TG,
- dsol: _G,
- Dstrok: xG,
- dstrok: SG,
- dtdot: wG,
- dtri: NG,
- dtrif: BG,
- duarr: IG,
- duhar: DG,
- dwangle: CG,
- DZcy: kG,
- dzcy: PG,
- dzigrarr: XG,
- Eacute: FG,
- eacute: UG,
- easter: $G,
- Ecaron: HG,
- ecaron: GG,
- Ecirc: VG,
- ecirc: jG,
- ecir: KG,
- ecolon: YG,
- Ecy: QG,
- ecy: JG,
- eDDot: ZG,
- Edot: eV,
- edot: tV,
- eDot: nV,
- ee: iV,
- efDot: rV,
- Efr: sV,
- efr: oV,
- eg: aV,
- Egrave: cV,
- egrave: uV,
- egs: bV,
- egsdot: pV,
- el: lV,
- Element: MV,
- elinters: dV,
- ell: fV,
- els: zV,
- elsdot: OV,
- Emacr: hV,
- emacr: AV,
- empty: qV,
- emptyset: gV,
- EmptySmallSquare: mV,
- emptyv: WV,
- EmptyVerySmallSquare: RV,
- emsp13: yV,
- emsp14: LV,
- emsp: vV,
- ENG: EV,
- eng: TV,
- ensp: _V,
- Eogon: xV,
- eogon: SV,
- Eopf: wV,
- eopf: NV,
- epar: BV,
- eparsl: IV,
- eplus: DV,
- epsi: CV,
- Epsilon: kV,
- epsilon: PV,
- epsiv: XV,
- eqcirc: FV,
- eqcolon: UV,
- eqsim: $V,
- eqslantgtr: HV,
- eqslantless: GV,
- Equal: VV,
- equals: jV,
- EqualTilde: KV,
- equest: YV,
- Equilibrium: QV,
- equiv: JV,
- equivDD: ZV,
- eqvparsl: ej,
- erarr: tj,
- erDot: nj,
- escr: ij,
- Escr: rj,
- esdot: sj,
- Esim: oj,
- esim: aj,
- Eta: cj,
- eta: uj,
- ETH: bj,
- eth: pj,
- Euml: lj,
- euml: Mj,
- euro: dj,
- excl: fj,
- exist: zj,
- Exists: Oj,
- expectation: hj,
- exponentiale: Aj,
- ExponentialE: qj,
- fallingdotseq: gj,
- Fcy: mj,
- fcy: Wj,
- female: Rj,
- ffilig: yj,
- fflig: Lj,
- ffllig: vj,
- Ffr: Ej,
- ffr: Tj,
- filig: _j,
- FilledSmallSquare: xj,
- FilledVerySmallSquare: Sj,
- fjlig: wj,
- flat: Nj,
- fllig: Bj,
- fltns: Ij,
- fnof: Dj,
- Fopf: Cj,
- fopf: kj,
- forall: Pj,
- ForAll: Xj,
- fork: Fj,
- forkv: Uj,
- Fouriertrf: $j,
- fpartint: Hj,
- frac12: Gj,
- frac13: Vj,
- frac14: jj,
- frac15: Kj,
- frac16: Yj,
- frac18: Qj,
- frac23: Jj,
- frac25: Zj,
- frac34: eK,
- frac35: tK,
- frac38: nK,
- frac45: iK,
- frac56: rK,
- frac58: sK,
- frac78: oK,
- frasl: aK,
- frown: cK,
- fscr: uK,
- Fscr: bK,
- gacute: pK,
- Gamma: lK,
- gamma: MK,
- Gammad: dK,
- gammad: fK,
- gap: zK,
- Gbreve: OK,
- gbreve: hK,
- Gcedil: AK,
- Gcirc: qK,
- gcirc: gK,
- Gcy: mK,
- gcy: WK,
- Gdot: RK,
- gdot: yK,
- ge: LK,
- gE: vK,
- gEl: EK,
- gel: TK,
- geq: _K,
- geqq: xK,
- geqslant: SK,
- gescc: wK,
- ges: NK,
- gesdot: BK,
- gesdoto: IK,
- gesdotol: DK,
- gesl: CK,
- gesles: kK,
- Gfr: PK,
- gfr: XK,
- gg: FK,
- Gg: UK,
- ggg: $K,
- gimel: HK,
- GJcy: GK,
- gjcy: VK,
- gla: jK,
- gl: KK,
- glE: YK,
- glj: QK,
- gnap: JK,
- gnapprox: ZK,
- gne: eY,
- gnE: tY,
- gneq: nY,
- gneqq: iY,
- gnsim: rY,
- Gopf: sY,
- gopf: oY,
- grave: aY,
- GreaterEqual: cY,
- GreaterEqualLess: uY,
- GreaterFullEqual: bY,
- GreaterGreater: pY,
- GreaterLess: lY,
- GreaterSlantEqual: MY,
- GreaterTilde: dY,
- Gscr: fY,
- gscr: zY,
- gsim: OY,
- gsime: hY,
- gsiml: AY,
- gtcc: qY,
- gtcir: gY,
- gt: mY,
- GT: WY,
- Gt: RY,
- gtdot: yY,
- gtlPar: LY,
- gtquest: vY,
- gtrapprox: EY,
- gtrarr: TY,
- gtrdot: _Y,
- gtreqless: xY,
- gtreqqless: SY,
- gtrless: wY,
- gtrsim: NY,
- gvertneqq: BY,
- gvnE: IY,
- Hacek: DY,
- hairsp: CY,
- half: kY,
- hamilt: PY,
- HARDcy: XY,
- hardcy: FY,
- harrcir: UY,
- harr: $Y,
- hArr: HY,
- harrw: GY,
- Hat: VY,
- hbar: jY,
- Hcirc: KY,
- hcirc: YY,
- hearts: QY,
- heartsuit: JY,
- hellip: ZY,
- hercon: eQ,
- hfr: tQ,
- Hfr: nQ,
- HilbertSpace: iQ,
- hksearow: rQ,
- hkswarow: sQ,
- hoarr: oQ,
- homtht: aQ,
- hookleftarrow: cQ,
- hookrightarrow: uQ,
- hopf: bQ,
- Hopf: pQ,
- horbar: lQ,
- HorizontalLine: MQ,
- hscr: dQ,
- Hscr: fQ,
- hslash: zQ,
- Hstrok: OQ,
- hstrok: hQ,
- HumpDownHump: AQ,
- HumpEqual: qQ,
- hybull: gQ,
- hyphen: mQ,
- Iacute: WQ,
- iacute: RQ,
- ic: yQ,
- Icirc: LQ,
- icirc: vQ,
- Icy: EQ,
- icy: TQ,
- Idot: _Q,
- IEcy: xQ,
- iecy: SQ,
- iexcl: wQ,
- iff: NQ,
- ifr: BQ,
- Ifr: IQ,
- Igrave: DQ,
- igrave: CQ,
- ii: kQ,
- iiiint: PQ,
- iiint: XQ,
- iinfin: FQ,
- iiota: UQ,
- IJlig: $Q,
- ijlig: HQ,
- Imacr: GQ,
- imacr: VQ,
- image: jQ,
- ImaginaryI: KQ,
- imagline: YQ,
- imagpart: QQ,
- imath: JQ,
- Im: ZQ,
- imof: eJ,
- imped: tJ,
- Implies: nJ,
- incare: iJ,
- in: "∈",
- infin: rJ,
- infintie: sJ,
- inodot: oJ,
- intcal: aJ,
- int: cJ,
- Int: uJ,
- integers: bJ,
- Integral: pJ,
- intercal: lJ,
- Intersection: MJ,
- intlarhk: dJ,
- intprod: fJ,
- InvisibleComma: zJ,
- InvisibleTimes: OJ,
- IOcy: hJ,
- iocy: AJ,
- Iogon: qJ,
- iogon: gJ,
- Iopf: mJ,
- iopf: WJ,
- Iota: RJ,
- iota: yJ,
- iprod: LJ,
- iquest: vJ,
- iscr: EJ,
- Iscr: TJ,
- isin: _J,
- isindot: xJ,
- isinE: SJ,
- isins: wJ,
- isinsv: NJ,
- isinv: BJ,
- it: IJ,
- Itilde: DJ,
- itilde: CJ,
- Iukcy: kJ,
- iukcy: PJ,
- Iuml: XJ,
- iuml: FJ,
- Jcirc: UJ,
- jcirc: $J,
- Jcy: HJ,
- jcy: GJ,
- Jfr: VJ,
- jfr: jJ,
- jmath: KJ,
- Jopf: YJ,
- jopf: QJ,
- Jscr: JJ,
- jscr: ZJ,
- Jsercy: eZ,
- jsercy: tZ,
- Jukcy: nZ,
- jukcy: iZ,
- Kappa: rZ,
- kappa: sZ,
- kappav: oZ,
- Kcedil: aZ,
- kcedil: cZ,
- Kcy: uZ,
- kcy: bZ,
- Kfr: pZ,
- kfr: lZ,
- kgreen: MZ,
- KHcy: dZ,
- khcy: fZ,
- KJcy: zZ,
- kjcy: OZ,
- Kopf: hZ,
- kopf: AZ,
- Kscr: qZ,
- kscr: gZ,
- lAarr: mZ,
- Lacute: WZ,
- lacute: RZ,
- laemptyv: yZ,
- lagran: LZ,
- Lambda: vZ,
- lambda: EZ,
- lang: TZ,
- Lang: _Z,
- langd: xZ,
- langle: SZ,
- lap: wZ,
- Laplacetrf: NZ,
- laquo: BZ,
- larrb: IZ,
- larrbfs: DZ,
- larr: CZ,
- Larr: kZ,
- lArr: PZ,
- larrfs: XZ,
- larrhk: FZ,
- larrlp: UZ,
- larrpl: $Z,
- larrsim: HZ,
- larrtl: GZ,
- latail: VZ,
- lAtail: jZ,
- lat: KZ,
- late: YZ,
- lates: QZ,
- lbarr: JZ,
- lBarr: ZZ,
- lbbrk: e00,
- lbrace: t00,
- lbrack: n00,
- lbrke: i00,
- lbrksld: r00,
- lbrkslu: s00,
- Lcaron: o00,
- lcaron: a00,
- Lcedil: c00,
- lcedil: u00,
- lceil: b00,
- lcub: p00,
- Lcy: l00,
- lcy: M00,
- ldca: d00,
- ldquo: f00,
- ldquor: z00,
- ldrdhar: O00,
- ldrushar: h00,
- ldsh: A00,
- le: q00,
- lE: g00,
- LeftAngleBracket: m00,
- LeftArrowBar: W00,
- leftarrow: R00,
- LeftArrow: y00,
- Leftarrow: L00,
- LeftArrowRightArrow: v00,
- leftarrowtail: E00,
- LeftCeiling: T00,
- LeftDoubleBracket: _00,
- LeftDownTeeVector: x00,
- LeftDownVectorBar: S00,
- LeftDownVector: w00,
- LeftFloor: N00,
- leftharpoondown: B00,
- leftharpoonup: I00,
- leftleftarrows: D00,
- leftrightarrow: C00,
- LeftRightArrow: k00,
- Leftrightarrow: P00,
- leftrightarrows: X00,
- leftrightharpoons: F00,
- leftrightsquigarrow: U00,
- LeftRightVector: $00,
- LeftTeeArrow: H00,
- LeftTee: G00,
- LeftTeeVector: V00,
- leftthreetimes: j00,
- LeftTriangleBar: K00,
- LeftTriangle: Y00,
- LeftTriangleEqual: Q00,
- LeftUpDownVector: J00,
- LeftUpTeeVector: Z00,
- LeftUpVectorBar: e10,
- LeftUpVector: t10,
- LeftVectorBar: n10,
- LeftVector: i10,
- lEg: r10,
- leg: s10,
- leq: o10,
- leqq: a10,
- leqslant: c10,
- lescc: u10,
- les: b10,
- lesdot: p10,
- lesdoto: l10,
- lesdotor: M10,
- lesg: d10,
- lesges: f10,
- lessapprox: z10,
- lessdot: O10,
- lesseqgtr: h10,
- lesseqqgtr: A10,
- LessEqualGreater: q10,
- LessFullEqual: g10,
- LessGreater: m10,
- lessgtr: W10,
- LessLess: R10,
- lesssim: y10,
- LessSlantEqual: L10,
- LessTilde: v10,
- lfisht: E10,
- lfloor: T10,
- Lfr: _10,
- lfr: x10,
- lg: S10,
- lgE: w10,
- lHar: N10,
- lhard: B10,
- lharu: I10,
- lharul: D10,
- lhblk: C10,
- LJcy: k10,
- ljcy: P10,
- llarr: X10,
- ll: F10,
- Ll: U10,
- llcorner: $10,
- Lleftarrow: H10,
- llhard: G10,
- lltri: V10,
- Lmidot: j10,
- lmidot: K10,
- lmoustache: Y10,
- lmoust: Q10,
- lnap: J10,
- lnapprox: Z10,
- lne: ee0,
- lnE: te0,
- lneq: ne0,
- lneqq: ie0,
- lnsim: re0,
- loang: se0,
- loarr: oe0,
- lobrk: ae0,
- longleftarrow: ce0,
- LongLeftArrow: ue0,
- Longleftarrow: be0,
- longleftrightarrow: pe0,
- LongLeftRightArrow: le0,
- Longleftrightarrow: Me0,
- longmapsto: de0,
- longrightarrow: fe0,
- LongRightArrow: ze0,
- Longrightarrow: Oe0,
- looparrowleft: he0,
- looparrowright: Ae0,
- lopar: qe0,
- Lopf: ge0,
- lopf: me0,
- loplus: We0,
- lotimes: Re0,
- lowast: ye0,
- lowbar: Le0,
- LowerLeftArrow: ve0,
- LowerRightArrow: Ee0,
- loz: Te0,
- lozenge: _e0,
- lozf: xe0,
- lpar: Se0,
- lparlt: we0,
- lrarr: Ne0,
- lrcorner: Be0,
- lrhar: Ie0,
- lrhard: De0,
- lrm: Ce0,
- lrtri: ke0,
- lsaquo: Pe0,
- lscr: Xe0,
- Lscr: Fe0,
- lsh: Ue0,
- Lsh: $e0,
- lsim: He0,
- lsime: Ge0,
- lsimg: Ve0,
- lsqb: je0,
- lsquo: Ke0,
- lsquor: Ye0,
- Lstrok: Qe0,
- lstrok: Je0,
- ltcc: Ze0,
- ltcir: et0,
- lt: tt0,
- LT: nt0,
- Lt: it0,
- ltdot: rt0,
- lthree: st0,
- ltimes: ot0,
- ltlarr: at0,
- ltquest: ct0,
- ltri: ut0,
- ltrie: bt0,
- ltrif: pt0,
- ltrPar: lt0,
- lurdshar: Mt0,
- luruhar: dt0,
- lvertneqq: ft0,
- lvnE: zt0,
- macr: Ot0,
- male: ht0,
- malt: At0,
- maltese: qt0,
- Map: "⤅",
- map: gt0,
- mapsto: mt0,
- mapstodown: Wt0,
- mapstoleft: Rt0,
- mapstoup: yt0,
- marker: Lt0,
- mcomma: vt0,
- Mcy: Et0,
- mcy: Tt0,
- mdash: _t0,
- mDDot: xt0,
- measuredangle: St0,
- MediumSpace: wt0,
- Mellintrf: Nt0,
- Mfr: Bt0,
- mfr: It0,
- mho: Dt0,
- micro: Ct0,
- midast: kt0,
- midcir: Pt0,
- mid: Xt0,
- middot: Ft0,
- minusb: Ut0,
- minus: $t0,
- minusd: Ht0,
- minusdu: Gt0,
- MinusPlus: Vt0,
- mlcp: jt0,
- mldr: Kt0,
- mnplus: Yt0,
- models: Qt0,
- Mopf: Jt0,
- mopf: Zt0,
- mp: en0,
- mscr: tn0,
- Mscr: nn0,
- mstpos: in0,
- Mu: rn0,
- mu: sn0,
- multimap: on0,
- mumap: an0,
- nabla: cn0,
- Nacute: un0,
- nacute: bn0,
- nang: pn0,
- nap: ln0,
- napE: Mn0,
- napid: dn0,
- napos: fn0,
- napprox: zn0,
- natural: On0,
- naturals: hn0,
- natur: An0,
- nbsp: qn0,
- nbump: gn0,
- nbumpe: mn0,
- ncap: Wn0,
- Ncaron: Rn0,
- ncaron: yn0,
- Ncedil: Ln0,
- ncedil: vn0,
- ncong: En0,
- ncongdot: Tn0,
- ncup: _n0,
- Ncy: xn0,
- ncy: Sn0,
- ndash: wn0,
- nearhk: Nn0,
- nearr: Bn0,
- neArr: In0,
- nearrow: Dn0,
- ne: Cn0,
- nedot: kn0,
- NegativeMediumSpace: Pn0,
- NegativeThickSpace: Xn0,
- NegativeThinSpace: Fn0,
- NegativeVeryThinSpace: Un0,
- nequiv: $n0,
- nesear: Hn0,
- nesim: Gn0,
- NestedGreaterGreater: Vn0,
- NestedLessLess: jn0,
- NewLine: Kn0,
- nexist: Yn0,
- nexists: Qn0,
- Nfr: Jn0,
- nfr: Zn0,
- ngE: ei0,
- nge: ti0,
- ngeq: ni0,
- ngeqq: ii0,
- ngeqslant: ri0,
- nges: si0,
- nGg: oi0,
- ngsim: ai0,
- nGt: ci0,
- ngt: ui0,
- ngtr: bi0,
- nGtv: pi0,
- nharr: li0,
- nhArr: Mi0,
- nhpar: di0,
- ni: fi0,
- nis: zi0,
- nisd: Oi0,
- niv: hi0,
- NJcy: Ai0,
- njcy: qi0,
- nlarr: gi0,
- nlArr: mi0,
- nldr: Wi0,
- nlE: Ri0,
- nle: yi0,
- nleftarrow: Li0,
- nLeftarrow: vi0,
- nleftrightarrow: Ei0,
- nLeftrightarrow: Ti0,
- nleq: _i0,
- nleqq: xi0,
- nleqslant: Si0,
- nles: wi0,
- nless: Ni0,
- nLl: Bi0,
- nlsim: Ii0,
- nLt: Di0,
- nlt: Ci0,
- nltri: ki0,
- nltrie: Pi0,
- nLtv: Xi0,
- nmid: Fi0,
- NoBreak: Ui0,
- NonBreakingSpace: $i0,
- nopf: Hi0,
- Nopf: Gi0,
- Not: Vi0,
- not: ji0,
- NotCongruent: Ki0,
- NotCupCap: Yi0,
- NotDoubleVerticalBar: Qi0,
- NotElement: Ji0,
- NotEqual: Zi0,
- NotEqualTilde: er0,
- NotExists: tr0,
- NotGreater: nr0,
- NotGreaterEqual: ir0,
- NotGreaterFullEqual: rr0,
- NotGreaterGreater: sr0,
- NotGreaterLess: or0,
- NotGreaterSlantEqual: ar0,
- NotGreaterTilde: cr0,
- NotHumpDownHump: ur0,
- NotHumpEqual: br0,
- notin: pr0,
- notindot: lr0,
- notinE: Mr0,
- notinva: dr0,
- notinvb: fr0,
- notinvc: zr0,
- NotLeftTriangleBar: Or0,
- NotLeftTriangle: hr0,
- NotLeftTriangleEqual: Ar0,
- NotLess: qr0,
- NotLessEqual: gr0,
- NotLessGreater: mr0,
- NotLessLess: Wr0,
- NotLessSlantEqual: Rr0,
- NotLessTilde: yr0,
- NotNestedGreaterGreater: Lr0,
- NotNestedLessLess: vr0,
- notni: Er0,
- notniva: Tr0,
- notnivb: _r0,
- notnivc: xr0,
- NotPrecedes: Sr0,
- NotPrecedesEqual: wr0,
- NotPrecedesSlantEqual: Nr0,
- NotReverseElement: Br0,
- NotRightTriangleBar: Ir0,
- NotRightTriangle: Dr0,
- NotRightTriangleEqual: Cr0,
- NotSquareSubset: kr0,
- NotSquareSubsetEqual: Pr0,
- NotSquareSuperset: Xr0,
- NotSquareSupersetEqual: Fr0,
- NotSubset: Ur0,
- NotSubsetEqual: $r0,
- NotSucceeds: Hr0,
- NotSucceedsEqual: Gr0,
- NotSucceedsSlantEqual: Vr0,
- NotSucceedsTilde: jr0,
- NotSuperset: Kr0,
- NotSupersetEqual: Yr0,
- NotTilde: Qr0,
- NotTildeEqual: Jr0,
- NotTildeFullEqual: Zr0,
- NotTildeTilde: es0,
- NotVerticalBar: ts0,
- nparallel: ns0,
- npar: is0,
- nparsl: rs0,
- npart: ss0,
- npolint: os0,
- npr: as0,
- nprcue: cs0,
- nprec: us0,
- npreceq: bs0,
- npre: ps0,
- nrarrc: ls0,
- nrarr: Ms0,
- nrArr: ds0,
- nrarrw: fs0,
- nrightarrow: zs0,
- nRightarrow: Os0,
- nrtri: hs0,
- nrtrie: As0,
- nsc: qs0,
- nsccue: gs0,
- nsce: ms0,
- Nscr: Ws0,
- nscr: Rs0,
- nshortmid: ys0,
- nshortparallel: Ls0,
- nsim: vs0,
- nsime: Es0,
- nsimeq: Ts0,
- nsmid: _s0,
- nspar: xs0,
- nsqsube: Ss0,
- nsqsupe: ws0,
- nsub: Ns0,
- nsubE: Bs0,
- nsube: Is0,
- nsubset: Ds0,
- nsubseteq: Cs0,
- nsubseteqq: ks0,
- nsucc: Ps0,
- nsucceq: Xs0,
- nsup: Fs0,
- nsupE: Us0,
- nsupe: $s0,
- nsupset: Hs0,
- nsupseteq: Gs0,
- nsupseteqq: Vs0,
- ntgl: js0,
- Ntilde: Ks0,
- ntilde: Ys0,
- ntlg: Qs0,
- ntriangleleft: Js0,
- ntrianglelefteq: Zs0,
- ntriangleright: eo0,
- ntrianglerighteq: to0,
- Nu: no0,
- nu: io0,
- num: ro0,
- numero: so0,
- numsp: oo0,
- nvap: ao0,
- nvdash: co0,
- nvDash: uo0,
- nVdash: bo0,
- nVDash: po0,
- nvge: lo0,
- nvgt: Mo0,
- nvHarr: do0,
- nvinfin: fo0,
- nvlArr: zo0,
- nvle: Oo0,
- nvlt: ho0,
- nvltrie: Ao0,
- nvrArr: qo0,
- nvrtrie: go0,
- nvsim: mo0,
- nwarhk: Wo0,
- nwarr: Ro0,
- nwArr: yo0,
- nwarrow: Lo0,
- nwnear: vo0,
- Oacute: Eo0,
- oacute: To0,
- oast: _o0,
- Ocirc: xo0,
- ocirc: So0,
- ocir: wo0,
- Ocy: No0,
- ocy: Bo0,
- odash: Io0,
- Odblac: Do0,
- odblac: Co0,
- odiv: ko0,
- odot: Po0,
- odsold: Xo0,
- OElig: Fo0,
- oelig: Uo0,
- ofcir: $o0,
- Ofr: Ho0,
- ofr: Go0,
- ogon: Vo0,
- Ograve: jo0,
- ograve: Ko0,
- ogt: Yo0,
- ohbar: Qo0,
- ohm: Jo0,
- oint: Zo0,
- olarr: ea0,
- olcir: ta0,
- olcross: na0,
- oline: ia0,
- olt: ra0,
- Omacr: sa0,
- omacr: oa0,
- Omega: aa0,
- omega: ca0,
- Omicron: ua0,
- omicron: ba0,
- omid: pa0,
- ominus: la0,
- Oopf: Ma0,
- oopf: da0,
- opar: fa0,
- OpenCurlyDoubleQuote: za0,
- OpenCurlyQuote: Oa0,
- operp: ha0,
- oplus: Aa0,
- orarr: qa0,
- Or: ga0,
- or: ma0,
- ord: Wa0,
- order: Ra0,
- orderof: ya0,
- ordf: La0,
- ordm: va0,
- origof: Ea0,
- oror: Ta0,
- orslope: _a0,
- orv: xa0,
- oS: Sa0,
- Oscr: wa0,
- oscr: Na0,
- Oslash: Ba0,
- oslash: Ia0,
- osol: Da0,
- Otilde: Ca0,
- otilde: ka0,
- otimesas: Pa0,
- Otimes: Xa0,
- otimes: Fa0,
- Ouml: Ua0,
- ouml: $a0,
- ovbar: Ha0,
- OverBar: Ga0,
- OverBrace: Va0,
- OverBracket: ja0,
- OverParenthesis: Ka0,
- para: Ya0,
- parallel: Qa0,
- par: Ja0,
- parsim: Za0,
- parsl: ec0,
- part: tc0,
- PartialD: nc0,
- Pcy: ic0,
- pcy: rc0,
- percnt: sc0,
- period: oc0,
- permil: ac0,
- perp: cc0,
- pertenk: uc0,
- Pfr: bc0,
- pfr: pc0,
- Phi: lc0,
- phi: Mc0,
- phiv: dc0,
- phmmat: fc0,
- phone: zc0,
- Pi: Oc0,
- pi: hc0,
- pitchfork: Ac0,
- piv: qc0,
- planck: gc0,
- planckh: mc0,
- plankv: Wc0,
- plusacir: Rc0,
- plusb: yc0,
- pluscir: Lc0,
- plus: vc0,
- plusdo: Ec0,
- plusdu: Tc0,
- pluse: _c0,
- PlusMinus: xc0,
- plusmn: Sc0,
- plussim: wc0,
- plustwo: Nc0,
- pm: Bc0,
- Poincareplane: Ic0,
- pointint: Dc0,
- popf: Cc0,
- Popf: kc0,
- pound: Pc0,
- prap: Xc0,
- Pr: Fc0,
- pr: Uc0,
- prcue: $c0,
- precapprox: Hc0,
- prec: Gc0,
- preccurlyeq: Vc0,
- Precedes: jc0,
- PrecedesEqual: Kc0,
- PrecedesSlantEqual: Yc0,
- PrecedesTilde: Qc0,
- preceq: Jc0,
- precnapprox: Zc0,
- precneqq: e20,
- precnsim: t20,
- pre: n20,
- prE: i20,
- precsim: r20,
- prime: s20,
- Prime: o20,
- primes: a20,
- prnap: c20,
- prnE: u20,
- prnsim: b20,
- prod: p20,
- Product: l20,
- profalar: M20,
- profline: d20,
- profsurf: f20,
- prop: z20,
- Proportional: O20,
- Proportion: h20,
- propto: A20,
- prsim: q20,
- prurel: g20,
- Pscr: m20,
- pscr: W20,
- Psi: R20,
- psi: y20,
- puncsp: L20,
- Qfr: v20,
- qfr: E20,
- qint: T20,
- qopf: _20,
- Qopf: x20,
- qprime: S20,
- Qscr: w20,
- qscr: N20,
- quaternions: B20,
- quatint: I20,
- quest: D20,
- questeq: C20,
- quot: k20,
- QUOT: P20,
- rAarr: X20,
- race: F20,
- Racute: U20,
- racute: $20,
- radic: H20,
- raemptyv: G20,
- rang: V20,
- Rang: j20,
- rangd: K20,
- range: Y20,
- rangle: Q20,
- raquo: J20,
- rarrap: Z20,
- rarrb: eu0,
- rarrbfs: tu0,
- rarrc: nu0,
- rarr: iu0,
- Rarr: ru0,
- rArr: su0,
- rarrfs: ou0,
- rarrhk: au0,
- rarrlp: cu0,
- rarrpl: uu0,
- rarrsim: bu0,
- Rarrtl: pu0,
- rarrtl: lu0,
- rarrw: Mu0,
- ratail: du0,
- rAtail: fu0,
- ratio: zu0,
- rationals: Ou0,
- rbarr: hu0,
- rBarr: Au0,
- RBarr: qu0,
- rbbrk: gu0,
- rbrace: mu0,
- rbrack: Wu0,
- rbrke: Ru0,
- rbrksld: yu0,
- rbrkslu: Lu0,
- Rcaron: vu0,
- rcaron: Eu0,
- Rcedil: Tu0,
- rcedil: _u0,
- rceil: xu0,
- rcub: Su0,
- Rcy: wu0,
- rcy: Nu0,
- rdca: Bu0,
- rdldhar: Iu0,
- rdquo: Du0,
- rdquor: Cu0,
- rdsh: ku0,
- real: Pu0,
- realine: Xu0,
- realpart: Fu0,
- reals: Uu0,
- Re: $u0,
- rect: Hu0,
- reg: Gu0,
- REG: Vu0,
- ReverseElement: ju0,
- ReverseEquilibrium: Ku0,
- ReverseUpEquilibrium: Yu0,
- rfisht: Qu0,
- rfloor: Ju0,
- rfr: Zu0,
- Rfr: eb0,
- rHar: tb0,
- rhard: nb0,
- rharu: ib0,
- rharul: rb0,
- Rho: sb0,
- rho: ob0,
- rhov: ab0,
- RightAngleBracket: cb0,
- RightArrowBar: ub0,
- rightarrow: bb0,
- RightArrow: pb0,
- Rightarrow: lb0,
- RightArrowLeftArrow: Mb0,
- rightarrowtail: db0,
- RightCeiling: fb0,
- RightDoubleBracket: zb0,
- RightDownTeeVector: Ob0,
- RightDownVectorBar: hb0,
- RightDownVector: Ab0,
- RightFloor: qb0,
- rightharpoondown: gb0,
- rightharpoonup: mb0,
- rightleftarrows: Wb0,
- rightleftharpoons: Rb0,
- rightrightarrows: yb0,
- rightsquigarrow: Lb0,
- RightTeeArrow: vb0,
- RightTee: Eb0,
- RightTeeVector: Tb0,
- rightthreetimes: _b0,
- RightTriangleBar: xb0,
- RightTriangle: Sb0,
- RightTriangleEqual: wb0,
- RightUpDownVector: Nb0,
- RightUpTeeVector: Bb0,
- RightUpVectorBar: Ib0,
- RightUpVector: Db0,
- RightVectorBar: Cb0,
- RightVector: kb0,
- ring: Pb0,
- risingdotseq: Xb0,
- rlarr: Fb0,
- rlhar: Ub0,
- rlm: $b0,
- rmoustache: Hb0,
- rmoust: Gb0,
- rnmid: Vb0,
- roang: jb0,
- roarr: Kb0,
- robrk: Yb0,
- ropar: Qb0,
- ropf: Jb0,
- Ropf: Zb0,
- roplus: ep0,
- rotimes: tp0,
- RoundImplies: np0,
- rpar: ip0,
- rpargt: rp0,
- rppolint: sp0,
- rrarr: op0,
- Rrightarrow: ap0,
- rsaquo: cp0,
- rscr: up0,
- Rscr: bp0,
- rsh: pp0,
- Rsh: lp0,
- rsqb: Mp0,
- rsquo: dp0,
- rsquor: fp0,
- rthree: zp0,
- rtimes: Op0,
- rtri: hp0,
- rtrie: Ap0,
- rtrif: qp0,
- rtriltri: gp0,
- RuleDelayed: mp0,
- ruluhar: Wp0,
- rx: Rp0,
- Sacute: yp0,
- sacute: Lp0,
- sbquo: vp0,
- scap: Ep0,
- Scaron: Tp0,
- scaron: _p0,
- Sc: xp0,
- sc: Sp0,
- sccue: wp0,
- sce: Np0,
- scE: Bp0,
- Scedil: Ip0,
- scedil: Dp0,
- Scirc: Cp0,
- scirc: kp0,
- scnap: Pp0,
- scnE: Xp0,
- scnsim: Fp0,
- scpolint: Up0,
- scsim: $p0,
- Scy: Hp0,
- scy: Gp0,
- sdotb: Vp0,
- sdot: jp0,
- sdote: Kp0,
- searhk: Yp0,
- searr: Qp0,
- seArr: Jp0,
- searrow: Zp0,
- sect: el0,
- semi: tl0,
- seswar: nl0,
- setminus: il0,
- setmn: rl0,
- sext: sl0,
- Sfr: ol0,
- sfr: al0,
- sfrown: cl0,
- sharp: ul0,
- SHCHcy: bl0,
- shchcy: pl0,
- SHcy: ll0,
- shcy: Ml0,
- ShortDownArrow: dl0,
- ShortLeftArrow: fl0,
- shortmid: zl0,
- shortparallel: Ol0,
- ShortRightArrow: hl0,
- ShortUpArrow: Al0,
- shy: ql0,
- Sigma: gl0,
- sigma: ml0,
- sigmaf: Wl0,
- sigmav: Rl0,
- sim: yl0,
- simdot: Ll0,
- sime: vl0,
- simeq: El0,
- simg: Tl0,
- simgE: _l0,
- siml: xl0,
- simlE: Sl0,
- simne: wl0,
- simplus: Nl0,
- simrarr: Bl0,
- slarr: Il0,
- SmallCircle: Dl0,
- smallsetminus: Cl0,
- smashp: kl0,
- smeparsl: Pl0,
- smid: Xl0,
- smile: Fl0,
- smt: Ul0,
- smte: $l0,
- smtes: Hl0,
- SOFTcy: Gl0,
- softcy: Vl0,
- solbar: jl0,
- solb: Kl0,
- sol: Yl0,
- Sopf: Ql0,
- sopf: Jl0,
- spades: Zl0,
- spadesuit: eM0,
- spar: tM0,
- sqcap: nM0,
- sqcaps: iM0,
- sqcup: rM0,
- sqcups: sM0,
- Sqrt: oM0,
- sqsub: aM0,
- sqsube: cM0,
- sqsubset: uM0,
- sqsubseteq: bM0,
- sqsup: pM0,
- sqsupe: lM0,
- sqsupset: MM0,
- sqsupseteq: dM0,
- square: fM0,
- Square: zM0,
- SquareIntersection: OM0,
- SquareSubset: hM0,
- SquareSubsetEqual: AM0,
- SquareSuperset: qM0,
- SquareSupersetEqual: gM0,
- SquareUnion: mM0,
- squarf: WM0,
- squ: RM0,
- squf: yM0,
- srarr: LM0,
- Sscr: vM0,
- sscr: EM0,
- ssetmn: TM0,
- ssmile: _M0,
- sstarf: xM0,
- Star: SM0,
- star: wM0,
- starf: NM0,
- straightepsilon: BM0,
- straightphi: IM0,
- strns: DM0,
- sub: CM0,
- Sub: kM0,
- subdot: PM0,
- subE: XM0,
- sube: FM0,
- subedot: UM0,
- submult: $M0,
- subnE: HM0,
- subne: GM0,
- subplus: VM0,
- subrarr: jM0,
- subset: KM0,
- Subset: YM0,
- subseteq: QM0,
- subseteqq: JM0,
- SubsetEqual: ZM0,
- subsetneq: ed0,
- subsetneqq: td0,
- subsim: nd0,
- subsub: id0,
- subsup: rd0,
- succapprox: sd0,
- succ: od0,
- succcurlyeq: ad0,
- Succeeds: cd0,
- SucceedsEqual: ud0,
- SucceedsSlantEqual: bd0,
- SucceedsTilde: pd0,
- succeq: ld0,
- succnapprox: Md0,
- succneqq: dd0,
- succnsim: fd0,
- succsim: zd0,
- SuchThat: Od0,
- sum: hd0,
- Sum: Ad0,
- sung: qd0,
- sup1: gd0,
- sup2: md0,
- sup3: Wd0,
- sup: Rd0,
- Sup: yd0,
- supdot: Ld0,
- supdsub: vd0,
- supE: Ed0,
- supe: Td0,
- supedot: _d0,
- Superset: xd0,
- SupersetEqual: Sd0,
- suphsol: wd0,
- suphsub: Nd0,
- suplarr: Bd0,
- supmult: Id0,
- supnE: Dd0,
- supne: Cd0,
- supplus: kd0,
- supset: Pd0,
- Supset: Xd0,
- supseteq: Fd0,
- supseteqq: Ud0,
- supsetneq: $d0,
- supsetneqq: Hd0,
- supsim: Gd0,
- supsub: Vd0,
- supsup: jd0,
- swarhk: Kd0,
- swarr: Yd0,
- swArr: Qd0,
- swarrow: Jd0,
- swnwar: Zd0,
- szlig: ef0,
- Tab: tf0,
- target: nf0,
- Tau: if0,
- tau: rf0,
- tbrk: sf0,
- Tcaron: of0,
- tcaron: af0,
- Tcedil: cf0,
- tcedil: uf0,
- Tcy: bf0,
- tcy: pf0,
- tdot: lf0,
- telrec: Mf0,
- Tfr: df0,
- tfr: ff0,
- there4: zf0,
- therefore: Of0,
- Therefore: hf0,
- Theta: Af0,
- theta: qf0,
- thetasym: gf0,
- thetav: mf0,
- thickapprox: Wf0,
- thicksim: Rf0,
- ThickSpace: yf0,
- ThinSpace: Lf0,
- thinsp: vf0,
- thkap: Ef0,
- thksim: Tf0,
- THORN: _f0,
- thorn: xf0,
- tilde: Sf0,
- Tilde: wf0,
- TildeEqual: Nf0,
- TildeFullEqual: Bf0,
- TildeTilde: If0,
- timesbar: Df0,
- timesb: Cf0,
- times: kf0,
- timesd: Pf0,
- tint: Xf0,
- toea: Ff0,
- topbot: Uf0,
- topcir: $f0,
- top: Hf0,
- Topf: Gf0,
- topf: Vf0,
- topfork: jf0,
- tosa: Kf0,
- tprime: Yf0,
- trade: Qf0,
- TRADE: Jf0,
- triangle: Zf0,
- triangledown: ez0,
- triangleleft: tz0,
- trianglelefteq: nz0,
- triangleq: iz0,
- triangleright: rz0,
- trianglerighteq: sz0,
- tridot: oz0,
- trie: az0,
- triminus: cz0,
- TripleDot: uz0,
- triplus: bz0,
- trisb: pz0,
- tritime: lz0,
- trpezium: Mz0,
- Tscr: dz0,
- tscr: fz0,
- TScy: zz0,
- tscy: Oz0,
- TSHcy: hz0,
- tshcy: Az0,
- Tstrok: qz0,
- tstrok: gz0,
- twixt: mz0,
- twoheadleftarrow: Wz0,
- twoheadrightarrow: Rz0,
- Uacute: yz0,
- uacute: Lz0,
- uarr: vz0,
- Uarr: Ez0,
- uArr: Tz0,
- Uarrocir: _z0,
- Ubrcy: xz0,
- ubrcy: Sz0,
- Ubreve: wz0,
- ubreve: Nz0,
- Ucirc: Bz0,
- ucirc: Iz0,
- Ucy: Dz0,
- ucy: Cz0,
- udarr: kz0,
- Udblac: Pz0,
- udblac: Xz0,
- udhar: Fz0,
- ufisht: Uz0,
- Ufr: $z0,
- ufr: Hz0,
- Ugrave: Gz0,
- ugrave: Vz0,
- uHar: jz0,
- uharl: Kz0,
- uharr: Yz0,
- uhblk: Qz0,
- ulcorn: Jz0,
- ulcorner: Zz0,
- ulcrop: e30,
- ultri: t30,
- Umacr: n30,
- umacr: i30,
- uml: r30,
- UnderBar: s30,
- UnderBrace: o30,
- UnderBracket: a30,
- UnderParenthesis: c30,
- Union: u30,
- UnionPlus: b30,
- Uogon: p30,
- uogon: l30,
- Uopf: M30,
- uopf: d30,
- UpArrowBar: f30,
- uparrow: z30,
- UpArrow: O30,
- Uparrow: h30,
- UpArrowDownArrow: A30,
- updownarrow: q30,
- UpDownArrow: g30,
- Updownarrow: m30,
- UpEquilibrium: W30,
- upharpoonleft: R30,
- upharpoonright: y30,
- uplus: L30,
- UpperLeftArrow: v30,
- UpperRightArrow: E30,
- upsi: T30,
- Upsi: _30,
- upsih: x30,
- Upsilon: S30,
- upsilon: w30,
- UpTeeArrow: N30,
- UpTee: B30,
- upuparrows: I30,
- urcorn: D30,
- urcorner: C30,
- urcrop: k30,
- Uring: P30,
- uring: X30,
- urtri: F30,
- Uscr: U30,
- uscr: $30,
- utdot: H30,
- Utilde: G30,
- utilde: V30,
- utri: j30,
- utrif: K30,
- uuarr: Y30,
- Uuml: Q30,
- uuml: J30,
- uwangle: Z30,
- vangrt: eO0,
- varepsilon: tO0,
- varkappa: nO0,
- varnothing: iO0,
- varphi: rO0,
- varpi: sO0,
- varpropto: oO0,
- varr: aO0,
- vArr: cO0,
- varrho: uO0,
- varsigma: bO0,
- varsubsetneq: pO0,
- varsubsetneqq: lO0,
- varsupsetneq: MO0,
- varsupsetneqq: dO0,
- vartheta: fO0,
- vartriangleleft: zO0,
- vartriangleright: OO0,
- vBar: hO0,
- Vbar: AO0,
- vBarv: qO0,
- Vcy: gO0,
- vcy: mO0,
- vdash: WO0,
- vDash: RO0,
- Vdash: yO0,
- VDash: LO0,
- Vdashl: vO0,
- veebar: EO0,
- vee: TO0,
- Vee: _O0,
- veeeq: xO0,
- vellip: SO0,
- verbar: wO0,
- Verbar: NO0,
- vert: BO0,
- Vert: IO0,
- VerticalBar: DO0,
- VerticalLine: CO0,
- VerticalSeparator: kO0,
- VerticalTilde: PO0,
- VeryThinSpace: XO0,
- Vfr: FO0,
- vfr: UO0,
- vltri: $O0,
- vnsub: HO0,
- vnsup: GO0,
- Vopf: VO0,
- vopf: jO0,
- vprop: KO0,
- vrtri: YO0,
- Vscr: QO0,
- vscr: JO0,
- vsubnE: ZO0,
- vsubne: eh0,
- vsupnE: th0,
- vsupne: nh0,
- Vvdash: ih0,
- vzigzag: rh0,
- Wcirc: sh0,
- wcirc: oh0,
- wedbar: ah0,
- wedge: ch0,
- Wedge: uh0,
- wedgeq: bh0,
- weierp: ph0,
- Wfr: lh0,
- wfr: Mh0,
- Wopf: dh0,
- wopf: fh0,
- wp: zh0,
- wr: Oh0,
- wreath: hh0,
- Wscr: Ah0,
- wscr: qh0,
- xcap: gh0,
- xcirc: mh0,
- xcup: Wh0,
- xdtri: Rh0,
- Xfr: yh0,
- xfr: Lh0,
- xharr: vh0,
- xhArr: Eh0,
- Xi: Th0,
- xi: _h0,
- xlarr: xh0,
- xlArr: Sh0,
- xmap: wh0,
- xnis: Nh0,
- xodot: Bh0,
- Xopf: Ih0,
- xopf: Dh0,
- xoplus: Ch0,
- xotime: kh0,
- xrarr: Ph0,
- xrArr: Xh0,
- Xscr: Fh0,
- xscr: Uh0,
- xsqcup: $h0,
- xuplus: Hh0,
- xutri: Gh0,
- xvee: Vh0,
- xwedge: jh0,
- Yacute: Kh0,
- yacute: Yh0,
- YAcy: Qh0,
- yacy: Jh0,
- Ycirc: Zh0,
- ycirc: eA0,
- Ycy: tA0,
- ycy: nA0,
- yen: iA0,
- Yfr: rA0,
- yfr: sA0,
- YIcy: oA0,
- yicy: aA0,
- Yopf: cA0,
- yopf: uA0,
- Yscr: bA0,
- yscr: pA0,
- YUcy: lA0,
- yucy: MA0,
- yuml: dA0,
- Yuml: fA0,
- Zacute: zA0,
- zacute: OA0,
- Zcaron: hA0,
- zcaron: AA0,
- Zcy: qA0,
- zcy: gA0,
- Zdot: mA0,
- zdot: WA0,
- zeetrf: RA0,
- ZeroWidthSpace: yA0,
- Zeta: LA0,
- zeta: vA0,
- zfr: EA0,
- Zfr: TA0,
- ZHcy: _A0,
- zhcy: xA0,
- zigrarr: SA0,
- zopf: wA0,
- Zopf: NA0,
- Zscr: BA0,
- zscr: IA0,
- zwj: DA0,
- zwnj: CA0,
- },
- kA0 = "Á",
- PA0 = "á",
- XA0 = "Â",
- FA0 = "â",
- UA0 = "´",
- $A0 = "Æ",
- HA0 = "æ",
- GA0 = "À",
- VA0 = "à",
- jA0 = "&",
- KA0 = "&",
- YA0 = "Å",
- QA0 = "å",
- JA0 = "Ã",
- ZA0 = "ã",
- e40 = "Ä",
- t40 = "ä",
- n40 = "¦",
- i40 = "Ç",
- r40 = "ç",
- s40 = "¸",
- o40 = "¢",
- a40 = "©",
- c40 = "©",
- u40 = "¤",
- b40 = "°",
- p40 = "÷",
- l40 = "É",
- M40 = "é",
- d40 = "Ê",
- f40 = "ê",
- z40 = "È",
- O40 = "è",
- h40 = "Ð",
- A40 = "ð",
- q40 = "Ë",
- g40 = "ë",
- m40 = "½",
- W40 = "¼",
- R40 = "¾",
- y40 = ">",
- L40 = ">",
- v40 = "Í",
- E40 = "í",
- T40 = "Î",
- _40 = "î",
- x40 = "¡",
- S40 = "Ì",
- w40 = "ì",
- N40 = "¿",
- B40 = "Ï",
- I40 = "ï",
- D40 = "«",
- C40 = "<",
- k40 = "<",
- P40 = "¯",
- X40 = "µ",
- F40 = "·",
- U40 = " ",
- $40 = "¬",
- H40 = "Ñ",
- G40 = "ñ",
- V40 = "Ó",
- j40 = "ó",
- K40 = "Ô",
- Y40 = "ô",
- Q40 = "Ò",
- J40 = "ò",
- Z40 = "ª",
- eq0 = "º",
- tq0 = "Ø",
- nq0 = "ø",
- iq0 = "Õ",
- rq0 = "õ",
- sq0 = "Ö",
- oq0 = "ö",
- aq0 = "¶",
- cq0 = "±",
- uq0 = "£",
- bq0 = '"',
- pq0 = '"',
- lq0 = "»",
- Mq0 = "®",
- dq0 = "®",
- fq0 = "§",
- zq0 = "",
- Oq0 = "¹",
- hq0 = "²",
- Aq0 = "³",
- qq0 = "ß",
- gq0 = "Þ",
- mq0 = "þ",
- Wq0 = "×",
- Rq0 = "Ú",
- yq0 = "ú",
- Lq0 = "Û",
- vq0 = "û",
- Eq0 = "Ù",
- Tq0 = "ù",
- _q0 = "¨",
- xq0 = "Ü",
- Sq0 = "ü",
- wq0 = "Ý",
- Nq0 = "ý",
- Bq0 = "¥",
- Iq0 = "ÿ",
- Dq0 = {
- Aacute: kA0,
- aacute: PA0,
- Acirc: XA0,
- acirc: FA0,
- acute: UA0,
- AElig: $A0,
- aelig: HA0,
- Agrave: GA0,
- agrave: VA0,
- amp: jA0,
- AMP: KA0,
- Aring: YA0,
- aring: QA0,
- Atilde: JA0,
- atilde: ZA0,
- Auml: e40,
- auml: t40,
- brvbar: n40,
- Ccedil: i40,
- ccedil: r40,
- cedil: s40,
- cent: o40,
- copy: a40,
- COPY: c40,
- curren: u40,
- deg: b40,
- divide: p40,
- Eacute: l40,
- eacute: M40,
- Ecirc: d40,
- ecirc: f40,
- Egrave: z40,
- egrave: O40,
- ETH: h40,
- eth: A40,
- Euml: q40,
- euml: g40,
- frac12: m40,
- frac14: W40,
- frac34: R40,
- gt: y40,
- GT: L40,
- Iacute: v40,
- iacute: E40,
- Icirc: T40,
- icirc: _40,
- iexcl: x40,
- Igrave: S40,
- igrave: w40,
- iquest: N40,
- Iuml: B40,
- iuml: I40,
- laquo: D40,
- lt: C40,
- LT: k40,
- macr: P40,
- micro: X40,
- middot: F40,
- nbsp: U40,
- not: $40,
- Ntilde: H40,
- ntilde: G40,
- Oacute: V40,
- oacute: j40,
- Ocirc: K40,
- ocirc: Y40,
- Ograve: Q40,
- ograve: J40,
- ordf: Z40,
- ordm: eq0,
- Oslash: tq0,
- oslash: nq0,
- Otilde: iq0,
- otilde: rq0,
- Ouml: sq0,
- ouml: oq0,
- para: aq0,
- plusmn: cq0,
- pound: uq0,
- quot: bq0,
- QUOT: pq0,
- raquo: lq0,
- reg: Mq0,
- REG: dq0,
- sect: fq0,
- shy: zq0,
- sup1: Oq0,
- sup2: hq0,
- sup3: Aq0,
- szlig: qq0,
- THORN: gq0,
- thorn: mq0,
- times: Wq0,
- Uacute: Rq0,
- uacute: yq0,
- Ucirc: Lq0,
- ucirc: vq0,
- Ugrave: Eq0,
- ugrave: Tq0,
- uml: _q0,
- Uuml: xq0,
- uuml: Sq0,
- Yacute: wq0,
- yacute: Nq0,
- yen: Bq0,
- yuml: Iq0,
- },
- Cq0 = "&",
- kq0 = "'",
- Pq0 = ">",
- Xq0 = "<",
- Fq0 = '"',
- h6 = { amp: Cq0, apos: kq0, gt: Pq0, lt: Xq0, quot: Fq0 };
-var Si = {};
-const Uq0 = {
- 0: 65533,
- 128: 8364,
- 130: 8218,
- 131: 402,
- 132: 8222,
- 133: 8230,
- 134: 8224,
- 135: 8225,
- 136: 710,
- 137: 8240,
- 138: 352,
- 139: 8249,
- 140: 338,
- 142: 381,
- 145: 8216,
- 146: 8217,
- 147: 8220,
- 148: 8221,
- 149: 8226,
- 150: 8211,
- 151: 8212,
- 152: 732,
- 153: 8482,
- 154: 353,
- 155: 8250,
- 156: 339,
- 158: 382,
- 159: 376,
-};
-var nO;
-function $q0() {
- if (nO) return Si;
- nO = 1;
- var t =
- (Si && Si.__importDefault) ||
- function (r) {
- return r && r.__esModule ? r : { default: r };
- };
- Object.defineProperty(Si, "__esModule", { value: !0 });
- var e = t(Uq0),
- n =
- String.fromCodePoint ||
- function (r) {
- var s = "";
- return (
- r > 65535 &&
- ((r -= 65536),
- (s += String.fromCharCode(((r >>> 10) & 1023) | 55296)),
- (r = 56320 | (r & 1023))),
- (s += String.fromCharCode(r)),
- s
- );
- };
- function i(r) {
- return (r >= 55296 && r <= 57343) || r > 1114111
- ? "�"
- : (r in e.default && (r = e.default[r]), n(r));
- }
- return ((Si.default = i), Si);
-}
-var iO;
-function rO() {
- if (iO) return Le;
- iO = 1;
- var t =
- (Le && Le.__importDefault) ||
- function (c) {
- return c && c.__esModule ? c : { default: c };
- };
- (Object.defineProperty(Le, "__esModule", { value: !0 }),
- (Le.decodeHTML = Le.decodeHTMLStrict = Le.decodeXML = void 0));
- var e = t(O6),
- n = t(Dq0),
- i = t(h6),
- r = t($q0()),
- s = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
- ((Le.decodeXML = o(i.default)), (Le.decodeHTMLStrict = o(e.default)));
- function o(c) {
- var b = u(c);
- return function (l) {
- return String(l).replace(s, b);
- };
- }
- var a = function (c, b) {
- return c < b ? 1 : -1;
- };
- Le.decodeHTML = (function () {
- for (
- var c = Object.keys(n.default).sort(a),
- b = Object.keys(e.default).sort(a),
- l = 0,
- p = 0;
- l < b.length;
- l++
- )
- c[p] === b[l] ? ((b[l] += ";?"), p++) : (b[l] += ";");
- var M = new RegExp(
- "&(?:" + b.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)",
- "g",
- ),
- d = u(e.default);
- function O(f) {
- return (f.substr(-1) !== ";" && (f += ";"), d(f));
- }
- return function (f) {
- return String(f).replace(M, O);
- };
- })();
- function u(c) {
- return function (l) {
- if (l.charAt(1) === "#") {
- var p = l.charAt(2);
- return p === "X" || p === "x"
- ? r.default(parseInt(l.substr(3), 16))
- : r.default(parseInt(l.substr(2), 10));
- }
- return c[l.slice(1, -1)] || l;
- };
- }
- return Le;
-}
-var x1 = {},
- sO;
-function oO() {
- if (sO) return x1;
- sO = 1;
- var t =
- (x1 && x1.__importDefault) ||
- function (z) {
- return z && z.__esModule ? z : { default: z };
- };
- (Object.defineProperty(x1, "__esModule", { value: !0 }),
- (x1.escapeUTF8 =
- x1.escape =
- x1.encodeNonAsciiHTML =
- x1.encodeHTML =
- x1.encodeXML =
- void 0));
- var e = t(h6),
- n = a(e.default),
- i = u(n);
- x1.encodeXML = f(n);
- var r = t(O6),
- s = a(r.default),
- o = u(s);
- ((x1.encodeHTML = p(s, o)), (x1.encodeNonAsciiHTML = f(s)));
- function a(z) {
- return Object.keys(z)
- .sort()
- .reduce(function (g, A) {
- return ((g[z[A]] = "&" + A + ";"), g);
- }, {});
- }
- function u(z) {
- for (var g = [], A = [], h = 0, q = Object.keys(z); h < q.length; h++) {
- var v = q[h];
- v.length === 1 ? g.push("\\" + v) : A.push(v);
- }
- g.sort();
- for (var m = 0; m < g.length - 1; m++) {
- for (
- var E = m;
- E < g.length - 1 && g[E].charCodeAt(1) + 1 === g[E + 1].charCodeAt(1);
- )
- E += 1;
- var _ = 1 + E - m;
- _ < 3 || g.splice(m, _, g[m] + "-" + g[E]);
- }
- return (A.unshift("[" + g.join("") + "]"), new RegExp(A.join("|"), "g"));
- }
- var c =
- /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
- b =
- String.prototype.codePointAt != null
- ? function (z) {
- return z.codePointAt(0);
- }
- : function (z) {
- return (
- (z.charCodeAt(0) - 55296) * 1024 + z.charCodeAt(1) - 56320 + 65536
- );
- };
- function l(z) {
- return (
- "" +
- (z.length > 1 ? b(z) : z.charCodeAt(0)).toString(16).toUpperCase() +
- ";"
- );
- }
- function p(z, g) {
- return function (A) {
- return A.replace(g, function (h) {
- return z[h];
- }).replace(c, l);
- };
- }
- var M = new RegExp(i.source + "|" + c.source, "g");
- function d(z) {
- return z.replace(M, l);
- }
- x1.escape = d;
- function O(z) {
- return z.replace(i, l);
- }
- x1.escapeUTF8 = O;
- function f(z) {
- return function (g) {
- return g.replace(M, function (A) {
- return z[A] || l(A);
- });
- };
- }
- return x1;
-}
-var aO;
-function Hq0() {
- return (
- aO ||
- ((aO = 1),
- (function (t) {
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.decodeXMLStrict =
- t.decodeHTML5Strict =
- t.decodeHTML4Strict =
- t.decodeHTML5 =
- t.decodeHTML4 =
- t.decodeHTMLStrict =
- t.decodeHTML =
- t.decodeXML =
- t.encodeHTML5 =
- t.encodeHTML4 =
- t.escapeUTF8 =
- t.escape =
- t.encodeNonAsciiHTML =
- t.encodeHTML =
- t.encodeXML =
- t.encode =
- t.decodeStrict =
- t.decode =
- void 0));
- var e = rO(),
- n = oO();
- function i(u, c) {
- return (!c || c <= 0 ? e.decodeXML : e.decodeHTML)(u);
- }
- t.decode = i;
- function r(u, c) {
- return (!c || c <= 0 ? e.decodeXML : e.decodeHTMLStrict)(u);
- }
- t.decodeStrict = r;
- function s(u, c) {
- return (!c || c <= 0 ? n.encodeXML : n.encodeHTML)(u);
- }
- t.encode = s;
- var o = oO();
- (Object.defineProperty(t, "encodeXML", {
- enumerable: !0,
- get: function () {
- return o.encodeXML;
- },
- }),
- Object.defineProperty(t, "encodeHTML", {
- enumerable: !0,
- get: function () {
- return o.encodeHTML;
- },
- }),
- Object.defineProperty(t, "encodeNonAsciiHTML", {
- enumerable: !0,
- get: function () {
- return o.encodeNonAsciiHTML;
- },
- }),
- Object.defineProperty(t, "escape", {
- enumerable: !0,
- get: function () {
- return o.escape;
- },
- }),
- Object.defineProperty(t, "escapeUTF8", {
- enumerable: !0,
- get: function () {
- return o.escapeUTF8;
- },
- }),
- Object.defineProperty(t, "encodeHTML4", {
- enumerable: !0,
- get: function () {
- return o.encodeHTML;
- },
- }),
- Object.defineProperty(t, "encodeHTML5", {
- enumerable: !0,
- get: function () {
- return o.encodeHTML;
- },
- }));
- var a = rO();
- (Object.defineProperty(t, "decodeXML", {
- enumerable: !0,
- get: function () {
- return a.decodeXML;
- },
- }),
- Object.defineProperty(t, "decodeHTML", {
- enumerable: !0,
- get: function () {
- return a.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTMLStrict", {
- enumerable: !0,
- get: function () {
- return a.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeHTML4", {
- enumerable: !0,
- get: function () {
- return a.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTML5", {
- enumerable: !0,
- get: function () {
- return a.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTML4Strict", {
- enumerable: !0,
- get: function () {
- return a.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeHTML5Strict", {
- enumerable: !0,
- get: function () {
- return a.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeXMLStrict", {
- enumerable: !0,
- get: function () {
- return a.decodeXML;
- },
- }));
- })(Cu)),
- Cu
- );
-}
-var ku, cO;
-function Gq0() {
- if (cO) return ku;
- cO = 1;
- function t(W, x) {
- if (!(W instanceof x))
- throw new TypeError("Cannot call a class as a function");
- }
- function e(W, x) {
- for (var B = 0; B < x.length; B++) {
- var N = x[B];
- ((N.enumerable = N.enumerable || !1),
- (N.configurable = !0),
- "value" in N && (N.writable = !0),
- Object.defineProperty(W, N.key, N));
- }
- }
- function n(W, x, B) {
- return (x && e(W.prototype, x), W);
- }
- function i(W, x) {
- var B = (typeof Symbol < "u" && W[Symbol.iterator]) || W["@@iterator"];
- if (!B) {
- if (Array.isArray(W) || (B = r(W)) || x) {
- B && (W = B);
- var N = 0,
- I = function () {};
- return {
- s: I,
- n: function () {
- return N >= W.length ? { done: !0 } : { done: !1, value: W[N++] };
- },
- e: function (Y) {
- throw Y;
- },
- f: I,
- };
- }
- throw new TypeError(`Invalid attempt to iterate non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
- }
- var k = !0,
- F = !1,
- Q;
- return {
- s: function () {
- B = B.call(W);
- },
- n: function () {
- var Y = B.next();
- return ((k = Y.done), Y);
- },
- e: function (Y) {
- ((F = !0), (Q = Y));
- },
- f: function () {
- try {
- !k && B.return != null && B.return();
- } finally {
- if (F) throw Q;
- }
- },
- };
- }
- function r(W, x) {
- if (W) {
- if (typeof W == "string") return s(W, x);
- var B = Object.prototype.toString.call(W).slice(8, -1);
- if (
- (B === "Object" && W.constructor && (B = W.constructor.name),
- B === "Map" || B === "Set")
- )
- return Array.from(W);
- if (
- B === "Arguments" ||
- /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(B)
- )
- return s(W, x);
- }
- }
- function s(W, x) {
- (x == null || x > W.length) && (x = W.length);
- for (var B = 0, N = new Array(x); B < x; B++) N[B] = W[B];
- return N;
- }
- var o = Hq0(),
- a = {
- fg: "#FFF",
- bg: "#000",
- newline: !1,
- escapeXML: !1,
- stream: !1,
- colors: u(),
- };
- function u() {
- var W = {
- 0: "#000",
- 1: "#A00",
- 2: "#0A0",
- 3: "#A50",
- 4: "#00A",
- 5: "#A0A",
- 6: "#0AA",
- 7: "#AAA",
- 8: "#555",
- 9: "#F55",
- 10: "#5F5",
- 11: "#FF5",
- 12: "#55F",
- 13: "#F5F",
- 14: "#5FF",
- 15: "#FFF",
- };
- return (
- f(0, 5).forEach(function (x) {
- f(0, 5).forEach(function (B) {
- f(0, 5).forEach(function (N) {
- return c(x, B, N, W);
- });
- });
- }),
- f(0, 23).forEach(function (x) {
- var B = x + 232,
- N = b(x * 10 + 8);
- W[B] = "#" + N + N + N;
- }),
- W
- );
- }
- function c(W, x, B, N) {
- var I = 16 + W * 36 + x * 6 + B,
- k = W > 0 ? W * 40 + 55 : 0,
- F = x > 0 ? x * 40 + 55 : 0,
- Q = B > 0 ? B * 40 + 55 : 0;
- N[I] = l([k, F, Q]);
- }
- function b(W) {
- for (var x = W.toString(16); x.length < 2; ) x = "0" + x;
- return x;
- }
- function l(W) {
- var x = [],
- B = i(W),
- N;
- try {
- for (B.s(); !(N = B.n()).done; ) {
- var I = N.value;
- x.push(b(I));
- }
- } catch (k) {
- B.e(k);
- } finally {
- B.f();
- }
- return "#" + x.join("");
- }
- function p(W, x, B, N) {
- var I;
- return (
- x === "text"
- ? (I = A(B, N))
- : x === "display"
- ? (I = d(W, B, N))
- : x === "xterm256Foreground"
- ? (I = v(W, N.colors[B]))
- : x === "xterm256Background"
- ? (I = m(W, N.colors[B]))
- : x === "rgb" && (I = M(W, B)),
- I
- );
- }
- function M(W, x) {
- x = x.substring(2).slice(0, -1);
- var B = +x.substr(0, 2),
- N = x.substring(5).split(";"),
- I = N.map(function (k) {
- return ("0" + Number(k).toString(16)).substr(-2);
- }).join("");
- return q(W, (B === 38 ? "color:#" : "background-color:#") + I);
- }
- function d(W, x, B) {
- x = parseInt(x, 10);
- var N = {
- "-1": function () {
- return "
";
- },
- 0: function () {
- return W.length && O(W);
- },
- 1: function () {
- return h(W, "b");
- },
- 3: function () {
- return h(W, "i");
- },
- 4: function () {
- return h(W, "u");
- },
- 8: function () {
- return q(W, "display:none");
- },
- 9: function () {
- return h(W, "strike");
- },
- 22: function () {
- return q(
- W,
- "font-weight:normal;text-decoration:none;font-style:normal",
- );
- },
- 23: function () {
- return E(W, "i");
- },
- 24: function () {
- return E(W, "u");
- },
- 39: function () {
- return v(W, B.fg);
- },
- 49: function () {
- return m(W, B.bg);
- },
- 53: function () {
- return q(W, "text-decoration:overline");
- },
- },
- I;
- return (
- N[x]
- ? (I = N[x]())
- : 4 < x && x < 7
- ? (I = h(W, "blink"))
- : 29 < x && x < 38
- ? (I = v(W, B.colors[x - 30]))
- : 39 < x && x < 48
- ? (I = m(W, B.colors[x - 40]))
- : 89 < x && x < 98
- ? (I = v(W, B.colors[8 + (x - 90)]))
- : 99 < x && x < 108 && (I = m(W, B.colors[8 + (x - 100)])),
- I
- );
- }
- function O(W) {
- var x = W.slice(0);
- return (
- (W.length = 0),
- x
- .reverse()
- .map(function (B) {
- return "" + B + ">";
- })
- .join("")
- );
- }
- function f(W, x) {
- for (var B = [], N = W; N <= x; N++) B.push(N);
- return B;
- }
- function z(W) {
- return function (x) {
- return (W === null || x.category !== W) && W !== "all";
- };
- }
- function g(W) {
- W = parseInt(W, 10);
- var x = null;
- return (
- W === 0
- ? (x = "all")
- : W === 1
- ? (x = "bold")
- : 2 < W && W < 5
- ? (x = "underline")
- : 4 < W && W < 7
- ? (x = "blink")
- : W === 8
- ? (x = "hide")
- : W === 9
- ? (x = "strike")
- : (29 < W && W < 38) || W === 39 || (89 < W && W < 98)
- ? (x = "foreground-color")
- : ((39 < W && W < 48) || W === 49 || (99 < W && W < 108)) &&
- (x = "background-color"),
- x
- );
- }
- function A(W, x) {
- return x.escapeXML ? o.encodeXML(W) : W;
- }
- function h(W, x, B) {
- return (
- B || (B = ""),
- W.push(x),
- "<".concat(x).concat(B ? ' style="'.concat(B, '"') : "", ">")
- );
- }
- function q(W, x) {
- return h(W, "span", x);
- }
- function v(W, x) {
- return h(W, "span", "color:" + x);
- }
- function m(W, x) {
- return h(W, "span", "background-color:" + x);
- }
- function E(W, x) {
- var B;
- if ((W.slice(-1)[0] === x && (B = W.pop()), B)) return "" + x + ">";
- }
- function _(W, x, B) {
- var N = !1,
- I = 3;
- function k() {
- return "";
- }
- function F(R, w) {
- return (B("xterm256Foreground", w), "");
- }
- function Q(R, w) {
- return (B("xterm256Background", w), "");
- }
- function n0(R) {
- return (x.newline ? B("display", -1) : B("text", R), "");
- }
- function Y(R, w) {
- ((N = !0),
- w.trim().length === 0 && (w = "0"),
- (w = w.trimRight(";").split(";")));
- var D = i(w),
- C;
- try {
- for (D.s(); !(C = D.n()).done; ) {
- var X = C.value;
- B("display", X);
- }
- } catch (J) {
- D.e(J);
- } finally {
- D.f();
- }
- return "";
- }
- function Z(R) {
- return (B("text", R), "");
- }
- function i0(R) {
- return (B("rgb", R), "");
- }
- var M0 = [
- { pattern: /^\x08+/, sub: k },
- { pattern: /^\x1b\[[012]?K/, sub: k },
- { pattern: /^\x1b\[\(B/, sub: k },
- { pattern: /^\x1b\[[34]8;2;\d+;\d+;\d+m/, sub: i0 },
- { pattern: /^\x1b\[38;5;(\d+)m/, sub: F },
- { pattern: /^\x1b\[48;5;(\d+)m/, sub: Q },
- { pattern: /^\n/, sub: n0 },
- { pattern: /^\r+\n/, sub: n0 },
- { pattern: /^\r/, sub: n0 },
- { pattern: /^\x1b\[((?:\d{1,3};?)+|)m/, sub: Y },
- { pattern: /^\x1b\[\d?J/, sub: k },
- { pattern: /^\x1b\[\d{0,3};\d{0,3}f/, sub: k },
- { pattern: /^\x1b\[?[\d;]{0,3}/, sub: k },
- { pattern: /^(([^\x1b\x08\r\n])+)/, sub: Z },
- ];
- function u0(R, w) {
- (w > I && N) || ((N = !1), (W = W.replace(R.pattern, R.sub)));
- }
- var b0 = [],
- P = W,
- t0 = P.length;
- e: for (; t0 > 0; ) {
- for (var r0 = 0, c0 = 0, G = M0.length; c0 < G; r0 = ++c0) {
- var S = M0[r0];
- if ((u0(S, r0), W.length !== t0)) {
- t0 = W.length;
- continue e;
- }
- }
- if (W.length === t0) break;
- (b0.push(0), (t0 = W.length));
- }
- return b0;
- }
- function T(W, x, B) {
- return (
- x !== "text" &&
- ((W = W.filter(z(g(B)))),
- W.push({ token: x, data: B, category: g(B) })),
- W
- );
- }
- var y = (function () {
- function W(x) {
- (t(this, W),
- (x = x || {}),
- x.colors && (x.colors = Object.assign({}, a.colors, x.colors)),
- (this.options = Object.assign({}, a, x)),
- (this.stack = []),
- (this.stickyStack = []));
- }
- return (
- n(W, [
- {
- key: "toHtml",
- value: function (B) {
- var N = this;
- B = typeof B == "string" ? [B] : B;
- var I = this.stack,
- k = this.options,
- F = [];
- return (
- this.stickyStack.forEach(function (Q) {
- var n0 = p(I, Q.token, Q.data, k);
- n0 && F.push(n0);
- }),
- _(B.join(""), k, function (Q, n0) {
- var Y = p(I, Q, n0, k);
- (Y && F.push(Y),
- k.stream && (N.stickyStack = T(N.stickyStack, Q, n0)));
- }),
- I.length && F.push(O(I)),
- F.join("")
- );
- },
- },
- ]),
- W
- );
- })();
- return ((ku = y), ku);
-}
-var Vq0 = Gq0();
-const qg0 = jc(Vq0);
-var ve = {},
- Ee = {},
- Pu = {},
- Te = {},
- Go = {},
- uO;
-function jq0() {
- return (
- uO ||
- ((uO = 1),
- Object.defineProperty(Go, "__esModule", { value: !0 }),
- (Go.default = new Uint16Array(
- 'ᵁ<Õıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegraìȹoɴ\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱còJTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦ëeryThiîtedĀGLଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻Ó䃓Āiyීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬืde耻Õ䃕es;樷ml耻Ö䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtèa;䎖r;愨pf;愤cr;쀀𝒵ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;eᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t»pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ\0\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»eóɍǧ\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍ròar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴoôĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»ṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0proør;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼ròòΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonóquigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roøurĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨íistĀ;sடr;쀀𝔫ȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lanôií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lleìl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉uå;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭ååഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñĀ;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;cⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀𝔬ͯ\0\0\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨrò᪀Āirⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀¶;l䂶leìЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴ïrel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⋢⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ìâヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowóarpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓ròaòՑ;怏oustĀ;a㈞掱che»mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì耻䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫwar;椪lig耻ß䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rëƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproøim»ኬsðኞĀas㚺㚮ðrn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xôheadĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roðtré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'
- .split("")
- .map(function (t) {
- return t.charCodeAt(0);
- }),
- ))),
- Go
- );
-}
-var Vo = {},
- bO;
-function Kq0() {
- return (
- bO ||
- ((bO = 1),
- Object.defineProperty(Vo, "__esModule", { value: !0 }),
- (Vo.default = new Uint16Array(
- "Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function (t) {
- return t.charCodeAt(0);
- }),
- ))),
- Vo
- );
-}
-var Xu = {},
- pO;
-function lO() {
- return (
- pO ||
- ((pO = 1),
- (function (t) {
- var e;
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.replaceCodePoint = t.fromCodePoint = void 0));
- var n = new Map([
- [0, 65533],
- [128, 8364],
- [130, 8218],
- [131, 402],
- [132, 8222],
- [133, 8230],
- [134, 8224],
- [135, 8225],
- [136, 710],
- [137, 8240],
- [138, 352],
- [139, 8249],
- [140, 338],
- [142, 381],
- [145, 8216],
- [146, 8217],
- [147, 8220],
- [148, 8221],
- [149, 8226],
- [150, 8211],
- [151, 8212],
- [152, 732],
- [153, 8482],
- [154, 353],
- [155, 8250],
- [156, 339],
- [158, 382],
- [159, 376],
- ]);
- t.fromCodePoint =
- (e = String.fromCodePoint) !== null && e !== void 0
- ? e
- : function (s) {
- var o = "";
- return (
- s > 65535 &&
- ((s -= 65536),
- (o += String.fromCharCode(((s >>> 10) & 1023) | 55296)),
- (s = 56320 | (s & 1023))),
- (o += String.fromCharCode(s)),
- o
- );
- };
- function i(s) {
- var o;
- return (s >= 55296 && s <= 57343) || s > 1114111
- ? 65533
- : (o = n.get(s)) !== null && o !== void 0
- ? o
- : s;
- }
- t.replaceCodePoint = i;
- function r(s) {
- return (0, t.fromCodePoint)(i(s));
- }
- t.default = r;
- })(Xu)),
- Xu
- );
-}
-var MO;
-function A6() {
- return (
- MO ||
- ((MO = 1),
- (function (t) {
- var e =
- (Te && Te.__createBinding) ||
- (Object.create
- ? function (y, W, x, B) {
- B === void 0 && (B = x);
- var N = Object.getOwnPropertyDescriptor(W, x);
- ((!N ||
- ("get" in N
- ? !W.__esModule
- : N.writable || N.configurable)) &&
- (N = {
- enumerable: !0,
- get: function () {
- return W[x];
- },
- }),
- Object.defineProperty(y, B, N));
- }
- : function (y, W, x, B) {
- (B === void 0 && (B = x), (y[B] = W[x]));
- }),
- n =
- (Te && Te.__setModuleDefault) ||
- (Object.create
- ? function (y, W) {
- Object.defineProperty(y, "default", {
- enumerable: !0,
- value: W,
- });
- }
- : function (y, W) {
- y.default = W;
- }),
- i =
- (Te && Te.__importStar) ||
- function (y) {
- if (y && y.__esModule) return y;
- var W = {};
- if (y != null)
- for (var x in y)
- x !== "default" &&
- Object.prototype.hasOwnProperty.call(y, x) &&
- e(W, y, x);
- return (n(W, y), W);
- },
- r =
- (Te && Te.__importDefault) ||
- function (y) {
- return y && y.__esModule ? y : { default: y };
- };
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.decodeXML =
- t.decodeHTMLStrict =
- t.decodeHTMLAttribute =
- t.decodeHTML =
- t.determineBranch =
- t.EntityDecoder =
- t.DecodingMode =
- t.BinTrieFlags =
- t.fromCodePoint =
- t.replaceCodePoint =
- t.decodeCodePoint =
- t.xmlDecodeTree =
- t.htmlDecodeTree =
- void 0));
- var s = r(jq0());
- t.htmlDecodeTree = s.default;
- var o = r(Kq0());
- t.xmlDecodeTree = o.default;
- var a = i(lO());
- t.decodeCodePoint = a.default;
- var u = lO();
- (Object.defineProperty(t, "replaceCodePoint", {
- enumerable: !0,
- get: function () {
- return u.replaceCodePoint;
- },
- }),
- Object.defineProperty(t, "fromCodePoint", {
- enumerable: !0,
- get: function () {
- return u.fromCodePoint;
- },
- }));
- var c;
- (function (y) {
- ((y[(y.NUM = 35)] = "NUM"),
- (y[(y.SEMI = 59)] = "SEMI"),
- (y[(y.EQUALS = 61)] = "EQUALS"),
- (y[(y.ZERO = 48)] = "ZERO"),
- (y[(y.NINE = 57)] = "NINE"),
- (y[(y.LOWER_A = 97)] = "LOWER_A"),
- (y[(y.LOWER_F = 102)] = "LOWER_F"),
- (y[(y.LOWER_X = 120)] = "LOWER_X"),
- (y[(y.LOWER_Z = 122)] = "LOWER_Z"),
- (y[(y.UPPER_A = 65)] = "UPPER_A"),
- (y[(y.UPPER_F = 70)] = "UPPER_F"),
- (y[(y.UPPER_Z = 90)] = "UPPER_Z"));
- })(c || (c = {}));
- var b = 32,
- l;
- (function (y) {
- ((y[(y.VALUE_LENGTH = 49152)] = "VALUE_LENGTH"),
- (y[(y.BRANCH_LENGTH = 16256)] = "BRANCH_LENGTH"),
- (y[(y.JUMP_TABLE = 127)] = "JUMP_TABLE"));
- })((l = t.BinTrieFlags || (t.BinTrieFlags = {})));
- function p(y) {
- return y >= c.ZERO && y <= c.NINE;
- }
- function M(y) {
- return (
- (y >= c.UPPER_A && y <= c.UPPER_F) ||
- (y >= c.LOWER_A && y <= c.LOWER_F)
- );
- }
- function d(y) {
- return (
- (y >= c.UPPER_A && y <= c.UPPER_Z) ||
- (y >= c.LOWER_A && y <= c.LOWER_Z) ||
- p(y)
- );
- }
- function O(y) {
- return y === c.EQUALS || d(y);
- }
- var f;
- (function (y) {
- ((y[(y.EntityStart = 0)] = "EntityStart"),
- (y[(y.NumericStart = 1)] = "NumericStart"),
- (y[(y.NumericDecimal = 2)] = "NumericDecimal"),
- (y[(y.NumericHex = 3)] = "NumericHex"),
- (y[(y.NamedEntity = 4)] = "NamedEntity"));
- })(f || (f = {}));
- var z;
- (function (y) {
- ((y[(y.Legacy = 0)] = "Legacy"),
- (y[(y.Strict = 1)] = "Strict"),
- (y[(y.Attribute = 2)] = "Attribute"));
- })((z = t.DecodingMode || (t.DecodingMode = {})));
- var g = (function () {
- function y(W, x, B) {
- ((this.decodeTree = W),
- (this.emitCodePoint = x),
- (this.errors = B),
- (this.state = f.EntityStart),
- (this.consumed = 1),
- (this.result = 0),
- (this.treeIndex = 0),
- (this.excess = 1),
- (this.decodeMode = z.Strict));
- }
- return (
- (y.prototype.startEntity = function (W) {
- ((this.decodeMode = W),
- (this.state = f.EntityStart),
- (this.result = 0),
- (this.treeIndex = 0),
- (this.excess = 1),
- (this.consumed = 1));
- }),
- (y.prototype.write = function (W, x) {
- switch (this.state) {
- case f.EntityStart:
- return W.charCodeAt(x) === c.NUM
- ? ((this.state = f.NumericStart),
- (this.consumed += 1),
- this.stateNumericStart(W, x + 1))
- : ((this.state = f.NamedEntity),
- this.stateNamedEntity(W, x));
- case f.NumericStart:
- return this.stateNumericStart(W, x);
- case f.NumericDecimal:
- return this.stateNumericDecimal(W, x);
- case f.NumericHex:
- return this.stateNumericHex(W, x);
- case f.NamedEntity:
- return this.stateNamedEntity(W, x);
- }
- }),
- (y.prototype.stateNumericStart = function (W, x) {
- return x >= W.length
- ? -1
- : (W.charCodeAt(x) | b) === c.LOWER_X
- ? ((this.state = f.NumericHex),
- (this.consumed += 1),
- this.stateNumericHex(W, x + 1))
- : ((this.state = f.NumericDecimal),
- this.stateNumericDecimal(W, x));
- }),
- (y.prototype.addToNumericResult = function (W, x, B, N) {
- if (x !== B) {
- var I = B - x;
- ((this.result =
- this.result * Math.pow(N, I) + parseInt(W.substr(x, I), N)),
- (this.consumed += I));
- }
- }),
- (y.prototype.stateNumericHex = function (W, x) {
- for (var B = x; x < W.length; ) {
- var N = W.charCodeAt(x);
- if (p(N) || M(N)) x += 1;
- else
- return (
- this.addToNumericResult(W, B, x, 16),
- this.emitNumericEntity(N, 3)
- );
- }
- return (this.addToNumericResult(W, B, x, 16), -1);
- }),
- (y.prototype.stateNumericDecimal = function (W, x) {
- for (var B = x; x < W.length; ) {
- var N = W.charCodeAt(x);
- if (p(N)) x += 1;
- else
- return (
- this.addToNumericResult(W, B, x, 10),
- this.emitNumericEntity(N, 2)
- );
- }
- return (this.addToNumericResult(W, B, x, 10), -1);
- }),
- (y.prototype.emitNumericEntity = function (W, x) {
- var B;
- if (this.consumed <= x)
- return (
- (B = this.errors) === null ||
- B === void 0 ||
- B.absenceOfDigitsInNumericCharacterReference(this.consumed),
- 0
- );
- if (W === c.SEMI) this.consumed += 1;
- else if (this.decodeMode === z.Strict) return 0;
- return (
- this.emitCodePoint(
- (0, a.replaceCodePoint)(this.result),
- this.consumed,
- ),
- this.errors &&
- (W !== c.SEMI &&
- this.errors.missingSemicolonAfterCharacterReference(),
- this.errors.validateNumericCharacterReference(this.result)),
- this.consumed
- );
- }),
- (y.prototype.stateNamedEntity = function (W, x) {
- for (
- var B = this.decodeTree,
- N = B[this.treeIndex],
- I = (N & l.VALUE_LENGTH) >> 14;
- x < W.length;
- x++, this.excess++
- ) {
- var k = W.charCodeAt(x);
- if (
- ((this.treeIndex = h(
- B,
- N,
- this.treeIndex + Math.max(1, I),
- k,
- )),
- this.treeIndex < 0)
- )
- return this.result === 0 ||
- (this.decodeMode === z.Attribute && (I === 0 || O(k)))
- ? 0
- : this.emitNotTerminatedNamedEntity();
- if (
- ((N = B[this.treeIndex]),
- (I = (N & l.VALUE_LENGTH) >> 14),
- I !== 0)
- ) {
- if (k === c.SEMI)
- return this.emitNamedEntityData(
- this.treeIndex,
- I,
- this.consumed + this.excess,
- );
- this.decodeMode !== z.Strict &&
- ((this.result = this.treeIndex),
- (this.consumed += this.excess),
- (this.excess = 0));
- }
- }
- return -1;
- }),
- (y.prototype.emitNotTerminatedNamedEntity = function () {
- var W,
- x = this,
- B = x.result,
- N = x.decodeTree,
- I = (N[B] & l.VALUE_LENGTH) >> 14;
- return (
- this.emitNamedEntityData(B, I, this.consumed),
- (W = this.errors) === null ||
- W === void 0 ||
- W.missingSemicolonAfterCharacterReference(),
- this.consumed
- );
- }),
- (y.prototype.emitNamedEntityData = function (W, x, B) {
- var N = this.decodeTree;
- return (
- this.emitCodePoint(
- x === 1 ? N[W] & ~l.VALUE_LENGTH : N[W + 1],
- B,
- ),
- x === 3 && this.emitCodePoint(N[W + 2], B),
- B
- );
- }),
- (y.prototype.end = function () {
- var W;
- switch (this.state) {
- case f.NamedEntity:
- return this.result !== 0 &&
- (this.decodeMode !== z.Attribute ||
- this.result === this.treeIndex)
- ? this.emitNotTerminatedNamedEntity()
- : 0;
- case f.NumericDecimal:
- return this.emitNumericEntity(0, 2);
- case f.NumericHex:
- return this.emitNumericEntity(0, 3);
- case f.NumericStart:
- return (
- (W = this.errors) === null ||
- W === void 0 ||
- W.absenceOfDigitsInNumericCharacterReference(
- this.consumed,
- ),
- 0
- );
- case f.EntityStart:
- return 0;
- }
- }),
- y
- );
- })();
- t.EntityDecoder = g;
- function A(y) {
- var W = "",
- x = new g(y, function (B) {
- return (W += (0, a.fromCodePoint)(B));
- });
- return function (N, I) {
- for (var k = 0, F = 0; (F = N.indexOf("&", F)) >= 0; ) {
- ((W += N.slice(k, F)), x.startEntity(I));
- var Q = x.write(N, F + 1);
- if (Q < 0) {
- k = F + x.end();
- break;
- }
- ((k = F + Q), (F = Q === 0 ? k + 1 : k));
- }
- var n0 = W + N.slice(k);
- return ((W = ""), n0);
- };
- }
- function h(y, W, x, B) {
- var N = (W & l.BRANCH_LENGTH) >> 7,
- I = W & l.JUMP_TABLE;
- if (N === 0) return I !== 0 && B === I ? x : -1;
- if (I) {
- var k = B - I;
- return k < 0 || k >= N ? -1 : y[x + k] - 1;
- }
- for (var F = x, Q = F + N - 1; F <= Q; ) {
- var n0 = (F + Q) >>> 1,
- Y = y[n0];
- if (Y < B) F = n0 + 1;
- else if (Y > B) Q = n0 - 1;
- else return y[n0 + N];
- }
- return -1;
- }
- t.determineBranch = h;
- var q = A(s.default),
- v = A(o.default);
- function m(y, W) {
- return (W === void 0 && (W = z.Legacy), q(y, W));
- }
- t.decodeHTML = m;
- function E(y) {
- return q(y, z.Attribute);
- }
- t.decodeHTMLAttribute = E;
- function _(y) {
- return q(y, z.Strict);
- }
- t.decodeHTMLStrict = _;
- function T(y) {
- return v(y, z.Strict);
- }
- t.decodeXML = T;
- })(Te)),
- Te
- );
-}
-var dO;
-function q6() {
- return (
- dO ||
- ((dO = 1),
- (function (t) {
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.QuoteType = void 0));
- var e = A6(),
- n;
- (function (p) {
- ((p[(p.Tab = 9)] = "Tab"),
- (p[(p.NewLine = 10)] = "NewLine"),
- (p[(p.FormFeed = 12)] = "FormFeed"),
- (p[(p.CarriageReturn = 13)] = "CarriageReturn"),
- (p[(p.Space = 32)] = "Space"),
- (p[(p.ExclamationMark = 33)] = "ExclamationMark"),
- (p[(p.Number = 35)] = "Number"),
- (p[(p.Amp = 38)] = "Amp"),
- (p[(p.SingleQuote = 39)] = "SingleQuote"),
- (p[(p.DoubleQuote = 34)] = "DoubleQuote"),
- (p[(p.Dash = 45)] = "Dash"),
- (p[(p.Slash = 47)] = "Slash"),
- (p[(p.Zero = 48)] = "Zero"),
- (p[(p.Nine = 57)] = "Nine"),
- (p[(p.Semi = 59)] = "Semi"),
- (p[(p.Lt = 60)] = "Lt"),
- (p[(p.Eq = 61)] = "Eq"),
- (p[(p.Gt = 62)] = "Gt"),
- (p[(p.Questionmark = 63)] = "Questionmark"),
- (p[(p.UpperA = 65)] = "UpperA"),
- (p[(p.LowerA = 97)] = "LowerA"),
- (p[(p.UpperF = 70)] = "UpperF"),
- (p[(p.LowerF = 102)] = "LowerF"),
- (p[(p.UpperZ = 90)] = "UpperZ"),
- (p[(p.LowerZ = 122)] = "LowerZ"),
- (p[(p.LowerX = 120)] = "LowerX"),
- (p[(p.OpeningSquareBracket = 91)] = "OpeningSquareBracket"));
- })(n || (n = {}));
- var i;
- (function (p) {
- ((p[(p.Text = 1)] = "Text"),
- (p[(p.BeforeTagName = 2)] = "BeforeTagName"),
- (p[(p.InTagName = 3)] = "InTagName"),
- (p[(p.InSelfClosingTag = 4)] = "InSelfClosingTag"),
- (p[(p.BeforeClosingTagName = 5)] = "BeforeClosingTagName"),
- (p[(p.InClosingTagName = 6)] = "InClosingTagName"),
- (p[(p.AfterClosingTagName = 7)] = "AfterClosingTagName"),
- (p[(p.BeforeAttributeName = 8)] = "BeforeAttributeName"),
- (p[(p.InAttributeName = 9)] = "InAttributeName"),
- (p[(p.AfterAttributeName = 10)] = "AfterAttributeName"),
- (p[(p.BeforeAttributeValue = 11)] = "BeforeAttributeValue"),
- (p[(p.InAttributeValueDq = 12)] = "InAttributeValueDq"),
- (p[(p.InAttributeValueSq = 13)] = "InAttributeValueSq"),
- (p[(p.InAttributeValueNq = 14)] = "InAttributeValueNq"),
- (p[(p.BeforeDeclaration = 15)] = "BeforeDeclaration"),
- (p[(p.InDeclaration = 16)] = "InDeclaration"),
- (p[(p.InProcessingInstruction = 17)] = "InProcessingInstruction"),
- (p[(p.BeforeComment = 18)] = "BeforeComment"),
- (p[(p.CDATASequence = 19)] = "CDATASequence"),
- (p[(p.InSpecialComment = 20)] = "InSpecialComment"),
- (p[(p.InCommentLike = 21)] = "InCommentLike"),
- (p[(p.BeforeSpecialS = 22)] = "BeforeSpecialS"),
- (p[(p.SpecialStartSequence = 23)] = "SpecialStartSequence"),
- (p[(p.InSpecialTag = 24)] = "InSpecialTag"),
- (p[(p.BeforeEntity = 25)] = "BeforeEntity"),
- (p[(p.BeforeNumericEntity = 26)] = "BeforeNumericEntity"),
- (p[(p.InNamedEntity = 27)] = "InNamedEntity"),
- (p[(p.InNumericEntity = 28)] = "InNumericEntity"),
- (p[(p.InHexEntity = 29)] = "InHexEntity"));
- })(i || (i = {}));
- function r(p) {
- return (
- p === n.Space ||
- p === n.NewLine ||
- p === n.Tab ||
- p === n.FormFeed ||
- p === n.CarriageReturn
- );
- }
- function s(p) {
- return p === n.Slash || p === n.Gt || r(p);
- }
- function o(p) {
- return p >= n.Zero && p <= n.Nine;
- }
- function a(p) {
- return (
- (p >= n.LowerA && p <= n.LowerZ) || (p >= n.UpperA && p <= n.UpperZ)
- );
- }
- function u(p) {
- return (
- (p >= n.UpperA && p <= n.UpperF) || (p >= n.LowerA && p <= n.LowerF)
- );
- }
- var c;
- (function (p) {
- ((p[(p.NoValue = 0)] = "NoValue"),
- (p[(p.Unquoted = 1)] = "Unquoted"),
- (p[(p.Single = 2)] = "Single"),
- (p[(p.Double = 3)] = "Double"));
- })((c = t.QuoteType || (t.QuoteType = {})));
- var b = {
- Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),
- CdataEnd: new Uint8Array([93, 93, 62]),
- CommentEnd: new Uint8Array([45, 45, 62]),
- ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),
- StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),
- TitleEnd: new Uint8Array([60, 47, 116, 105, 116, 108, 101]),
- },
- l = (function () {
- function p(M, d) {
- var O = M.xmlMode,
- f = O === void 0 ? !1 : O,
- z = M.decodeEntities,
- g = z === void 0 ? !0 : z;
- ((this.cbs = d),
- (this.state = i.Text),
- (this.buffer = ""),
- (this.sectionStart = 0),
- (this.index = 0),
- (this.baseState = i.Text),
- (this.isSpecial = !1),
- (this.running = !0),
- (this.offset = 0),
- (this.currentSequence = void 0),
- (this.sequenceIndex = 0),
- (this.trieIndex = 0),
- (this.trieCurrent = 0),
- (this.entityResult = 0),
- (this.entityExcess = 0),
- (this.xmlMode = f),
- (this.decodeEntities = g),
- (this.entityTrie = f ? e.xmlDecodeTree : e.htmlDecodeTree));
- }
- return (
- (p.prototype.reset = function () {
- ((this.state = i.Text),
- (this.buffer = ""),
- (this.sectionStart = 0),
- (this.index = 0),
- (this.baseState = i.Text),
- (this.currentSequence = void 0),
- (this.running = !0),
- (this.offset = 0));
- }),
- (p.prototype.write = function (M) {
- ((this.offset += this.buffer.length),
- (this.buffer = M),
- this.parse());
- }),
- (p.prototype.end = function () {
- this.running && this.finish();
- }),
- (p.prototype.pause = function () {
- this.running = !1;
- }),
- (p.prototype.resume = function () {
- ((this.running = !0),
- this.index < this.buffer.length + this.offset &&
- this.parse());
- }),
- (p.prototype.getIndex = function () {
- return this.index;
- }),
- (p.prototype.getSectionStart = function () {
- return this.sectionStart;
- }),
- (p.prototype.stateText = function (M) {
- M === n.Lt || (!this.decodeEntities && this.fastForwardTo(n.Lt))
- ? (this.index > this.sectionStart &&
- this.cbs.ontext(this.sectionStart, this.index),
- (this.state = i.BeforeTagName),
- (this.sectionStart = this.index))
- : this.decodeEntities &&
- M === n.Amp &&
- (this.state = i.BeforeEntity);
- }),
- (p.prototype.stateSpecialStartSequence = function (M) {
- var d = this.sequenceIndex === this.currentSequence.length,
- O = d
- ? s(M)
- : (M | 32) === this.currentSequence[this.sequenceIndex];
- if (!O) this.isSpecial = !1;
- else if (!d) {
- this.sequenceIndex++;
- return;
- }
- ((this.sequenceIndex = 0),
- (this.state = i.InTagName),
- this.stateInTagName(M));
- }),
- (p.prototype.stateInSpecialTag = function (M) {
- if (this.sequenceIndex === this.currentSequence.length) {
- if (M === n.Gt || r(M)) {
- var d = this.index - this.currentSequence.length;
- if (this.sectionStart < d) {
- var O = this.index;
- ((this.index = d),
- this.cbs.ontext(this.sectionStart, d),
- (this.index = O));
- }
- ((this.isSpecial = !1),
- (this.sectionStart = d + 2),
- this.stateInClosingTagName(M));
- return;
- }
- this.sequenceIndex = 0;
- }
- (M | 32) === this.currentSequence[this.sequenceIndex]
- ? (this.sequenceIndex += 1)
- : this.sequenceIndex === 0
- ? this.currentSequence === b.TitleEnd
- ? this.decodeEntities &&
- M === n.Amp &&
- (this.state = i.BeforeEntity)
- : this.fastForwardTo(n.Lt) && (this.sequenceIndex = 1)
- : (this.sequenceIndex = +(M === n.Lt));
- }),
- (p.prototype.stateCDATASequence = function (M) {
- M === b.Cdata[this.sequenceIndex]
- ? ++this.sequenceIndex === b.Cdata.length &&
- ((this.state = i.InCommentLike),
- (this.currentSequence = b.CdataEnd),
- (this.sequenceIndex = 0),
- (this.sectionStart = this.index + 1))
- : ((this.sequenceIndex = 0),
- (this.state = i.InDeclaration),
- this.stateInDeclaration(M));
- }),
- (p.prototype.fastForwardTo = function (M) {
- for (; ++this.index < this.buffer.length + this.offset; )
- if (this.buffer.charCodeAt(this.index - this.offset) === M)
- return !0;
- return (
- (this.index = this.buffer.length + this.offset - 1),
- !1
- );
- }),
- (p.prototype.stateInCommentLike = function (M) {
- M === this.currentSequence[this.sequenceIndex]
- ? ++this.sequenceIndex === this.currentSequence.length &&
- (this.currentSequence === b.CdataEnd
- ? this.cbs.oncdata(this.sectionStart, this.index, 2)
- : this.cbs.oncomment(this.sectionStart, this.index, 2),
- (this.sequenceIndex = 0),
- (this.sectionStart = this.index + 1),
- (this.state = i.Text))
- : this.sequenceIndex === 0
- ? this.fastForwardTo(this.currentSequence[0]) &&
- (this.sequenceIndex = 1)
- : M !== this.currentSequence[this.sequenceIndex - 1] &&
- (this.sequenceIndex = 0);
- }),
- (p.prototype.isTagStartChar = function (M) {
- return this.xmlMode ? !s(M) : a(M);
- }),
- (p.prototype.startSpecial = function (M, d) {
- ((this.isSpecial = !0),
- (this.currentSequence = M),
- (this.sequenceIndex = d),
- (this.state = i.SpecialStartSequence));
- }),
- (p.prototype.stateBeforeTagName = function (M) {
- if (M === n.ExclamationMark)
- ((this.state = i.BeforeDeclaration),
- (this.sectionStart = this.index + 1));
- else if (M === n.Questionmark)
- ((this.state = i.InProcessingInstruction),
- (this.sectionStart = this.index + 1));
- else if (this.isTagStartChar(M)) {
- var d = M | 32;
- ((this.sectionStart = this.index),
- !this.xmlMode && d === b.TitleEnd[2]
- ? this.startSpecial(b.TitleEnd, 3)
- : (this.state =
- !this.xmlMode && d === b.ScriptEnd[2]
- ? i.BeforeSpecialS
- : i.InTagName));
- } else
- M === n.Slash
- ? (this.state = i.BeforeClosingTagName)
- : ((this.state = i.Text), this.stateText(M));
- }),
- (p.prototype.stateInTagName = function (M) {
- s(M) &&
- (this.cbs.onopentagname(this.sectionStart, this.index),
- (this.sectionStart = -1),
- (this.state = i.BeforeAttributeName),
- this.stateBeforeAttributeName(M));
- }),
- (p.prototype.stateBeforeClosingTagName = function (M) {
- r(M) ||
- (M === n.Gt
- ? (this.state = i.Text)
- : ((this.state = this.isTagStartChar(M)
- ? i.InClosingTagName
- : i.InSpecialComment),
- (this.sectionStart = this.index)));
- }),
- (p.prototype.stateInClosingTagName = function (M) {
- (M === n.Gt || r(M)) &&
- (this.cbs.onclosetag(this.sectionStart, this.index),
- (this.sectionStart = -1),
- (this.state = i.AfterClosingTagName),
- this.stateAfterClosingTagName(M));
- }),
- (p.prototype.stateAfterClosingTagName = function (M) {
- (M === n.Gt || this.fastForwardTo(n.Gt)) &&
- ((this.state = i.Text),
- (this.baseState = i.Text),
- (this.sectionStart = this.index + 1));
- }),
- (p.prototype.stateBeforeAttributeName = function (M) {
- M === n.Gt
- ? (this.cbs.onopentagend(this.index),
- this.isSpecial
- ? ((this.state = i.InSpecialTag),
- (this.sequenceIndex = 0))
- : (this.state = i.Text),
- (this.baseState = this.state),
- (this.sectionStart = this.index + 1))
- : M === n.Slash
- ? (this.state = i.InSelfClosingTag)
- : r(M) ||
- ((this.state = i.InAttributeName),
- (this.sectionStart = this.index));
- }),
- (p.prototype.stateInSelfClosingTag = function (M) {
- M === n.Gt
- ? (this.cbs.onselfclosingtag(this.index),
- (this.state = i.Text),
- (this.baseState = i.Text),
- (this.sectionStart = this.index + 1),
- (this.isSpecial = !1))
- : r(M) ||
- ((this.state = i.BeforeAttributeName),
- this.stateBeforeAttributeName(M));
- }),
- (p.prototype.stateInAttributeName = function (M) {
- (M === n.Eq || s(M)) &&
- (this.cbs.onattribname(this.sectionStart, this.index),
- (this.sectionStart = -1),
- (this.state = i.AfterAttributeName),
- this.stateAfterAttributeName(M));
- }),
- (p.prototype.stateAfterAttributeName = function (M) {
- M === n.Eq
- ? (this.state = i.BeforeAttributeValue)
- : M === n.Slash || M === n.Gt
- ? (this.cbs.onattribend(c.NoValue, this.index),
- (this.state = i.BeforeAttributeName),
- this.stateBeforeAttributeName(M))
- : r(M) ||
- (this.cbs.onattribend(c.NoValue, this.index),
- (this.state = i.InAttributeName),
- (this.sectionStart = this.index));
- }),
- (p.prototype.stateBeforeAttributeValue = function (M) {
- M === n.DoubleQuote
- ? ((this.state = i.InAttributeValueDq),
- (this.sectionStart = this.index + 1))
- : M === n.SingleQuote
- ? ((this.state = i.InAttributeValueSq),
- (this.sectionStart = this.index + 1))
- : r(M) ||
- ((this.sectionStart = this.index),
- (this.state = i.InAttributeValueNq),
- this.stateInAttributeValueNoQuotes(M));
- }),
- (p.prototype.handleInAttributeValue = function (M, d) {
- M === d || (!this.decodeEntities && this.fastForwardTo(d))
- ? (this.cbs.onattribdata(this.sectionStart, this.index),
- (this.sectionStart = -1),
- this.cbs.onattribend(
- d === n.DoubleQuote ? c.Double : c.Single,
- this.index,
- ),
- (this.state = i.BeforeAttributeName))
- : this.decodeEntities &&
- M === n.Amp &&
- ((this.baseState = this.state),
- (this.state = i.BeforeEntity));
- }),
- (p.prototype.stateInAttributeValueDoubleQuotes = function (M) {
- this.handleInAttributeValue(M, n.DoubleQuote);
- }),
- (p.prototype.stateInAttributeValueSingleQuotes = function (M) {
- this.handleInAttributeValue(M, n.SingleQuote);
- }),
- (p.prototype.stateInAttributeValueNoQuotes = function (M) {
- r(M) || M === n.Gt
- ? (this.cbs.onattribdata(this.sectionStart, this.index),
- (this.sectionStart = -1),
- this.cbs.onattribend(c.Unquoted, this.index),
- (this.state = i.BeforeAttributeName),
- this.stateBeforeAttributeName(M))
- : this.decodeEntities &&
- M === n.Amp &&
- ((this.baseState = this.state),
- (this.state = i.BeforeEntity));
- }),
- (p.prototype.stateBeforeDeclaration = function (M) {
- M === n.OpeningSquareBracket
- ? ((this.state = i.CDATASequence), (this.sequenceIndex = 0))
- : (this.state =
- M === n.Dash ? i.BeforeComment : i.InDeclaration);
- }),
- (p.prototype.stateInDeclaration = function (M) {
- (M === n.Gt || this.fastForwardTo(n.Gt)) &&
- (this.cbs.ondeclaration(this.sectionStart, this.index),
- (this.state = i.Text),
- (this.sectionStart = this.index + 1));
- }),
- (p.prototype.stateInProcessingInstruction = function (M) {
- (M === n.Gt || this.fastForwardTo(n.Gt)) &&
- (this.cbs.onprocessinginstruction(
- this.sectionStart,
- this.index,
- ),
- (this.state = i.Text),
- (this.sectionStart = this.index + 1));
- }),
- (p.prototype.stateBeforeComment = function (M) {
- M === n.Dash
- ? ((this.state = i.InCommentLike),
- (this.currentSequence = b.CommentEnd),
- (this.sequenceIndex = 2),
- (this.sectionStart = this.index + 1))
- : (this.state = i.InDeclaration);
- }),
- (p.prototype.stateInSpecialComment = function (M) {
- (M === n.Gt || this.fastForwardTo(n.Gt)) &&
- (this.cbs.oncomment(this.sectionStart, this.index, 0),
- (this.state = i.Text),
- (this.sectionStart = this.index + 1));
- }),
- (p.prototype.stateBeforeSpecialS = function (M) {
- var d = M | 32;
- d === b.ScriptEnd[3]
- ? this.startSpecial(b.ScriptEnd, 4)
- : d === b.StyleEnd[3]
- ? this.startSpecial(b.StyleEnd, 4)
- : ((this.state = i.InTagName), this.stateInTagName(M));
- }),
- (p.prototype.stateBeforeEntity = function (M) {
- ((this.entityExcess = 1),
- (this.entityResult = 0),
- M === n.Number
- ? (this.state = i.BeforeNumericEntity)
- : M === n.Amp ||
- ((this.trieIndex = 0),
- (this.trieCurrent = this.entityTrie[0]),
- (this.state = i.InNamedEntity),
- this.stateInNamedEntity(M)));
- }),
- (p.prototype.stateInNamedEntity = function (M) {
- if (
- ((this.entityExcess += 1),
- (this.trieIndex = (0, e.determineBranch)(
- this.entityTrie,
- this.trieCurrent,
- this.trieIndex + 1,
- M,
- )),
- this.trieIndex < 0)
- ) {
- (this.emitNamedEntity(), this.index--);
- return;
- }
- this.trieCurrent = this.entityTrie[this.trieIndex];
- var d = this.trieCurrent & e.BinTrieFlags.VALUE_LENGTH;
- if (d) {
- var O = (d >> 14) - 1;
- if (!this.allowLegacyEntity() && M !== n.Semi)
- this.trieIndex += O;
- else {
- var f = this.index - this.entityExcess + 1;
- (f > this.sectionStart &&
- this.emitPartial(this.sectionStart, f),
- (this.entityResult = this.trieIndex),
- (this.trieIndex += O),
- (this.entityExcess = 0),
- (this.sectionStart = this.index + 1),
- O === 0 && this.emitNamedEntity());
- }
- }
- }),
- (p.prototype.emitNamedEntity = function () {
- if (((this.state = this.baseState), this.entityResult !== 0)) {
- var M =
- (this.entityTrie[this.entityResult] &
- e.BinTrieFlags.VALUE_LENGTH) >>
- 14;
- switch (M) {
- case 1: {
- this.emitCodePoint(
- this.entityTrie[this.entityResult] &
- ~e.BinTrieFlags.VALUE_LENGTH,
- );
- break;
- }
- case 2: {
- this.emitCodePoint(
- this.entityTrie[this.entityResult + 1],
- );
- break;
- }
- case 3:
- (this.emitCodePoint(
- this.entityTrie[this.entityResult + 1],
- ),
- this.emitCodePoint(
- this.entityTrie[this.entityResult + 2],
- ));
- }
- }
- }),
- (p.prototype.stateBeforeNumericEntity = function (M) {
- (M | 32) === n.LowerX
- ? (this.entityExcess++, (this.state = i.InHexEntity))
- : ((this.state = i.InNumericEntity),
- this.stateInNumericEntity(M));
- }),
- (p.prototype.emitNumericEntity = function (M) {
- var d = this.index - this.entityExcess - 1,
- O = d + 2 + +(this.state === i.InHexEntity);
- (O !== this.index &&
- (d > this.sectionStart &&
- this.emitPartial(this.sectionStart, d),
- (this.sectionStart = this.index + Number(M)),
- this.emitCodePoint(
- (0, e.replaceCodePoint)(this.entityResult),
- )),
- (this.state = this.baseState));
- }),
- (p.prototype.stateInNumericEntity = function (M) {
- M === n.Semi
- ? this.emitNumericEntity(!0)
- : o(M)
- ? ((this.entityResult =
- this.entityResult * 10 + (M - n.Zero)),
- this.entityExcess++)
- : (this.allowLegacyEntity()
- ? this.emitNumericEntity(!1)
- : (this.state = this.baseState),
- this.index--);
- }),
- (p.prototype.stateInHexEntity = function (M) {
- M === n.Semi
- ? this.emitNumericEntity(!0)
- : o(M)
- ? ((this.entityResult =
- this.entityResult * 16 + (M - n.Zero)),
- this.entityExcess++)
- : u(M)
- ? ((this.entityResult =
- this.entityResult * 16 + ((M | 32) - n.LowerA + 10)),
- this.entityExcess++)
- : (this.allowLegacyEntity()
- ? this.emitNumericEntity(!1)
- : (this.state = this.baseState),
- this.index--);
- }),
- (p.prototype.allowLegacyEntity = function () {
- return (
- !this.xmlMode &&
- (this.baseState === i.Text ||
- this.baseState === i.InSpecialTag)
- );
- }),
- (p.prototype.cleanup = function () {
- this.running &&
- this.sectionStart !== this.index &&
- (this.state === i.Text ||
- (this.state === i.InSpecialTag && this.sequenceIndex === 0)
- ? (this.cbs.ontext(this.sectionStart, this.index),
- (this.sectionStart = this.index))
- : (this.state === i.InAttributeValueDq ||
- this.state === i.InAttributeValueSq ||
- this.state === i.InAttributeValueNq) &&
- (this.cbs.onattribdata(this.sectionStart, this.index),
- (this.sectionStart = this.index)));
- }),
- (p.prototype.shouldContinue = function () {
- return (
- this.index < this.buffer.length + this.offset && this.running
- );
- }),
- (p.prototype.parse = function () {
- for (; this.shouldContinue(); ) {
- var M = this.buffer.charCodeAt(this.index - this.offset);
- switch (this.state) {
- case i.Text: {
- this.stateText(M);
- break;
- }
- case i.SpecialStartSequence: {
- this.stateSpecialStartSequence(M);
- break;
- }
- case i.InSpecialTag: {
- this.stateInSpecialTag(M);
- break;
- }
- case i.CDATASequence: {
- this.stateCDATASequence(M);
- break;
- }
- case i.InAttributeValueDq: {
- this.stateInAttributeValueDoubleQuotes(M);
- break;
- }
- case i.InAttributeName: {
- this.stateInAttributeName(M);
- break;
- }
- case i.InCommentLike: {
- this.stateInCommentLike(M);
- break;
- }
- case i.InSpecialComment: {
- this.stateInSpecialComment(M);
- break;
- }
- case i.BeforeAttributeName: {
- this.stateBeforeAttributeName(M);
- break;
- }
- case i.InTagName: {
- this.stateInTagName(M);
- break;
- }
- case i.InClosingTagName: {
- this.stateInClosingTagName(M);
- break;
- }
- case i.BeforeTagName: {
- this.stateBeforeTagName(M);
- break;
- }
- case i.AfterAttributeName: {
- this.stateAfterAttributeName(M);
- break;
- }
- case i.InAttributeValueSq: {
- this.stateInAttributeValueSingleQuotes(M);
- break;
- }
- case i.BeforeAttributeValue: {
- this.stateBeforeAttributeValue(M);
- break;
- }
- case i.BeforeClosingTagName: {
- this.stateBeforeClosingTagName(M);
- break;
- }
- case i.AfterClosingTagName: {
- this.stateAfterClosingTagName(M);
- break;
- }
- case i.BeforeSpecialS: {
- this.stateBeforeSpecialS(M);
- break;
- }
- case i.InAttributeValueNq: {
- this.stateInAttributeValueNoQuotes(M);
- break;
- }
- case i.InSelfClosingTag: {
- this.stateInSelfClosingTag(M);
- break;
- }
- case i.InDeclaration: {
- this.stateInDeclaration(M);
- break;
- }
- case i.BeforeDeclaration: {
- this.stateBeforeDeclaration(M);
- break;
- }
- case i.BeforeComment: {
- this.stateBeforeComment(M);
- break;
- }
- case i.InProcessingInstruction: {
- this.stateInProcessingInstruction(M);
- break;
- }
- case i.InNamedEntity: {
- this.stateInNamedEntity(M);
- break;
- }
- case i.BeforeEntity: {
- this.stateBeforeEntity(M);
- break;
- }
- case i.InHexEntity: {
- this.stateInHexEntity(M);
- break;
- }
- case i.InNumericEntity: {
- this.stateInNumericEntity(M);
- break;
- }
- default:
- this.stateBeforeNumericEntity(M);
- }
- this.index++;
- }
- this.cleanup();
- }),
- (p.prototype.finish = function () {
- (this.state === i.InNamedEntity && this.emitNamedEntity(),
- this.sectionStart < this.index && this.handleTrailingData(),
- this.cbs.onend());
- }),
- (p.prototype.handleTrailingData = function () {
- var M = this.buffer.length + this.offset;
- this.state === i.InCommentLike
- ? this.currentSequence === b.CdataEnd
- ? this.cbs.oncdata(this.sectionStart, M, 0)
- : this.cbs.oncomment(this.sectionStart, M, 0)
- : this.state === i.InNumericEntity && this.allowLegacyEntity()
- ? this.emitNumericEntity(!1)
- : this.state === i.InHexEntity && this.allowLegacyEntity()
- ? this.emitNumericEntity(!1)
- : this.state === i.InTagName ||
- this.state === i.BeforeAttributeName ||
- this.state === i.BeforeAttributeValue ||
- this.state === i.AfterAttributeName ||
- this.state === i.InAttributeName ||
- this.state === i.InAttributeValueSq ||
- this.state === i.InAttributeValueDq ||
- this.state === i.InAttributeValueNq ||
- this.state === i.InClosingTagName ||
- this.cbs.ontext(this.sectionStart, M);
- }),
- (p.prototype.emitPartial = function (M, d) {
- this.baseState !== i.Text && this.baseState !== i.InSpecialTag
- ? this.cbs.onattribdata(M, d)
- : this.cbs.ontext(M, d);
- }),
- (p.prototype.emitCodePoint = function (M) {
- this.baseState !== i.Text && this.baseState !== i.InSpecialTag
- ? this.cbs.onattribentity(M)
- : this.cbs.ontextentity(M);
- }),
- p
- );
- })();
- t.default = l;
- })(Pu)),
- Pu
- );
-}
-var fO;
-function zO() {
- if (fO) return Ee;
- fO = 1;
- var t =
- (Ee && Ee.__createBinding) ||
- (Object.create
- ? function (f, z, g, A) {
- A === void 0 && (A = g);
- var h = Object.getOwnPropertyDescriptor(z, g);
- ((!h ||
- ("get" in h ? !z.__esModule : h.writable || h.configurable)) &&
- (h = {
- enumerable: !0,
- get: function () {
- return z[g];
- },
- }),
- Object.defineProperty(f, A, h));
- }
- : function (f, z, g, A) {
- (A === void 0 && (A = g), (f[A] = z[g]));
- }),
- e =
- (Ee && Ee.__setModuleDefault) ||
- (Object.create
- ? function (f, z) {
- Object.defineProperty(f, "default", { enumerable: !0, value: z });
- }
- : function (f, z) {
- f.default = z;
- }),
- n =
- (Ee && Ee.__importStar) ||
- function (f) {
- if (f && f.__esModule) return f;
- var z = {};
- if (f != null)
- for (var g in f)
- g !== "default" &&
- Object.prototype.hasOwnProperty.call(f, g) &&
- t(z, f, g);
- return (e(z, f), z);
- };
- (Object.defineProperty(Ee, "__esModule", { value: !0 }),
- (Ee.Parser = void 0));
- var i = n(q6()),
- r = A6(),
- s = new Set([
- "input",
- "option",
- "optgroup",
- "select",
- "button",
- "datalist",
- "textarea",
- ]),
- o = new Set(["p"]),
- a = new Set(["thead", "tbody"]),
- u = new Set(["dd", "dt"]),
- c = new Set(["rt", "rp"]),
- b = new Map([
- ["tr", new Set(["tr", "th", "td"])],
- ["th", new Set(["th"])],
- ["td", new Set(["thead", "th", "td"])],
- ["body", new Set(["head", "link", "script"])],
- ["li", new Set(["li"])],
- ["p", o],
- ["h1", o],
- ["h2", o],
- ["h3", o],
- ["h4", o],
- ["h5", o],
- ["h6", o],
- ["select", s],
- ["input", s],
- ["output", s],
- ["button", s],
- ["datalist", s],
- ["textarea", s],
- ["option", new Set(["option"])],
- ["optgroup", new Set(["optgroup", "option"])],
- ["dd", u],
- ["dt", u],
- ["address", o],
- ["article", o],
- ["aside", o],
- ["blockquote", o],
- ["details", o],
- ["div", o],
- ["dl", o],
- ["fieldset", o],
- ["figcaption", o],
- ["figure", o],
- ["footer", o],
- ["form", o],
- ["header", o],
- ["hr", o],
- ["main", o],
- ["nav", o],
- ["ol", o],
- ["pre", o],
- ["section", o],
- ["table", o],
- ["ul", o],
- ["rt", c],
- ["rp", c],
- ["tbody", a],
- ["tfoot", a],
- ]),
- l = new Set([
- "area",
- "base",
- "basefont",
- "br",
- "col",
- "command",
- "embed",
- "frame",
- "hr",
- "img",
- "input",
- "isindex",
- "keygen",
- "link",
- "meta",
- "param",
- "source",
- "track",
- "wbr",
- ]),
- p = new Set(["math", "svg"]),
- M = new Set([
- "mi",
- "mo",
- "mn",
- "ms",
- "mtext",
- "annotation-xml",
- "foreignobject",
- "desc",
- "title",
- ]),
- d = /\s|\//,
- O = (function () {
- function f(z, g) {
- g === void 0 && (g = {});
- var A, h, q, v, m;
- ((this.options = g),
- (this.startIndex = 0),
- (this.endIndex = 0),
- (this.openTagStart = 0),
- (this.tagname = ""),
- (this.attribname = ""),
- (this.attribvalue = ""),
- (this.attribs = null),
- (this.stack = []),
- (this.foreignContext = []),
- (this.buffers = []),
- (this.bufferOffset = 0),
- (this.writeIndex = 0),
- (this.ended = !1),
- (this.cbs = z ?? {}),
- (this.lowerCaseTagNames =
- (A = g.lowerCaseTags) !== null && A !== void 0 ? A : !g.xmlMode),
- (this.lowerCaseAttributeNames =
- (h = g.lowerCaseAttributeNames) !== null && h !== void 0
- ? h
- : !g.xmlMode),
- (this.tokenizer = new (
- (q = g.Tokenizer) !== null && q !== void 0 ? q : i.default
- )(this.options, this)),
- (m = (v = this.cbs).onparserinit) === null ||
- m === void 0 ||
- m.call(v, this));
- }
- return (
- (f.prototype.ontext = function (z, g) {
- var A,
- h,
- q = this.getSlice(z, g);
- ((this.endIndex = g - 1),
- (h = (A = this.cbs).ontext) === null ||
- h === void 0 ||
- h.call(A, q),
- (this.startIndex = g));
- }),
- (f.prototype.ontextentity = function (z) {
- var g,
- A,
- h = this.tokenizer.getSectionStart();
- ((this.endIndex = h - 1),
- (A = (g = this.cbs).ontext) === null ||
- A === void 0 ||
- A.call(g, (0, r.fromCodePoint)(z)),
- (this.startIndex = h));
- }),
- (f.prototype.isVoidElement = function (z) {
- return !this.options.xmlMode && l.has(z);
- }),
- (f.prototype.onopentagname = function (z, g) {
- this.endIndex = g;
- var A = this.getSlice(z, g);
- (this.lowerCaseTagNames && (A = A.toLowerCase()),
- this.emitOpenTag(A));
- }),
- (f.prototype.emitOpenTag = function (z) {
- var g, A, h, q;
- ((this.openTagStart = this.startIndex), (this.tagname = z));
- var v = !this.options.xmlMode && b.get(z);
- if (v)
- for (
- ;
- this.stack.length > 0 && v.has(this.stack[this.stack.length - 1]);
- ) {
- var m = this.stack.pop();
- (A = (g = this.cbs).onclosetag) === null ||
- A === void 0 ||
- A.call(g, m, !0);
- }
- (this.isVoidElement(z) ||
- (this.stack.push(z),
- p.has(z)
- ? this.foreignContext.push(!0)
- : M.has(z) && this.foreignContext.push(!1)),
- (q = (h = this.cbs).onopentagname) === null ||
- q === void 0 ||
- q.call(h, z),
- this.cbs.onopentag && (this.attribs = {}));
- }),
- (f.prototype.endOpenTag = function (z) {
- var g, A;
- ((this.startIndex = this.openTagStart),
- this.attribs &&
- ((A = (g = this.cbs).onopentag) === null ||
- A === void 0 ||
- A.call(g, this.tagname, this.attribs, z),
- (this.attribs = null)),
- this.cbs.onclosetag &&
- this.isVoidElement(this.tagname) &&
- this.cbs.onclosetag(this.tagname, !0),
- (this.tagname = ""));
- }),
- (f.prototype.onopentagend = function (z) {
- ((this.endIndex = z), this.endOpenTag(!1), (this.startIndex = z + 1));
- }),
- (f.prototype.onclosetag = function (z, g) {
- var A, h, q, v, m, E;
- this.endIndex = g;
- var _ = this.getSlice(z, g);
- if (
- (this.lowerCaseTagNames && (_ = _.toLowerCase()),
- (p.has(_) || M.has(_)) && this.foreignContext.pop(),
- this.isVoidElement(_))
- )
- !this.options.xmlMode &&
- _ === "br" &&
- ((h = (A = this.cbs).onopentagname) === null ||
- h === void 0 ||
- h.call(A, "br"),
- (v = (q = this.cbs).onopentag) === null ||
- v === void 0 ||
- v.call(q, "br", {}, !0),
- (E = (m = this.cbs).onclosetag) === null ||
- E === void 0 ||
- E.call(m, "br", !1));
- else {
- var T = this.stack.lastIndexOf(_);
- if (T !== -1)
- if (this.cbs.onclosetag)
- for (var y = this.stack.length - T; y--; )
- this.cbs.onclosetag(this.stack.pop(), y !== 0);
- else this.stack.length = T;
- else
- !this.options.xmlMode &&
- _ === "p" &&
- (this.emitOpenTag("p"), this.closeCurrentTag(!0));
- }
- this.startIndex = g + 1;
- }),
- (f.prototype.onselfclosingtag = function (z) {
- ((this.endIndex = z),
- this.options.xmlMode ||
- this.options.recognizeSelfClosing ||
- this.foreignContext[this.foreignContext.length - 1]
- ? (this.closeCurrentTag(!1), (this.startIndex = z + 1))
- : this.onopentagend(z));
- }),
- (f.prototype.closeCurrentTag = function (z) {
- var g,
- A,
- h = this.tagname;
- (this.endOpenTag(z),
- this.stack[this.stack.length - 1] === h &&
- ((A = (g = this.cbs).onclosetag) === null ||
- A === void 0 ||
- A.call(g, h, !z),
- this.stack.pop()));
- }),
- (f.prototype.onattribname = function (z, g) {
- this.startIndex = z;
- var A = this.getSlice(z, g);
- this.attribname = this.lowerCaseAttributeNames ? A.toLowerCase() : A;
- }),
- (f.prototype.onattribdata = function (z, g) {
- this.attribvalue += this.getSlice(z, g);
- }),
- (f.prototype.onattribentity = function (z) {
- this.attribvalue += (0, r.fromCodePoint)(z);
- }),
- (f.prototype.onattribend = function (z, g) {
- var A, h;
- ((this.endIndex = g),
- (h = (A = this.cbs).onattribute) === null ||
- h === void 0 ||
- h.call(
- A,
- this.attribname,
- this.attribvalue,
- z === i.QuoteType.Double
- ? '"'
- : z === i.QuoteType.Single
- ? "'"
- : z === i.QuoteType.NoValue
- ? void 0
- : null,
- ),
- this.attribs &&
- !Object.prototype.hasOwnProperty.call(
- this.attribs,
- this.attribname,
- ) &&
- (this.attribs[this.attribname] = this.attribvalue),
- (this.attribvalue = ""));
- }),
- (f.prototype.getInstructionName = function (z) {
- var g = z.search(d),
- A = g < 0 ? z : z.substr(0, g);
- return (this.lowerCaseTagNames && (A = A.toLowerCase()), A);
- }),
- (f.prototype.ondeclaration = function (z, g) {
- this.endIndex = g;
- var A = this.getSlice(z, g);
- if (this.cbs.onprocessinginstruction) {
- var h = this.getInstructionName(A);
- this.cbs.onprocessinginstruction("!".concat(h), "!".concat(A));
- }
- this.startIndex = g + 1;
- }),
- (f.prototype.onprocessinginstruction = function (z, g) {
- this.endIndex = g;
- var A = this.getSlice(z, g);
- if (this.cbs.onprocessinginstruction) {
- var h = this.getInstructionName(A);
- this.cbs.onprocessinginstruction("?".concat(h), "?".concat(A));
- }
- this.startIndex = g + 1;
- }),
- (f.prototype.oncomment = function (z, g, A) {
- var h, q, v, m;
- ((this.endIndex = g),
- (q = (h = this.cbs).oncomment) === null ||
- q === void 0 ||
- q.call(h, this.getSlice(z, g - A)),
- (m = (v = this.cbs).oncommentend) === null ||
- m === void 0 ||
- m.call(v),
- (this.startIndex = g + 1));
- }),
- (f.prototype.oncdata = function (z, g, A) {
- var h, q, v, m, E, _, T, y, W, x;
- this.endIndex = g;
- var B = this.getSlice(z, g - A);
- (this.options.xmlMode || this.options.recognizeCDATA
- ? ((q = (h = this.cbs).oncdatastart) === null ||
- q === void 0 ||
- q.call(h),
- (m = (v = this.cbs).ontext) === null ||
- m === void 0 ||
- m.call(v, B),
- (_ = (E = this.cbs).oncdataend) === null ||
- _ === void 0 ||
- _.call(E))
- : ((y = (T = this.cbs).oncomment) === null ||
- y === void 0 ||
- y.call(T, "[CDATA[".concat(B, "]]")),
- (x = (W = this.cbs).oncommentend) === null ||
- x === void 0 ||
- x.call(W)),
- (this.startIndex = g + 1));
- }),
- (f.prototype.onend = function () {
- var z, g;
- if (this.cbs.onclosetag) {
- this.endIndex = this.startIndex;
- for (
- var A = this.stack.length;
- A > 0;
- this.cbs.onclosetag(this.stack[--A], !0)
- );
- }
- (g = (z = this.cbs).onend) === null || g === void 0 || g.call(z);
- }),
- (f.prototype.reset = function () {
- var z, g, A, h;
- ((g = (z = this.cbs).onreset) === null || g === void 0 || g.call(z),
- this.tokenizer.reset(),
- (this.tagname = ""),
- (this.attribname = ""),
- (this.attribs = null),
- (this.stack.length = 0),
- (this.startIndex = 0),
- (this.endIndex = 0),
- (h = (A = this.cbs).onparserinit) === null ||
- h === void 0 ||
- h.call(A, this),
- (this.buffers.length = 0),
- (this.bufferOffset = 0),
- (this.writeIndex = 0),
- (this.ended = !1));
- }),
- (f.prototype.parseComplete = function (z) {
- (this.reset(), this.end(z));
- }),
- (f.prototype.getSlice = function (z, g) {
- for (; z - this.bufferOffset >= this.buffers[0].length; )
- this.shiftBuffer();
- for (
- var A = this.buffers[0].slice(
- z - this.bufferOffset,
- g - this.bufferOffset,
- );
- g - this.bufferOffset > this.buffers[0].length;
- )
- (this.shiftBuffer(),
- (A += this.buffers[0].slice(0, g - this.bufferOffset)));
- return A;
- }),
- (f.prototype.shiftBuffer = function () {
- ((this.bufferOffset += this.buffers[0].length),
- this.writeIndex--,
- this.buffers.shift());
- }),
- (f.prototype.write = function (z) {
- var g, A;
- if (this.ended) {
- (A = (g = this.cbs).onerror) === null ||
- A === void 0 ||
- A.call(g, new Error(".write() after done!"));
- return;
- }
- (this.buffers.push(z),
- this.tokenizer.running &&
- (this.tokenizer.write(z), this.writeIndex++));
- }),
- (f.prototype.end = function (z) {
- var g, A;
- if (this.ended) {
- (A = (g = this.cbs).onerror) === null ||
- A === void 0 ||
- A.call(g, new Error(".end() after done!"));
- return;
- }
- (z && this.write(z), (this.ended = !0), this.tokenizer.end());
- }),
- (f.prototype.pause = function () {
- this.tokenizer.pause();
- }),
- (f.prototype.resume = function () {
- for (
- this.tokenizer.resume();
- this.tokenizer.running && this.writeIndex < this.buffers.length;
- )
- this.tokenizer.write(this.buffers[this.writeIndex++]);
- this.ended && this.tokenizer.end();
- }),
- (f.prototype.parseChunk = function (z) {
- this.write(z);
- }),
- (f.prototype.done = function (z) {
- this.end(z);
- }),
- f
- );
- })();
- return ((Ee.Parser = O), Ee);
-}
-var kn = {},
- Fu = {},
- OO;
-function co() {
- return (
- OO ||
- ((OO = 1),
- (function (t) {
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.Doctype =
- t.CDATA =
- t.Tag =
- t.Style =
- t.Script =
- t.Comment =
- t.Directive =
- t.Text =
- t.Root =
- t.isTag =
- t.ElementType =
- void 0));
- var e;
- (function (i) {
- ((i.Root = "root"),
- (i.Text = "text"),
- (i.Directive = "directive"),
- (i.Comment = "comment"),
- (i.Script = "script"),
- (i.Style = "style"),
- (i.Tag = "tag"),
- (i.CDATA = "cdata"),
- (i.Doctype = "doctype"));
- })((e = t.ElementType || (t.ElementType = {})));
- function n(i) {
- return i.type === e.Tag || i.type === e.Script || i.type === e.Style;
- }
- ((t.isTag = n),
- (t.Root = e.Root),
- (t.Text = e.Text),
- (t.Directive = e.Directive),
- (t.Comment = e.Comment),
- (t.Script = e.Script),
- (t.Style = e.Style),
- (t.Tag = e.Tag),
- (t.CDATA = e.CDATA),
- (t.Doctype = e.Doctype));
- })(Fu)),
- Fu
- );
-}
-var L0 = {},
- hO;
-function AO() {
- if (hO) return L0;
- hO = 1;
- var t =
- (L0 && L0.__extends) ||
- (function () {
- var q = function (v, m) {
- return (
- (q =
- Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array &&
- function (E, _) {
- E.__proto__ = _;
- }) ||
- function (E, _) {
- for (var T in _)
- Object.prototype.hasOwnProperty.call(_, T) && (E[T] = _[T]);
- }),
- q(v, m)
- );
- };
- return function (v, m) {
- if (typeof m != "function" && m !== null)
- throw new TypeError(
- "Class extends value " +
- String(m) +
- " is not a constructor or null",
- );
- q(v, m);
- function E() {
- this.constructor = v;
- }
- v.prototype =
- m === null
- ? Object.create(m)
- : ((E.prototype = m.prototype), new E());
- };
- })(),
- e =
- (L0 && L0.__assign) ||
- function () {
- return (
- (e =
- Object.assign ||
- function (q) {
- for (var v, m = 1, E = arguments.length; m < E; m++) {
- v = arguments[m];
- for (var _ in v)
- Object.prototype.hasOwnProperty.call(v, _) && (q[_] = v[_]);
- }
- return q;
- }),
- e.apply(this, arguments)
- );
- };
- (Object.defineProperty(L0, "__esModule", { value: !0 }),
- (L0.cloneNode =
- L0.hasChildren =
- L0.isDocument =
- L0.isDirective =
- L0.isComment =
- L0.isText =
- L0.isCDATA =
- L0.isTag =
- L0.Element =
- L0.Document =
- L0.CDATA =
- L0.NodeWithChildren =
- L0.ProcessingInstruction =
- L0.Comment =
- L0.Text =
- L0.DataNode =
- L0.Node =
- void 0));
- var n = co(),
- i = (function () {
- function q() {
- ((this.parent = null),
- (this.prev = null),
- (this.next = null),
- (this.startIndex = null),
- (this.endIndex = null));
- }
- return (
- Object.defineProperty(q.prototype, "parentNode", {
- get: function () {
- return this.parent;
- },
- set: function (v) {
- this.parent = v;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(q.prototype, "previousSibling", {
- get: function () {
- return this.prev;
- },
- set: function (v) {
- this.prev = v;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(q.prototype, "nextSibling", {
- get: function () {
- return this.next;
- },
- set: function (v) {
- this.next = v;
- },
- enumerable: !1,
- configurable: !0,
- }),
- (q.prototype.cloneNode = function (v) {
- return (v === void 0 && (v = !1), A(this, v));
- }),
- q
- );
- })();
- L0.Node = i;
- var r = (function (q) {
- t(v, q);
- function v(m) {
- var E = q.call(this) || this;
- return ((E.data = m), E);
- }
- return (
- Object.defineProperty(v.prototype, "nodeValue", {
- get: function () {
- return this.data;
- },
- set: function (m) {
- this.data = m;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(i);
- L0.DataNode = r;
- var s = (function (q) {
- t(v, q);
- function v() {
- var m = (q !== null && q.apply(this, arguments)) || this;
- return ((m.type = n.ElementType.Text), m);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 3;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(r);
- L0.Text = s;
- var o = (function (q) {
- t(v, q);
- function v() {
- var m = (q !== null && q.apply(this, arguments)) || this;
- return ((m.type = n.ElementType.Comment), m);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 8;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(r);
- L0.Comment = o;
- var a = (function (q) {
- t(v, q);
- function v(m, E) {
- var _ = q.call(this, E) || this;
- return ((_.name = m), (_.type = n.ElementType.Directive), _);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 1;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(r);
- L0.ProcessingInstruction = a;
- var u = (function (q) {
- t(v, q);
- function v(m) {
- var E = q.call(this) || this;
- return ((E.children = m), E);
- }
- return (
- Object.defineProperty(v.prototype, "firstChild", {
- get: function () {
- var m;
- return (m = this.children[0]) !== null && m !== void 0 ? m : null;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(v.prototype, "lastChild", {
- get: function () {
- return this.children.length > 0
- ? this.children[this.children.length - 1]
- : null;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(v.prototype, "childNodes", {
- get: function () {
- return this.children;
- },
- set: function (m) {
- this.children = m;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(i);
- L0.NodeWithChildren = u;
- var c = (function (q) {
- t(v, q);
- function v() {
- var m = (q !== null && q.apply(this, arguments)) || this;
- return ((m.type = n.ElementType.CDATA), m);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 4;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(u);
- L0.CDATA = c;
- var b = (function (q) {
- t(v, q);
- function v() {
- var m = (q !== null && q.apply(this, arguments)) || this;
- return ((m.type = n.ElementType.Root), m);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 9;
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(u);
- L0.Document = b;
- var l = (function (q) {
- t(v, q);
- function v(m, E, _, T) {
- (_ === void 0 && (_ = []),
- T === void 0 &&
- (T =
- m === "script"
- ? n.ElementType.Script
- : m === "style"
- ? n.ElementType.Style
- : n.ElementType.Tag));
- var y = q.call(this, _) || this;
- return ((y.name = m), (y.attribs = E), (y.type = T), y);
- }
- return (
- Object.defineProperty(v.prototype, "nodeType", {
- get: function () {
- return 1;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(v.prototype, "tagName", {
- get: function () {
- return this.name;
- },
- set: function (m) {
- this.name = m;
- },
- enumerable: !1,
- configurable: !0,
- }),
- Object.defineProperty(v.prototype, "attributes", {
- get: function () {
- var m = this;
- return Object.keys(this.attribs).map(function (E) {
- var _, T;
- return {
- name: E,
- value: m.attribs[E],
- namespace:
- (_ = m["x-attribsNamespace"]) === null || _ === void 0
- ? void 0
- : _[E],
- prefix:
- (T = m["x-attribsPrefix"]) === null || T === void 0
- ? void 0
- : T[E],
- };
- });
- },
- enumerable: !1,
- configurable: !0,
- }),
- v
- );
- })(u);
- L0.Element = l;
- function p(q) {
- return (0, n.isTag)(q);
- }
- L0.isTag = p;
- function M(q) {
- return q.type === n.ElementType.CDATA;
- }
- L0.isCDATA = M;
- function d(q) {
- return q.type === n.ElementType.Text;
- }
- L0.isText = d;
- function O(q) {
- return q.type === n.ElementType.Comment;
- }
- L0.isComment = O;
- function f(q) {
- return q.type === n.ElementType.Directive;
- }
- L0.isDirective = f;
- function z(q) {
- return q.type === n.ElementType.Root;
- }
- L0.isDocument = z;
- function g(q) {
- return Object.prototype.hasOwnProperty.call(q, "children");
- }
- L0.hasChildren = g;
- function A(q, v) {
- v === void 0 && (v = !1);
- var m;
- if (d(q)) m = new s(q.data);
- else if (O(q)) m = new o(q.data);
- else if (p(q)) {
- var E = v ? h(q.children) : [],
- _ = new l(q.name, e({}, q.attribs), E);
- (E.forEach(function (x) {
- return (x.parent = _);
- }),
- q.namespace != null && (_.namespace = q.namespace),
- q["x-attribsNamespace"] &&
- (_["x-attribsNamespace"] = e({}, q["x-attribsNamespace"])),
- q["x-attribsPrefix"] &&
- (_["x-attribsPrefix"] = e({}, q["x-attribsPrefix"])),
- (m = _));
- } else if (M(q)) {
- var E = v ? h(q.children) : [],
- T = new c(E);
- (E.forEach(function (B) {
- return (B.parent = T);
- }),
- (m = T));
- } else if (z(q)) {
- var E = v ? h(q.children) : [],
- y = new b(E);
- (E.forEach(function (B) {
- return (B.parent = y);
- }),
- q["x-mode"] && (y["x-mode"] = q["x-mode"]),
- (m = y));
- } else if (f(q)) {
- var W = new a(q.name, q.data);
- (q["x-name"] != null &&
- ((W["x-name"] = q["x-name"]),
- (W["x-publicId"] = q["x-publicId"]),
- (W["x-systemId"] = q["x-systemId"])),
- (m = W));
- } else throw new Error("Not implemented yet: ".concat(q.type));
- return (
- (m.startIndex = q.startIndex),
- (m.endIndex = q.endIndex),
- q.sourceCodeLocation != null &&
- (m.sourceCodeLocation = q.sourceCodeLocation),
- m
- );
- }
- L0.cloneNode = A;
- function h(q) {
- for (
- var v = q.map(function (E) {
- return A(E, !0);
- }),
- m = 1;
- m < v.length;
- m++
- )
- ((v[m].prev = v[m - 1]), (v[m - 1].next = v[m]));
- return v;
- }
- return L0;
-}
-var qO;
-function _n() {
- return (
- qO ||
- ((qO = 1),
- (function (t) {
- var e =
- (kn && kn.__createBinding) ||
- (Object.create
- ? function (a, u, c, b) {
- b === void 0 && (b = c);
- var l = Object.getOwnPropertyDescriptor(u, c);
- ((!l ||
- ("get" in l
- ? !u.__esModule
- : l.writable || l.configurable)) &&
- (l = {
- enumerable: !0,
- get: function () {
- return u[c];
- },
- }),
- Object.defineProperty(a, b, l));
- }
- : function (a, u, c, b) {
- (b === void 0 && (b = c), (a[b] = u[c]));
- }),
- n =
- (kn && kn.__exportStar) ||
- function (a, u) {
- for (var c in a)
- c !== "default" &&
- !Object.prototype.hasOwnProperty.call(u, c) &&
- e(u, a, c);
- };
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.DomHandler = void 0));
- var i = co(),
- r = AO();
- n(AO(), t);
- var s = { withStartIndices: !1, withEndIndices: !1, xmlMode: !1 },
- o = (function () {
- function a(u, c, b) {
- ((this.dom = []),
- (this.root = new r.Document(this.dom)),
- (this.done = !1),
- (this.tagStack = [this.root]),
- (this.lastNode = null),
- (this.parser = null),
- typeof c == "function" && ((b = c), (c = s)),
- typeof u == "object" && ((c = u), (u = void 0)),
- (this.callback = u ?? null),
- (this.options = c ?? s),
- (this.elementCB = b ?? null));
- }
- return (
- (a.prototype.onparserinit = function (u) {
- this.parser = u;
- }),
- (a.prototype.onreset = function () {
- ((this.dom = []),
- (this.root = new r.Document(this.dom)),
- (this.done = !1),
- (this.tagStack = [this.root]),
- (this.lastNode = null),
- (this.parser = null));
- }),
- (a.prototype.onend = function () {
- this.done ||
- ((this.done = !0),
- (this.parser = null),
- this.handleCallback(null));
- }),
- (a.prototype.onerror = function (u) {
- this.handleCallback(u);
- }),
- (a.prototype.onclosetag = function () {
- this.lastNode = null;
- var u = this.tagStack.pop();
- (this.options.withEndIndices &&
- (u.endIndex = this.parser.endIndex),
- this.elementCB && this.elementCB(u));
- }),
- (a.prototype.onopentag = function (u, c) {
- var b = this.options.xmlMode ? i.ElementType.Tag : void 0,
- l = new r.Element(u, c, void 0, b);
- (this.addNode(l), this.tagStack.push(l));
- }),
- (a.prototype.ontext = function (u) {
- var c = this.lastNode;
- if (c && c.type === i.ElementType.Text)
- ((c.data += u),
- this.options.withEndIndices &&
- (c.endIndex = this.parser.endIndex));
- else {
- var b = new r.Text(u);
- (this.addNode(b), (this.lastNode = b));
- }
- }),
- (a.prototype.oncomment = function (u) {
- if (
- this.lastNode &&
- this.lastNode.type === i.ElementType.Comment
- ) {
- this.lastNode.data += u;
- return;
- }
- var c = new r.Comment(u);
- (this.addNode(c), (this.lastNode = c));
- }),
- (a.prototype.oncommentend = function () {
- this.lastNode = null;
- }),
- (a.prototype.oncdatastart = function () {
- var u = new r.Text(""),
- c = new r.CDATA([u]);
- (this.addNode(c), (u.parent = c), (this.lastNode = u));
- }),
- (a.prototype.oncdataend = function () {
- this.lastNode = null;
- }),
- (a.prototype.onprocessinginstruction = function (u, c) {
- var b = new r.ProcessingInstruction(u, c);
- this.addNode(b);
- }),
- (a.prototype.handleCallback = function (u) {
- if (typeof this.callback == "function")
- this.callback(u, this.dom);
- else if (u) throw u;
- }),
- (a.prototype.addNode = function (u) {
- var c = this.tagStack[this.tagStack.length - 1],
- b = c.children[c.children.length - 1];
- (this.options.withStartIndices &&
- (u.startIndex = this.parser.startIndex),
- this.options.withEndIndices &&
- (u.endIndex = this.parser.endIndex),
- c.children.push(u),
- b && ((u.prev = b), (b.next = u)),
- (u.parent = c),
- (this.lastNode = null));
- }),
- a
- );
- })();
- ((t.DomHandler = o), (t.default = o));
- })(kn)),
- kn
- );
-}
-var Pn = {},
- Qe = {},
- C1 = {},
- Uu = {},
- _e = {},
- jo = {},
- gO;
-function Yq0() {
- return (
- gO ||
- ((gO = 1),
- Object.defineProperty(jo, "__esModule", { value: !0 }),
- (jo.default = new Uint16Array(
- 'ᵁ<Õıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegraìȹoɴ\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱còJTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦ëeryThiîtedĀGLଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻Ó䃓Āiyීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬืde耻Õ䃕es;樷ml耻Ö䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtèa;䎖r;愨pf;愤cr;쀀𝒵ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;eᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t»pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ\0\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»eóɍǧ\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍ròar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴoôĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»ṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0proør;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼ròòΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonóquigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roøurĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨íistĀ;sடr;쀀𝔫ȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lanôií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lleìl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉uå;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭ååഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñĀ;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;cⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀𝔬ͯ\0\0\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨrò᪀Āirⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀¶;l䂶leìЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴ïrel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⋢⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ìâヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowóarpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓ròaòՑ;怏oustĀ;a㈞掱che»mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì耻䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫwar;椪lig耻ß䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rëƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproøim»ኬsðኞĀas㚺㚮ðrn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xôheadĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roðtré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'
- .split("")
- .map(function (t) {
- return t.charCodeAt(0);
- }),
- ))),
- jo
- );
-}
-var Ko = {},
- mO;
-function Qq0() {
- return (
- mO ||
- ((mO = 1),
- Object.defineProperty(Ko, "__esModule", { value: !0 }),
- (Ko.default = new Uint16Array(
- "Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function (t) {
- return t.charCodeAt(0);
- }),
- ))),
- Ko
- );
-}
-var $u = {},
- WO;
-function RO() {
- return (
- WO ||
- ((WO = 1),
- (function (t) {
- var e;
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.replaceCodePoint = t.fromCodePoint = void 0));
- var n = new Map([
- [0, 65533],
- [128, 8364],
- [130, 8218],
- [131, 402],
- [132, 8222],
- [133, 8230],
- [134, 8224],
- [135, 8225],
- [136, 710],
- [137, 8240],
- [138, 352],
- [139, 8249],
- [140, 338],
- [142, 381],
- [145, 8216],
- [146, 8217],
- [147, 8220],
- [148, 8221],
- [149, 8226],
- [150, 8211],
- [151, 8212],
- [152, 732],
- [153, 8482],
- [154, 353],
- [155, 8250],
- [156, 339],
- [158, 382],
- [159, 376],
- ]);
- t.fromCodePoint =
- (e = String.fromCodePoint) !== null && e !== void 0
- ? e
- : function (s) {
- var o = "";
- return (
- s > 65535 &&
- ((s -= 65536),
- (o += String.fromCharCode(((s >>> 10) & 1023) | 55296)),
- (s = 56320 | (s & 1023))),
- (o += String.fromCharCode(s)),
- o
- );
- };
- function i(s) {
- var o;
- return (s >= 55296 && s <= 57343) || s > 1114111
- ? 65533
- : (o = n.get(s)) !== null && o !== void 0
- ? o
- : s;
- }
- t.replaceCodePoint = i;
- function r(s) {
- return (0, t.fromCodePoint)(i(s));
- }
- t.default = r;
- })($u)),
- $u
- );
-}
-var yO;
-function LO() {
- return (
- yO ||
- ((yO = 1),
- (function (t) {
- var e =
- (_e && _e.__createBinding) ||
- (Object.create
- ? function (y, W, x, B) {
- B === void 0 && (B = x);
- var N = Object.getOwnPropertyDescriptor(W, x);
- ((!N ||
- ("get" in N
- ? !W.__esModule
- : N.writable || N.configurable)) &&
- (N = {
- enumerable: !0,
- get: function () {
- return W[x];
- },
- }),
- Object.defineProperty(y, B, N));
- }
- : function (y, W, x, B) {
- (B === void 0 && (B = x), (y[B] = W[x]));
- }),
- n =
- (_e && _e.__setModuleDefault) ||
- (Object.create
- ? function (y, W) {
- Object.defineProperty(y, "default", {
- enumerable: !0,
- value: W,
- });
- }
- : function (y, W) {
- y.default = W;
- }),
- i =
- (_e && _e.__importStar) ||
- function (y) {
- if (y && y.__esModule) return y;
- var W = {};
- if (y != null)
- for (var x in y)
- x !== "default" &&
- Object.prototype.hasOwnProperty.call(y, x) &&
- e(W, y, x);
- return (n(W, y), W);
- },
- r =
- (_e && _e.__importDefault) ||
- function (y) {
- return y && y.__esModule ? y : { default: y };
- };
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.decodeXML =
- t.decodeHTMLStrict =
- t.decodeHTMLAttribute =
- t.decodeHTML =
- t.determineBranch =
- t.EntityDecoder =
- t.DecodingMode =
- t.BinTrieFlags =
- t.fromCodePoint =
- t.replaceCodePoint =
- t.decodeCodePoint =
- t.xmlDecodeTree =
- t.htmlDecodeTree =
- void 0));
- var s = r(Yq0());
- t.htmlDecodeTree = s.default;
- var o = r(Qq0());
- t.xmlDecodeTree = o.default;
- var a = i(RO());
- t.decodeCodePoint = a.default;
- var u = RO();
- (Object.defineProperty(t, "replaceCodePoint", {
- enumerable: !0,
- get: function () {
- return u.replaceCodePoint;
- },
- }),
- Object.defineProperty(t, "fromCodePoint", {
- enumerable: !0,
- get: function () {
- return u.fromCodePoint;
- },
- }));
- var c;
- (function (y) {
- ((y[(y.NUM = 35)] = "NUM"),
- (y[(y.SEMI = 59)] = "SEMI"),
- (y[(y.EQUALS = 61)] = "EQUALS"),
- (y[(y.ZERO = 48)] = "ZERO"),
- (y[(y.NINE = 57)] = "NINE"),
- (y[(y.LOWER_A = 97)] = "LOWER_A"),
- (y[(y.LOWER_F = 102)] = "LOWER_F"),
- (y[(y.LOWER_X = 120)] = "LOWER_X"),
- (y[(y.LOWER_Z = 122)] = "LOWER_Z"),
- (y[(y.UPPER_A = 65)] = "UPPER_A"),
- (y[(y.UPPER_F = 70)] = "UPPER_F"),
- (y[(y.UPPER_Z = 90)] = "UPPER_Z"));
- })(c || (c = {}));
- var b = 32,
- l;
- (function (y) {
- ((y[(y.VALUE_LENGTH = 49152)] = "VALUE_LENGTH"),
- (y[(y.BRANCH_LENGTH = 16256)] = "BRANCH_LENGTH"),
- (y[(y.JUMP_TABLE = 127)] = "JUMP_TABLE"));
- })((l = t.BinTrieFlags || (t.BinTrieFlags = {})));
- function p(y) {
- return y >= c.ZERO && y <= c.NINE;
- }
- function M(y) {
- return (
- (y >= c.UPPER_A && y <= c.UPPER_F) ||
- (y >= c.LOWER_A && y <= c.LOWER_F)
- );
- }
- function d(y) {
- return (
- (y >= c.UPPER_A && y <= c.UPPER_Z) ||
- (y >= c.LOWER_A && y <= c.LOWER_Z) ||
- p(y)
- );
- }
- function O(y) {
- return y === c.EQUALS || d(y);
- }
- var f;
- (function (y) {
- ((y[(y.EntityStart = 0)] = "EntityStart"),
- (y[(y.NumericStart = 1)] = "NumericStart"),
- (y[(y.NumericDecimal = 2)] = "NumericDecimal"),
- (y[(y.NumericHex = 3)] = "NumericHex"),
- (y[(y.NamedEntity = 4)] = "NamedEntity"));
- })(f || (f = {}));
- var z;
- (function (y) {
- ((y[(y.Legacy = 0)] = "Legacy"),
- (y[(y.Strict = 1)] = "Strict"),
- (y[(y.Attribute = 2)] = "Attribute"));
- })((z = t.DecodingMode || (t.DecodingMode = {})));
- var g = (function () {
- function y(W, x, B) {
- ((this.decodeTree = W),
- (this.emitCodePoint = x),
- (this.errors = B),
- (this.state = f.EntityStart),
- (this.consumed = 1),
- (this.result = 0),
- (this.treeIndex = 0),
- (this.excess = 1),
- (this.decodeMode = z.Strict));
- }
- return (
- (y.prototype.startEntity = function (W) {
- ((this.decodeMode = W),
- (this.state = f.EntityStart),
- (this.result = 0),
- (this.treeIndex = 0),
- (this.excess = 1),
- (this.consumed = 1));
- }),
- (y.prototype.write = function (W, x) {
- switch (this.state) {
- case f.EntityStart:
- return W.charCodeAt(x) === c.NUM
- ? ((this.state = f.NumericStart),
- (this.consumed += 1),
- this.stateNumericStart(W, x + 1))
- : ((this.state = f.NamedEntity),
- this.stateNamedEntity(W, x));
- case f.NumericStart:
- return this.stateNumericStart(W, x);
- case f.NumericDecimal:
- return this.stateNumericDecimal(W, x);
- case f.NumericHex:
- return this.stateNumericHex(W, x);
- case f.NamedEntity:
- return this.stateNamedEntity(W, x);
- }
- }),
- (y.prototype.stateNumericStart = function (W, x) {
- return x >= W.length
- ? -1
- : (W.charCodeAt(x) | b) === c.LOWER_X
- ? ((this.state = f.NumericHex),
- (this.consumed += 1),
- this.stateNumericHex(W, x + 1))
- : ((this.state = f.NumericDecimal),
- this.stateNumericDecimal(W, x));
- }),
- (y.prototype.addToNumericResult = function (W, x, B, N) {
- if (x !== B) {
- var I = B - x;
- ((this.result =
- this.result * Math.pow(N, I) + parseInt(W.substr(x, I), N)),
- (this.consumed += I));
- }
- }),
- (y.prototype.stateNumericHex = function (W, x) {
- for (var B = x; x < W.length; ) {
- var N = W.charCodeAt(x);
- if (p(N) || M(N)) x += 1;
- else
- return (
- this.addToNumericResult(W, B, x, 16),
- this.emitNumericEntity(N, 3)
- );
- }
- return (this.addToNumericResult(W, B, x, 16), -1);
- }),
- (y.prototype.stateNumericDecimal = function (W, x) {
- for (var B = x; x < W.length; ) {
- var N = W.charCodeAt(x);
- if (p(N)) x += 1;
- else
- return (
- this.addToNumericResult(W, B, x, 10),
- this.emitNumericEntity(N, 2)
- );
- }
- return (this.addToNumericResult(W, B, x, 10), -1);
- }),
- (y.prototype.emitNumericEntity = function (W, x) {
- var B;
- if (this.consumed <= x)
- return (
- (B = this.errors) === null ||
- B === void 0 ||
- B.absenceOfDigitsInNumericCharacterReference(this.consumed),
- 0
- );
- if (W === c.SEMI) this.consumed += 1;
- else if (this.decodeMode === z.Strict) return 0;
- return (
- this.emitCodePoint(
- (0, a.replaceCodePoint)(this.result),
- this.consumed,
- ),
- this.errors &&
- (W !== c.SEMI &&
- this.errors.missingSemicolonAfterCharacterReference(),
- this.errors.validateNumericCharacterReference(this.result)),
- this.consumed
- );
- }),
- (y.prototype.stateNamedEntity = function (W, x) {
- for (
- var B = this.decodeTree,
- N = B[this.treeIndex],
- I = (N & l.VALUE_LENGTH) >> 14;
- x < W.length;
- x++, this.excess++
- ) {
- var k = W.charCodeAt(x);
- if (
- ((this.treeIndex = h(
- B,
- N,
- this.treeIndex + Math.max(1, I),
- k,
- )),
- this.treeIndex < 0)
- )
- return this.result === 0 ||
- (this.decodeMode === z.Attribute && (I === 0 || O(k)))
- ? 0
- : this.emitNotTerminatedNamedEntity();
- if (
- ((N = B[this.treeIndex]),
- (I = (N & l.VALUE_LENGTH) >> 14),
- I !== 0)
- ) {
- if (k === c.SEMI)
- return this.emitNamedEntityData(
- this.treeIndex,
- I,
- this.consumed + this.excess,
- );
- this.decodeMode !== z.Strict &&
- ((this.result = this.treeIndex),
- (this.consumed += this.excess),
- (this.excess = 0));
- }
- }
- return -1;
- }),
- (y.prototype.emitNotTerminatedNamedEntity = function () {
- var W,
- x = this,
- B = x.result,
- N = x.decodeTree,
- I = (N[B] & l.VALUE_LENGTH) >> 14;
- return (
- this.emitNamedEntityData(B, I, this.consumed),
- (W = this.errors) === null ||
- W === void 0 ||
- W.missingSemicolonAfterCharacterReference(),
- this.consumed
- );
- }),
- (y.prototype.emitNamedEntityData = function (W, x, B) {
- var N = this.decodeTree;
- return (
- this.emitCodePoint(
- x === 1 ? N[W] & ~l.VALUE_LENGTH : N[W + 1],
- B,
- ),
- x === 3 && this.emitCodePoint(N[W + 2], B),
- B
- );
- }),
- (y.prototype.end = function () {
- var W;
- switch (this.state) {
- case f.NamedEntity:
- return this.result !== 0 &&
- (this.decodeMode !== z.Attribute ||
- this.result === this.treeIndex)
- ? this.emitNotTerminatedNamedEntity()
- : 0;
- case f.NumericDecimal:
- return this.emitNumericEntity(0, 2);
- case f.NumericHex:
- return this.emitNumericEntity(0, 3);
- case f.NumericStart:
- return (
- (W = this.errors) === null ||
- W === void 0 ||
- W.absenceOfDigitsInNumericCharacterReference(
- this.consumed,
- ),
- 0
- );
- case f.EntityStart:
- return 0;
- }
- }),
- y
- );
- })();
- t.EntityDecoder = g;
- function A(y) {
- var W = "",
- x = new g(y, function (B) {
- return (W += (0, a.fromCodePoint)(B));
- });
- return function (N, I) {
- for (var k = 0, F = 0; (F = N.indexOf("&", F)) >= 0; ) {
- ((W += N.slice(k, F)), x.startEntity(I));
- var Q = x.write(N, F + 1);
- if (Q < 0) {
- k = F + x.end();
- break;
- }
- ((k = F + Q), (F = Q === 0 ? k + 1 : k));
- }
- var n0 = W + N.slice(k);
- return ((W = ""), n0);
- };
- }
- function h(y, W, x, B) {
- var N = (W & l.BRANCH_LENGTH) >> 7,
- I = W & l.JUMP_TABLE;
- if (N === 0) return I !== 0 && B === I ? x : -1;
- if (I) {
- var k = B - I;
- return k < 0 || k >= N ? -1 : y[x + k] - 1;
- }
- for (var F = x, Q = F + N - 1; F <= Q; ) {
- var n0 = (F + Q) >>> 1,
- Y = y[n0];
- if (Y < B) F = n0 + 1;
- else if (Y > B) Q = n0 - 1;
- else return y[n0 + N];
- }
- return -1;
- }
- t.determineBranch = h;
- var q = A(s.default),
- v = A(o.default);
- function m(y, W) {
- return (W === void 0 && (W = z.Legacy), q(y, W));
- }
- t.decodeHTML = m;
- function E(y) {
- return q(y, z.Attribute);
- }
- t.decodeHTMLAttribute = E;
- function _(y) {
- return q(y, z.Strict);
- }
- t.decodeHTMLStrict = _;
- function T(y) {
- return v(y, z.Strict);
- }
- t.decodeXML = T;
- })(_e)),
- _e
- );
-}
-var Wt = {},
- Yo = {},
- vO;
-function Jq0() {
- if (vO) return Yo;
- ((vO = 1), Object.defineProperty(Yo, "__esModule", { value: !0 }));
- function t(e) {
- for (var n = 1; n < e.length; n++) e[n][0] += e[n - 1][0] + 1;
- return e;
- }
- return (
- (Yo.default = new Map(
- t([
- [9, "	"],
- [0, "
"],
- [22, "!"],
- [0, """],
- [0, "#"],
- [0, "$"],
- [0, "%"],
- [0, "&"],
- [0, "'"],
- [0, "("],
- [0, ")"],
- [0, "*"],
- [0, "+"],
- [0, ","],
- [1, "."],
- [0, "/"],
- [10, ":"],
- [0, ";"],
- [0, { v: "<", n: 8402, o: "<⃒" }],
- [0, { v: "=", n: 8421, o: "=⃥" }],
- [0, { v: ">", n: 8402, o: ">⃒" }],
- [0, "?"],
- [0, "@"],
- [26, "["],
- [0, "\"],
- [0, "]"],
- [0, "^"],
- [0, "_"],
- [0, "`"],
- [5, { n: 106, o: "fj" }],
- [20, "{"],
- [0, "|"],
- [0, "}"],
- [34, " "],
- [0, "¡"],
- [0, "¢"],
- [0, "£"],
- [0, "¤"],
- [0, "¥"],
- [0, "¦"],
- [0, "§"],
- [0, "¨"],
- [0, "©"],
- [0, "ª"],
- [0, "«"],
- [0, "¬"],
- [0, ""],
- [0, "®"],
- [0, "¯"],
- [0, "°"],
- [0, "±"],
- [0, "²"],
- [0, "³"],
- [0, "´"],
- [0, "µ"],
- [0, "¶"],
- [0, "·"],
- [0, "¸"],
- [0, "¹"],
- [0, "º"],
- [0, "»"],
- [0, "¼"],
- [0, "½"],
- [0, "¾"],
- [0, "¿"],
- [0, "À"],
- [0, "Á"],
- [0, "Â"],
- [0, "Ã"],
- [0, "Ä"],
- [0, "Å"],
- [0, "Æ"],
- [0, "Ç"],
- [0, "È"],
- [0, "É"],
- [0, "Ê"],
- [0, "Ë"],
- [0, "Ì"],
- [0, "Í"],
- [0, "Î"],
- [0, "Ï"],
- [0, "Ð"],
- [0, "Ñ"],
- [0, "Ò"],
- [0, "Ó"],
- [0, "Ô"],
- [0, "Õ"],
- [0, "Ö"],
- [0, "×"],
- [0, "Ø"],
- [0, "Ù"],
- [0, "Ú"],
- [0, "Û"],
- [0, "Ü"],
- [0, "Ý"],
- [0, "Þ"],
- [0, "ß"],
- [0, "à"],
- [0, "á"],
- [0, "â"],
- [0, "ã"],
- [0, "ä"],
- [0, "å"],
- [0, "æ"],
- [0, "ç"],
- [0, "è"],
- [0, "é"],
- [0, "ê"],
- [0, "ë"],
- [0, "ì"],
- [0, "í"],
- [0, "î"],
- [0, "ï"],
- [0, "ð"],
- [0, "ñ"],
- [0, "ò"],
- [0, "ó"],
- [0, "ô"],
- [0, "õ"],
- [0, "ö"],
- [0, "÷"],
- [0, "ø"],
- [0, "ù"],
- [0, "ú"],
- [0, "û"],
- [0, "ü"],
- [0, "ý"],
- [0, "þ"],
- [0, "ÿ"],
- [0, "Ā"],
- [0, "ā"],
- [0, "Ă"],
- [0, "ă"],
- [0, "Ą"],
- [0, "ą"],
- [0, "Ć"],
- [0, "ć"],
- [0, "Ĉ"],
- [0, "ĉ"],
- [0, "Ċ"],
- [0, "ċ"],
- [0, "Č"],
- [0, "č"],
- [0, "Ď"],
- [0, "ď"],
- [0, "Đ"],
- [0, "đ"],
- [0, "Ē"],
- [0, "ē"],
- [2, "Ė"],
- [0, "ė"],
- [0, "Ę"],
- [0, "ę"],
- [0, "Ě"],
- [0, "ě"],
- [0, "Ĝ"],
- [0, "ĝ"],
- [0, "Ğ"],
- [0, "ğ"],
- [0, "Ġ"],
- [0, "ġ"],
- [0, "Ģ"],
- [1, "Ĥ"],
- [0, "ĥ"],
- [0, "Ħ"],
- [0, "ħ"],
- [0, "Ĩ"],
- [0, "ĩ"],
- [0, "Ī"],
- [0, "ī"],
- [2, "Į"],
- [0, "į"],
- [0, "İ"],
- [0, "ı"],
- [0, "IJ"],
- [0, "ij"],
- [0, "Ĵ"],
- [0, "ĵ"],
- [0, "Ķ"],
- [0, "ķ"],
- [0, "ĸ"],
- [0, "Ĺ"],
- [0, "ĺ"],
- [0, "Ļ"],
- [0, "ļ"],
- [0, "Ľ"],
- [0, "ľ"],
- [0, "Ŀ"],
- [0, "ŀ"],
- [0, "Ł"],
- [0, "ł"],
- [0, "Ń"],
- [0, "ń"],
- [0, "Ņ"],
- [0, "ņ"],
- [0, "Ň"],
- [0, "ň"],
- [0, "ʼn"],
- [0, "Ŋ"],
- [0, "ŋ"],
- [0, "Ō"],
- [0, "ō"],
- [2, "Ő"],
- [0, "ő"],
- [0, "Œ"],
- [0, "œ"],
- [0, "Ŕ"],
- [0, "ŕ"],
- [0, "Ŗ"],
- [0, "ŗ"],
- [0, "Ř"],
- [0, "ř"],
- [0, "Ś"],
- [0, "ś"],
- [0, "Ŝ"],
- [0, "ŝ"],
- [0, "Ş"],
- [0, "ş"],
- [0, "Š"],
- [0, "š"],
- [0, "Ţ"],
- [0, "ţ"],
- [0, "Ť"],
- [0, "ť"],
- [0, "Ŧ"],
- [0, "ŧ"],
- [0, "Ũ"],
- [0, "ũ"],
- [0, "Ū"],
- [0, "ū"],
- [0, "Ŭ"],
- [0, "ŭ"],
- [0, "Ů"],
- [0, "ů"],
- [0, "Ű"],
- [0, "ű"],
- [0, "Ų"],
- [0, "ų"],
- [0, "Ŵ"],
- [0, "ŵ"],
- [0, "Ŷ"],
- [0, "ŷ"],
- [0, "Ÿ"],
- [0, "Ź"],
- [0, "ź"],
- [0, "Ż"],
- [0, "ż"],
- [0, "Ž"],
- [0, "ž"],
- [19, "ƒ"],
- [34, "Ƶ"],
- [63, "ǵ"],
- [65, "ȷ"],
- [142, "ˆ"],
- [0, "ˇ"],
- [16, "˘"],
- [0, "˙"],
- [0, "˚"],
- [0, "˛"],
- [0, "˜"],
- [0, "˝"],
- [51, "̑"],
- [127, "Α"],
- [0, "Β"],
- [0, "Γ"],
- [0, "Δ"],
- [0, "Ε"],
- [0, "Ζ"],
- [0, "Η"],
- [0, "Θ"],
- [0, "Ι"],
- [0, "Κ"],
- [0, "Λ"],
- [0, "Μ"],
- [0, "Ν"],
- [0, "Ξ"],
- [0, "Ο"],
- [0, "Π"],
- [0, "Ρ"],
- [1, "Σ"],
- [0, "Τ"],
- [0, "Υ"],
- [0, "Φ"],
- [0, "Χ"],
- [0, "Ψ"],
- [0, "Ω"],
- [7, "α"],
- [0, "β"],
- [0, "γ"],
- [0, "δ"],
- [0, "ε"],
- [0, "ζ"],
- [0, "η"],
- [0, "θ"],
- [0, "ι"],
- [0, "κ"],
- [0, "λ"],
- [0, "μ"],
- [0, "ν"],
- [0, "ξ"],
- [0, "ο"],
- [0, "π"],
- [0, "ρ"],
- [0, "ς"],
- [0, "σ"],
- [0, "τ"],
- [0, "υ"],
- [0, "φ"],
- [0, "χ"],
- [0, "ψ"],
- [0, "ω"],
- [7, "ϑ"],
- [0, "ϒ"],
- [2, "ϕ"],
- [0, "ϖ"],
- [5, "Ϝ"],
- [0, "ϝ"],
- [18, "ϰ"],
- [0, "ϱ"],
- [3, "ϵ"],
- [0, "϶"],
- [10, "Ё"],
- [0, "Ђ"],
- [0, "Ѓ"],
- [0, "Є"],
- [0, "Ѕ"],
- [0, "І"],
- [0, "Ї"],
- [0, "Ј"],
- [0, "Љ"],
- [0, "Њ"],
- [0, "Ћ"],
- [0, "Ќ"],
- [1, "Ў"],
- [0, "Џ"],
- [0, "А"],
- [0, "Б"],
- [0, "В"],
- [0, "Г"],
- [0, "Д"],
- [0, "Е"],
- [0, "Ж"],
- [0, "З"],
- [0, "И"],
- [0, "Й"],
- [0, "К"],
- [0, "Л"],
- [0, "М"],
- [0, "Н"],
- [0, "О"],
- [0, "П"],
- [0, "Р"],
- [0, "С"],
- [0, "Т"],
- [0, "У"],
- [0, "Ф"],
- [0, "Х"],
- [0, "Ц"],
- [0, "Ч"],
- [0, "Ш"],
- [0, "Щ"],
- [0, "Ъ"],
- [0, "Ы"],
- [0, "Ь"],
- [0, "Э"],
- [0, "Ю"],
- [0, "Я"],
- [0, "а"],
- [0, "б"],
- [0, "в"],
- [0, "г"],
- [0, "д"],
- [0, "е"],
- [0, "ж"],
- [0, "з"],
- [0, "и"],
- [0, "й"],
- [0, "к"],
- [0, "л"],
- [0, "м"],
- [0, "н"],
- [0, "о"],
- [0, "п"],
- [0, "р"],
- [0, "с"],
- [0, "т"],
- [0, "у"],
- [0, "ф"],
- [0, "х"],
- [0, "ц"],
- [0, "ч"],
- [0, "ш"],
- [0, "щ"],
- [0, "ъ"],
- [0, "ы"],
- [0, "ь"],
- [0, "э"],
- [0, "ю"],
- [0, "я"],
- [1, "ё"],
- [0, "ђ"],
- [0, "ѓ"],
- [0, "є"],
- [0, "ѕ"],
- [0, "і"],
- [0, "ї"],
- [0, "ј"],
- [0, "љ"],
- [0, "њ"],
- [0, "ћ"],
- [0, "ќ"],
- [1, "ў"],
- [0, "џ"],
- [7074, " "],
- [0, " "],
- [0, " "],
- [0, " "],
- [1, " "],
- [0, " "],
- [0, " "],
- [0, " "],
- [0, "​"],
- [0, ""],
- [0, ""],
- [0, ""],
- [0, ""],
- [0, "‐"],
- [2, "–"],
- [0, "—"],
- [0, "―"],
- [0, "‖"],
- [1, "‘"],
- [0, "’"],
- [0, "‚"],
- [1, "“"],
- [0, "”"],
- [0, "„"],
- [1, "†"],
- [0, "‡"],
- [0, "•"],
- [2, "‥"],
- [0, "…"],
- [9, "‰"],
- [0, "‱"],
- [0, "′"],
- [0, "″"],
- [0, "‴"],
- [0, "‵"],
- [3, "‹"],
- [0, "›"],
- [3, "‾"],
- [2, "⁁"],
- [1, "⁃"],
- [0, "⁄"],
- [10, "⁏"],
- [7, "⁗"],
- [7, { v: " ", n: 8202, o: "  " }],
- [0, "⁠"],
- [0, "⁡"],
- [0, "⁢"],
- [0, "⁣"],
- [72, "€"],
- [46, "⃛"],
- [0, "⃜"],
- [37, "ℂ"],
- [2, "℅"],
- [4, "ℊ"],
- [0, "ℋ"],
- [0, "ℌ"],
- [0, "ℍ"],
- [0, "ℎ"],
- [0, "ℏ"],
- [0, "ℐ"],
- [0, "ℑ"],
- [0, "ℒ"],
- [0, "ℓ"],
- [1, "ℕ"],
- [0, "№"],
- [0, "℗"],
- [0, "℘"],
- [0, "ℙ"],
- [0, "ℚ"],
- [0, "ℛ"],
- [0, "ℜ"],
- [0, "ℝ"],
- [0, "℞"],
- [3, "™"],
- [1, "ℤ"],
- [2, "℧"],
- [0, "ℨ"],
- [0, "℩"],
- [2, "ℬ"],
- [0, "ℭ"],
- [1, "ℯ"],
- [0, "ℰ"],
- [0, "ℱ"],
- [1, "ℳ"],
- [0, "ℴ"],
- [0, "ℵ"],
- [0, "ℶ"],
- [0, "ℷ"],
- [0, "ℸ"],
- [12, "ⅅ"],
- [0, "ⅆ"],
- [0, "ⅇ"],
- [0, "ⅈ"],
- [10, "⅓"],
- [0, "⅔"],
- [0, "⅕"],
- [0, "⅖"],
- [0, "⅗"],
- [0, "⅘"],
- [0, "⅙"],
- [0, "⅚"],
- [0, "⅛"],
- [0, "⅜"],
- [0, "⅝"],
- [0, "⅞"],
- [49, "←"],
- [0, "↑"],
- [0, "→"],
- [0, "↓"],
- [0, "↔"],
- [0, "↕"],
- [0, "↖"],
- [0, "↗"],
- [0, "↘"],
- [0, "↙"],
- [0, "↚"],
- [0, "↛"],
- [1, { v: "↝", n: 824, o: "↝̸" }],
- [0, "↞"],
- [0, "↟"],
- [0, "↠"],
- [0, "↡"],
- [0, "↢"],
- [0, "↣"],
- [0, "↤"],
- [0, "↥"],
- [0, "↦"],
- [0, "↧"],
- [1, "↩"],
- [0, "↪"],
- [0, "↫"],
- [0, "↬"],
- [0, "↭"],
- [0, "↮"],
- [1, "↰"],
- [0, "↱"],
- [0, "↲"],
- [0, "↳"],
- [1, "↵"],
- [0, "↶"],
- [0, "↷"],
- [2, "↺"],
- [0, "↻"],
- [0, "↼"],
- [0, "↽"],
- [0, "↾"],
- [0, "↿"],
- [0, "⇀"],
- [0, "⇁"],
- [0, "⇂"],
- [0, "⇃"],
- [0, "⇄"],
- [0, "⇅"],
- [0, "⇆"],
- [0, "⇇"],
- [0, "⇈"],
- [0, "⇉"],
- [0, "⇊"],
- [0, "⇋"],
- [0, "⇌"],
- [0, "⇍"],
- [0, "⇎"],
- [0, "⇏"],
- [0, "⇐"],
- [0, "⇑"],
- [0, "⇒"],
- [0, "⇓"],
- [0, "⇔"],
- [0, "⇕"],
- [0, "⇖"],
- [0, "⇗"],
- [0, "⇘"],
- [0, "⇙"],
- [0, "⇚"],
- [0, "⇛"],
- [1, "⇝"],
- [6, "⇤"],
- [0, "⇥"],
- [15, "⇵"],
- [7, "⇽"],
- [0, "⇾"],
- [0, "⇿"],
- [0, "∀"],
- [0, "∁"],
- [0, { v: "∂", n: 824, o: "∂̸" }],
- [0, "∃"],
- [0, "∄"],
- [0, "∅"],
- [1, "∇"],
- [0, "∈"],
- [0, "∉"],
- [1, "∋"],
- [0, "∌"],
- [2, "∏"],
- [0, "∐"],
- [0, "∑"],
- [0, "−"],
- [0, "∓"],
- [0, "∔"],
- [1, "∖"],
- [0, "∗"],
- [0, "∘"],
- [1, "√"],
- [2, "∝"],
- [0, "∞"],
- [0, "∟"],
- [0, { v: "∠", n: 8402, o: "∠⃒" }],
- [0, "∡"],
- [0, "∢"],
- [0, "∣"],
- [0, "∤"],
- [0, "∥"],
- [0, "∦"],
- [0, "∧"],
- [0, "∨"],
- [0, { v: "∩", n: 65024, o: "∩︀" }],
- [0, { v: "∪", n: 65024, o: "∪︀" }],
- [0, "∫"],
- [0, "∬"],
- [0, "∭"],
- [0, "∮"],
- [0, "∯"],
- [0, "∰"],
- [0, "∱"],
- [0, "∲"],
- [0, "∳"],
- [0, "∴"],
- [0, "∵"],
- [0, "∶"],
- [0, "∷"],
- [0, "∸"],
- [1, "∺"],
- [0, "∻"],
- [0, { v: "∼", n: 8402, o: "∼⃒" }],
- [0, { v: "∽", n: 817, o: "∽̱" }],
- [0, { v: "∾", n: 819, o: "∾̳" }],
- [0, "∿"],
- [0, "≀"],
- [0, "≁"],
- [0, { v: "≂", n: 824, o: "≂̸" }],
- [0, "≃"],
- [0, "≄"],
- [0, "≅"],
- [0, "≆"],
- [0, "≇"],
- [0, "≈"],
- [0, "≉"],
- [0, "≊"],
- [0, { v: "≋", n: 824, o: "≋̸" }],
- [0, "≌"],
- [0, { v: "≍", n: 8402, o: "≍⃒" }],
- [0, { v: "≎", n: 824, o: "≎̸" }],
- [0, { v: "≏", n: 824, o: "≏̸" }],
- [0, { v: "≐", n: 824, o: "≐̸" }],
- [0, "≑"],
- [0, "≒"],
- [0, "≓"],
- [0, "≔"],
- [0, "≕"],
- [0, "≖"],
- [0, "≗"],
- [1, "≙"],
- [0, "≚"],
- [1, "≜"],
- [2, "≟"],
- [0, "≠"],
- [0, { v: "≡", n: 8421, o: "≡⃥" }],
- [0, "≢"],
- [1, { v: "≤", n: 8402, o: "≤⃒" }],
- [0, { v: "≥", n: 8402, o: "≥⃒" }],
- [0, { v: "≦", n: 824, o: "≦̸" }],
- [0, { v: "≧", n: 824, o: "≧̸" }],
- [0, { v: "≨", n: 65024, o: "≨︀" }],
- [0, { v: "≩", n: 65024, o: "≩︀" }],
- [
- 0,
- {
- v: "≪",
- n: new Map(
- t([
- [824, "≪̸"],
- [7577, "≪⃒"],
- ]),
- ),
- },
- ],
- [
- 0,
- {
- v: "≫",
- n: new Map(
- t([
- [824, "≫̸"],
- [7577, "≫⃒"],
- ]),
- ),
- },
- ],
- [0, "≬"],
- [0, "≭"],
- [0, "≮"],
- [0, "≯"],
- [0, "≰"],
- [0, "≱"],
- [0, "≲"],
- [0, "≳"],
- [0, "≴"],
- [0, "≵"],
- [0, "≶"],
- [0, "≷"],
- [0, "≸"],
- [0, "≹"],
- [0, "≺"],
- [0, "≻"],
- [0, "≼"],
- [0, "≽"],
- [0, "≾"],
- [0, { v: "≿", n: 824, o: "≿̸" }],
- [0, "⊀"],
- [0, "⊁"],
- [0, { v: "⊂", n: 8402, o: "⊂⃒" }],
- [0, { v: "⊃", n: 8402, o: "⊃⃒" }],
- [0, "⊄"],
- [0, "⊅"],
- [0, "⊆"],
- [0, "⊇"],
- [0, "⊈"],
- [0, "⊉"],
- [0, { v: "⊊", n: 65024, o: "⊊︀" }],
- [0, { v: "⊋", n: 65024, o: "⊋︀" }],
- [1, "⊍"],
- [0, "⊎"],
- [0, { v: "⊏", n: 824, o: "⊏̸" }],
- [0, { v: "⊐", n: 824, o: "⊐̸" }],
- [0, "⊑"],
- [0, "⊒"],
- [0, { v: "⊓", n: 65024, o: "⊓︀" }],
- [0, { v: "⊔", n: 65024, o: "⊔︀" }],
- [0, "⊕"],
- [0, "⊖"],
- [0, "⊗"],
- [0, "⊘"],
- [0, "⊙"],
- [0, "⊚"],
- [0, "⊛"],
- [1, "⊝"],
- [0, "⊞"],
- [0, "⊟"],
- [0, "⊠"],
- [0, "⊡"],
- [0, "⊢"],
- [0, "⊣"],
- [0, "⊤"],
- [0, "⊥"],
- [1, "⊧"],
- [0, "⊨"],
- [0, "⊩"],
- [0, "⊪"],
- [0, "⊫"],
- [0, "⊬"],
- [0, "⊭"],
- [0, "⊮"],
- [0, "⊯"],
- [0, "⊰"],
- [1, "⊲"],
- [0, "⊳"],
- [0, { v: "⊴", n: 8402, o: "⊴⃒" }],
- [0, { v: "⊵", n: 8402, o: "⊵⃒" }],
- [0, "⊶"],
- [0, "⊷"],
- [0, "⊸"],
- [0, "⊹"],
- [0, "⊺"],
- [0, "⊻"],
- [1, "⊽"],
- [0, "⊾"],
- [0, "⊿"],
- [0, "⋀"],
- [0, "⋁"],
- [0, "⋂"],
- [0, "⋃"],
- [0, "⋄"],
- [0, "⋅"],
- [0, "⋆"],
- [0, "⋇"],
- [0, "⋈"],
- [0, "⋉"],
- [0, "⋊"],
- [0, "⋋"],
- [0, "⋌"],
- [0, "⋍"],
- [0, "⋎"],
- [0, "⋏"],
- [0, "⋐"],
- [0, "⋑"],
- [0, "⋒"],
- [0, "⋓"],
- [0, "⋔"],
- [0, "⋕"],
- [0, "⋖"],
- [0, "⋗"],
- [0, { v: "⋘", n: 824, o: "⋘̸" }],
- [0, { v: "⋙", n: 824, o: "⋙̸" }],
- [0, { v: "⋚", n: 65024, o: "⋚︀" }],
- [0, { v: "⋛", n: 65024, o: "⋛︀" }],
- [2, "⋞"],
- [0, "⋟"],
- [0, "⋠"],
- [0, "⋡"],
- [0, "⋢"],
- [0, "⋣"],
- [2, "⋦"],
- [0, "⋧"],
- [0, "⋨"],
- [0, "⋩"],
- [0, "⋪"],
- [0, "⋫"],
- [0, "⋬"],
- [0, "⋭"],
- [0, "⋮"],
- [0, "⋯"],
- [0, "⋰"],
- [0, "⋱"],
- [0, "⋲"],
- [0, "⋳"],
- [0, "⋴"],
- [0, { v: "⋵", n: 824, o: "⋵̸" }],
- [0, "⋶"],
- [0, "⋷"],
- [1, { v: "⋹", n: 824, o: "⋹̸" }],
- [0, "⋺"],
- [0, "⋻"],
- [0, "⋼"],
- [0, "⋽"],
- [0, "⋾"],
- [6, "⌅"],
- [0, "⌆"],
- [1, "⌈"],
- [0, "⌉"],
- [0, "⌊"],
- [0, "⌋"],
- [0, "⌌"],
- [0, "⌍"],
- [0, "⌎"],
- [0, "⌏"],
- [0, "⌐"],
- [1, "⌒"],
- [0, "⌓"],
- [1, "⌕"],
- [0, "⌖"],
- [5, "⌜"],
- [0, "⌝"],
- [0, "⌞"],
- [0, "⌟"],
- [2, "⌢"],
- [0, "⌣"],
- [9, "⌭"],
- [0, "⌮"],
- [7, "⌶"],
- [6, "⌽"],
- [1, "⌿"],
- [60, "⍼"],
- [51, "⎰"],
- [0, "⎱"],
- [2, "⎴"],
- [0, "⎵"],
- [0, "⎶"],
- [37, "⏜"],
- [0, "⏝"],
- [0, "⏞"],
- [0, "⏟"],
- [2, "⏢"],
- [4, "⏧"],
- [59, "␣"],
- [164, "Ⓢ"],
- [55, "─"],
- [1, "│"],
- [9, "┌"],
- [3, "┐"],
- [3, "└"],
- [3, "┘"],
- [3, "├"],
- [7, "┤"],
- [7, "┬"],
- [7, "┴"],
- [7, "┼"],
- [19, "═"],
- [0, "║"],
- [0, "╒"],
- [0, "╓"],
- [0, "╔"],
- [0, "╕"],
- [0, "╖"],
- [0, "╗"],
- [0, "╘"],
- [0, "╙"],
- [0, "╚"],
- [0, "╛"],
- [0, "╜"],
- [0, "╝"],
- [0, "╞"],
- [0, "╟"],
- [0, "╠"],
- [0, "╡"],
- [0, "╢"],
- [0, "╣"],
- [0, "╤"],
- [0, "╥"],
- [0, "╦"],
- [0, "╧"],
- [0, "╨"],
- [0, "╩"],
- [0, "╪"],
- [0, "╫"],
- [0, "╬"],
- [19, "▀"],
- [3, "▄"],
- [3, "█"],
- [8, "░"],
- [0, "▒"],
- [0, "▓"],
- [13, "□"],
- [8, "▪"],
- [0, "▫"],
- [1, "▭"],
- [0, "▮"],
- [2, "▱"],
- [1, "△"],
- [0, "▴"],
- [0, "▵"],
- [2, "▸"],
- [0, "▹"],
- [3, "▽"],
- [0, "▾"],
- [0, "▿"],
- [2, "◂"],
- [0, "◃"],
- [6, "◊"],
- [0, "○"],
- [32, "◬"],
- [2, "◯"],
- [8, "◸"],
- [0, "◹"],
- [0, "◺"],
- [0, "◻"],
- [0, "◼"],
- [8, "★"],
- [0, "☆"],
- [7, "☎"],
- [49, "♀"],
- [1, "♂"],
- [29, "♠"],
- [2, "♣"],
- [1, "♥"],
- [0, "♦"],
- [3, "♪"],
- [2, "♭"],
- [0, "♮"],
- [0, "♯"],
- [163, "✓"],
- [3, "✗"],
- [8, "✠"],
- [21, "✶"],
- [33, "❘"],
- [25, "❲"],
- [0, "❳"],
- [84, "⟈"],
- [0, "⟉"],
- [28, "⟦"],
- [0, "⟧"],
- [0, "〈"],
- [0, "〉"],
- [0, "⟪"],
- [0, "⟫"],
- [0, "⟬"],
- [0, "⟭"],
- [7, "⟵"],
- [0, "⟶"],
- [0, "⟷"],
- [0, "⟸"],
- [0, "⟹"],
- [0, "⟺"],
- [1, "⟼"],
- [2, "⟿"],
- [258, "⤂"],
- [0, "⤃"],
- [0, "⤄"],
- [0, "⤅"],
- [6, "⤌"],
- [0, "⤍"],
- [0, "⤎"],
- [0, "⤏"],
- [0, "⤐"],
- [0, "⤑"],
- [0, "⤒"],
- [0, "⤓"],
- [2, "⤖"],
- [2, "⤙"],
- [0, "⤚"],
- [0, "⤛"],
- [0, "⤜"],
- [0, "⤝"],
- [0, "⤞"],
- [0, "⤟"],
- [0, "⤠"],
- [2, "⤣"],
- [0, "⤤"],
- [0, "⤥"],
- [0, "⤦"],
- [0, "⤧"],
- [0, "⤨"],
- [0, "⤩"],
- [0, "⤪"],
- [8, { v: "⤳", n: 824, o: "⤳̸" }],
- [1, "⤵"],
- [0, "⤶"],
- [0, "⤷"],
- [0, "⤸"],
- [0, "⤹"],
- [2, "⤼"],
- [0, "⤽"],
- [7, "⥅"],
- [2, "⥈"],
- [0, "⥉"],
- [0, "⥊"],
- [0, "⥋"],
- [2, "⥎"],
- [0, "⥏"],
- [0, "⥐"],
- [0, "⥑"],
- [0, "⥒"],
- [0, "⥓"],
- [0, "⥔"],
- [0, "⥕"],
- [0, "⥖"],
- [0, "⥗"],
- [0, "⥘"],
- [0, "⥙"],
- [0, "⥚"],
- [0, "⥛"],
- [0, "⥜"],
- [0, "⥝"],
- [0, "⥞"],
- [0, "⥟"],
- [0, "⥠"],
- [0, "⥡"],
- [0, "⥢"],
- [0, "⥣"],
- [0, "⥤"],
- [0, "⥥"],
- [0, "⥦"],
- [0, "⥧"],
- [0, "⥨"],
- [0, "⥩"],
- [0, "⥪"],
- [0, "⥫"],
- [0, "⥬"],
- [0, "⥭"],
- [0, "⥮"],
- [0, "⥯"],
- [0, "⥰"],
- [0, "⥱"],
- [0, "⥲"],
- [0, "⥳"],
- [0, "⥴"],
- [0, "⥵"],
- [0, "⥶"],
- [1, "⥸"],
- [0, "⥹"],
- [1, "⥻"],
- [0, "⥼"],
- [0, "⥽"],
- [0, "⥾"],
- [0, "⥿"],
- [5, "⦅"],
- [0, "⦆"],
- [4, "⦋"],
- [0, "⦌"],
- [0, "⦍"],
- [0, "⦎"],
- [0, "⦏"],
- [0, "⦐"],
- [0, "⦑"],
- [0, "⦒"],
- [0, "⦓"],
- [0, "⦔"],
- [0, "⦕"],
- [0, "⦖"],
- [3, "⦚"],
- [1, "⦜"],
- [0, "⦝"],
- [6, "⦤"],
- [0, "⦥"],
- [0, "⦦"],
- [0, "⦧"],
- [0, "⦨"],
- [0, "⦩"],
- [0, "⦪"],
- [0, "⦫"],
- [0, "⦬"],
- [0, "⦭"],
- [0, "⦮"],
- [0, "⦯"],
- [0, "⦰"],
- [0, "⦱"],
- [0, "⦲"],
- [0, "⦳"],
- [0, "⦴"],
- [0, "⦵"],
- [0, "⦶"],
- [0, "⦷"],
- [1, "⦹"],
- [1, "⦻"],
- [0, "⦼"],
- [1, "⦾"],
- [0, "⦿"],
- [0, "⧀"],
- [0, "⧁"],
- [0, "⧂"],
- [0, "⧃"],
- [0, "⧄"],
- [0, "⧅"],
- [3, "⧉"],
- [3, "⧍"],
- [0, "⧎"],
- [0, { v: "⧏", n: 824, o: "⧏̸" }],
- [0, { v: "⧐", n: 824, o: "⧐̸" }],
- [11, "⧜"],
- [0, "⧝"],
- [0, "⧞"],
- [4, "⧣"],
- [0, "⧤"],
- [0, "⧥"],
- [5, "⧫"],
- [8, "⧴"],
- [1, "⧶"],
- [9, "⨀"],
- [0, "⨁"],
- [0, "⨂"],
- [1, "⨄"],
- [1, "⨆"],
- [5, "⨌"],
- [0, "⨍"],
- [2, "⨐"],
- [0, "⨑"],
- [0, "⨒"],
- [0, "⨓"],
- [0, "⨔"],
- [0, "⨕"],
- [0, "⨖"],
- [0, "⨗"],
- [10, "⨢"],
- [0, "⨣"],
- [0, "⨤"],
- [0, "⨥"],
- [0, "⨦"],
- [0, "⨧"],
- [1, "⨩"],
- [0, "⨪"],
- [2, "⨭"],
- [0, "⨮"],
- [0, "⨯"],
- [0, "⨰"],
- [0, "⨱"],
- [1, "⨳"],
- [0, "⨴"],
- [0, "⨵"],
- [0, "⨶"],
- [0, "⨷"],
- [0, "⨸"],
- [0, "⨹"],
- [0, "⨺"],
- [0, "⨻"],
- [0, "⨼"],
- [2, "⨿"],
- [0, "⩀"],
- [1, "⩂"],
- [0, "⩃"],
- [0, "⩄"],
- [0, "⩅"],
- [0, "⩆"],
- [0, "⩇"],
- [0, "⩈"],
- [0, "⩉"],
- [0, "⩊"],
- [0, "⩋"],
- [0, "⩌"],
- [0, "⩍"],
- [2, "⩐"],
- [2, "⩓"],
- [0, "⩔"],
- [0, "⩕"],
- [0, "⩖"],
- [0, "⩗"],
- [0, "⩘"],
- [1, "⩚"],
- [0, "⩛"],
- [0, "⩜"],
- [0, "⩝"],
- [1, "⩟"],
- [6, "⩦"],
- [3, "⩪"],
- [2, { v: "⩭", n: 824, o: "⩭̸" }],
- [0, "⩮"],
- [0, "⩯"],
- [0, { v: "⩰", n: 824, o: "⩰̸" }],
- [0, "⩱"],
- [0, "⩲"],
- [0, "⩳"],
- [0, "⩴"],
- [0, "⩵"],
- [1, "⩷"],
- [0, "⩸"],
- [0, "⩹"],
- [0, "⩺"],
- [0, "⩻"],
- [0, "⩼"],
- [0, { v: "⩽", n: 824, o: "⩽̸" }],
- [0, { v: "⩾", n: 824, o: "⩾̸" }],
- [0, "⩿"],
- [0, "⪀"],
- [0, "⪁"],
- [0, "⪂"],
- [0, "⪃"],
- [0, "⪄"],
- [0, "⪅"],
- [0, "⪆"],
- [0, "⪇"],
- [0, "⪈"],
- [0, "⪉"],
- [0, "⪊"],
- [0, "⪋"],
- [0, "⪌"],
- [0, "⪍"],
- [0, "⪎"],
- [0, "⪏"],
- [0, "⪐"],
- [0, "⪑"],
- [0, "⪒"],
- [0, "⪓"],
- [0, "⪔"],
- [0, "⪕"],
- [0, "⪖"],
- [0, "⪗"],
- [0, "⪘"],
- [0, "⪙"],
- [0, "⪚"],
- [2, "⪝"],
- [0, "⪞"],
- [0, "⪟"],
- [0, "⪠"],
- [0, { v: "⪡", n: 824, o: "⪡̸" }],
- [0, { v: "⪢", n: 824, o: "⪢̸" }],
- [1, "⪤"],
- [0, "⪥"],
- [0, "⪦"],
- [0, "⪧"],
- [0, "⪨"],
- [0, "⪩"],
- [0, "⪪"],
- [0, "⪫"],
- [0, { v: "⪬", n: 65024, o: "⪬︀" }],
- [0, { v: "⪭", n: 65024, o: "⪭︀" }],
- [0, "⪮"],
- [0, { v: "⪯", n: 824, o: "⪯̸" }],
- [0, { v: "⪰", n: 824, o: "⪰̸" }],
- [2, "⪳"],
- [0, "⪴"],
- [0, "⪵"],
- [0, "⪶"],
- [0, "⪷"],
- [0, "⪸"],
- [0, "⪹"],
- [0, "⪺"],
- [0, "⪻"],
- [0, "⪼"],
- [0, "⪽"],
- [0, "⪾"],
- [0, "⪿"],
- [0, "⫀"],
- [0, "⫁"],
- [0, "⫂"],
- [0, "⫃"],
- [0, "⫄"],
- [0, { v: "⫅", n: 824, o: "⫅̸" }],
- [0, { v: "⫆", n: 824, o: "⫆̸" }],
- [0, "⫇"],
- [0, "⫈"],
- [2, { v: "⫋", n: 65024, o: "⫋︀" }],
- [0, { v: "⫌", n: 65024, o: "⫌︀" }],
- [2, "⫏"],
- [0, "⫐"],
- [0, "⫑"],
- [0, "⫒"],
- [0, "⫓"],
- [0, "⫔"],
- [0, "⫕"],
- [0, "⫖"],
- [0, "⫗"],
- [0, "⫘"],
- [0, "⫙"],
- [0, "⫚"],
- [0, "⫛"],
- [8, "⫤"],
- [1, "⫦"],
- [0, "⫧"],
- [0, "⫨"],
- [0, "⫩"],
- [1, "⫫"],
- [0, "⫬"],
- [0, "⫭"],
- [0, "⫮"],
- [0, "⫯"],
- [0, "⫰"],
- [0, "⫱"],
- [0, "⫲"],
- [0, "⫳"],
- [9, { v: "⫽", n: 8421, o: "⫽⃥" }],
- [
- 44343,
- {
- n: new Map(
- t([
- [56476, "𝒜"],
- [1, "𝒞"],
- [0, "𝒟"],
- [2, "𝒢"],
- [2, "𝒥"],
- [0, "𝒦"],
- [2, "𝒩"],
- [0, "𝒪"],
- [0, "𝒫"],
- [0, "𝒬"],
- [1, "𝒮"],
- [0, "𝒯"],
- [0, "𝒰"],
- [0, "𝒱"],
- [0, "𝒲"],
- [0, "𝒳"],
- [0, "𝒴"],
- [0, "𝒵"],
- [0, "𝒶"],
- [0, "𝒷"],
- [0, "𝒸"],
- [0, "𝒹"],
- [1, "𝒻"],
- [1, "𝒽"],
- [0, "𝒾"],
- [0, "𝒿"],
- [0, "𝓀"],
- [0, "𝓁"],
- [0, "𝓂"],
- [0, "𝓃"],
- [1, "𝓅"],
- [0, "𝓆"],
- [0, "𝓇"],
- [0, "𝓈"],
- [0, "𝓉"],
- [0, "𝓊"],
- [0, "𝓋"],
- [0, "𝓌"],
- [0, "𝓍"],
- [0, "𝓎"],
- [0, "𝓏"],
- [52, "𝔄"],
- [0, "𝔅"],
- [1, "𝔇"],
- [0, "𝔈"],
- [0, "𝔉"],
- [0, "𝔊"],
- [2, "𝔍"],
- [0, "𝔎"],
- [0, "𝔏"],
- [0, "𝔐"],
- [0, "𝔑"],
- [0, "𝔒"],
- [0, "𝔓"],
- [0, "𝔔"],
- [1, "𝔖"],
- [0, "𝔗"],
- [0, "𝔘"],
- [0, "𝔙"],
- [0, "𝔚"],
- [0, "𝔛"],
- [0, "𝔜"],
- [1, "𝔞"],
- [0, "𝔟"],
- [0, "𝔠"],
- [0, "𝔡"],
- [0, "𝔢"],
- [0, "𝔣"],
- [0, "𝔤"],
- [0, "𝔥"],
- [0, "𝔦"],
- [0, "𝔧"],
- [0, "𝔨"],
- [0, "𝔩"],
- [0, "𝔪"],
- [0, "𝔫"],
- [0, "𝔬"],
- [0, "𝔭"],
- [0, "𝔮"],
- [0, "𝔯"],
- [0, "𝔰"],
- [0, "𝔱"],
- [0, "𝔲"],
- [0, "𝔳"],
- [0, "𝔴"],
- [0, "𝔵"],
- [0, "𝔶"],
- [0, "𝔷"],
- [0, "𝔸"],
- [0, "𝔹"],
- [1, "𝔻"],
- [0, "𝔼"],
- [0, "𝔽"],
- [0, "𝔾"],
- [1, "𝕀"],
- [0, "𝕁"],
- [0, "𝕂"],
- [0, "𝕃"],
- [0, "𝕄"],
- [1, "𝕆"],
- [3, "𝕊"],
- [0, "𝕋"],
- [0, "𝕌"],
- [0, "𝕍"],
- [0, "𝕎"],
- [0, "𝕏"],
- [0, "𝕐"],
- [1, "𝕒"],
- [0, "𝕓"],
- [0, "𝕔"],
- [0, "𝕕"],
- [0, "𝕖"],
- [0, "𝕗"],
- [0, "𝕘"],
- [0, "𝕙"],
- [0, "𝕚"],
- [0, "𝕛"],
- [0, "𝕜"],
- [0, "𝕝"],
- [0, "𝕞"],
- [0, "𝕟"],
- [0, "𝕠"],
- [0, "𝕡"],
- [0, "𝕢"],
- [0, "𝕣"],
- [0, "𝕤"],
- [0, "𝕥"],
- [0, "𝕦"],
- [0, "𝕧"],
- [0, "𝕨"],
- [0, "𝕩"],
- [0, "𝕪"],
- [0, "𝕫"],
- ]),
- ),
- },
- ],
- [8906, "ff"],
- [0, "fi"],
- [0, "fl"],
- [0, "ffi"],
- [0, "ffl"],
- ]),
- )),
- Yo
- );
-}
-var Hu = {},
- EO;
-function Bp() {
- return (
- EO ||
- ((EO = 1),
- (function (t) {
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.escapeText =
- t.escapeAttribute =
- t.escapeUTF8 =
- t.escape =
- t.encodeXML =
- t.getCodePoint =
- t.xmlReplacer =
- void 0),
- (t.xmlReplacer = /["&'<>$\x80-\uFFFF]/g));
- var e = new Map([
- [34, """],
- [38, "&"],
- [39, "'"],
- [60, "<"],
- [62, ">"],
- ]);
- t.getCodePoint =
- String.prototype.codePointAt != null
- ? function (r, s) {
- return r.codePointAt(s);
- }
- : function (r, s) {
- return (r.charCodeAt(s) & 64512) === 55296
- ? (r.charCodeAt(s) - 55296) * 1024 +
- r.charCodeAt(s + 1) -
- 56320 +
- 65536
- : r.charCodeAt(s);
- };
- function n(r) {
- for (var s = "", o = 0, a; (a = t.xmlReplacer.exec(r)) !== null; ) {
- var u = a.index,
- c = r.charCodeAt(u),
- b = e.get(c);
- b !== void 0
- ? ((s += r.substring(o, u) + b), (o = u + 1))
- : ((s += ""
- .concat(r.substring(o, u), "")
- .concat((0, t.getCodePoint)(r, u).toString(16), ";")),
- (o = t.xmlReplacer.lastIndex += +((c & 64512) === 55296)));
- }
- return s + r.substr(o);
- }
- ((t.encodeXML = n), (t.escape = n));
- function i(r, s) {
- return function (a) {
- for (var u, c = 0, b = ""; (u = r.exec(a)); )
- (c !== u.index && (b += a.substring(c, u.index)),
- (b += s.get(u[0].charCodeAt(0))),
- (c = u.index + 1));
- return b + a.substring(c);
- };
- }
- ((t.escapeUTF8 = i(/[&<>'"]/g, e)),
- (t.escapeAttribute = i(
- /["&\u00A0]/g,
- new Map([
- [34, """],
- [38, "&"],
- [160, " "],
- ]),
- )),
- (t.escapeText = i(
- /[&<>\u00A0]/g,
- new Map([
- [38, "&"],
- [60, "<"],
- [62, ">"],
- [160, " "],
- ]),
- )));
- })(Hu)),
- Hu
- );
-}
-var TO;
-function _O() {
- if (TO) return Wt;
- TO = 1;
- var t =
- (Wt && Wt.__importDefault) ||
- function (a) {
- return a && a.__esModule ? a : { default: a };
- };
- (Object.defineProperty(Wt, "__esModule", { value: !0 }),
- (Wt.encodeNonAsciiHTML = Wt.encodeHTML = void 0));
- var e = t(Jq0()),
- n = Bp(),
- i = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
- function r(a) {
- return o(i, a);
- }
- Wt.encodeHTML = r;
- function s(a) {
- return o(n.xmlReplacer, a);
- }
- Wt.encodeNonAsciiHTML = s;
- function o(a, u) {
- for (var c = "", b = 0, l; (l = a.exec(u)) !== null; ) {
- var p = l.index;
- c += u.substring(b, p);
- var M = u.charCodeAt(p),
- d = e.default.get(M);
- if (typeof d == "object") {
- if (p + 1 < u.length) {
- var O = u.charCodeAt(p + 1),
- f =
- typeof d.n == "number" ? (d.n === O ? d.o : void 0) : d.n.get(O);
- if (f !== void 0) {
- ((c += f), (b = a.lastIndex += 1));
- continue;
- }
- }
- d = d.v;
- }
- if (d !== void 0) ((c += d), (b = p + 1));
- else {
- var z = (0, n.getCodePoint)(u, p);
- ((c += "".concat(z.toString(16), ";")),
- (b = a.lastIndex += +(z !== M)));
- }
- }
- return c + u.substr(b);
- }
- return Wt;
-}
-var xO;
-function Zq0() {
- return (
- xO ||
- ((xO = 1),
- (function (t) {
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.decodeXMLStrict =
- t.decodeHTML5Strict =
- t.decodeHTML4Strict =
- t.decodeHTML5 =
- t.decodeHTML4 =
- t.decodeHTMLAttribute =
- t.decodeHTMLStrict =
- t.decodeHTML =
- t.decodeXML =
- t.DecodingMode =
- t.EntityDecoder =
- t.encodeHTML5 =
- t.encodeHTML4 =
- t.encodeNonAsciiHTML =
- t.encodeHTML =
- t.escapeText =
- t.escapeAttribute =
- t.escapeUTF8 =
- t.escape =
- t.encodeXML =
- t.encode =
- t.decodeStrict =
- t.decode =
- t.EncodingMode =
- t.EntityLevel =
- void 0));
- var e = LO(),
- n = _O(),
- i = Bp(),
- r;
- (function (p) {
- ((p[(p.XML = 0)] = "XML"), (p[(p.HTML = 1)] = "HTML"));
- })((r = t.EntityLevel || (t.EntityLevel = {})));
- var s;
- (function (p) {
- ((p[(p.UTF8 = 0)] = "UTF8"),
- (p[(p.ASCII = 1)] = "ASCII"),
- (p[(p.Extensive = 2)] = "Extensive"),
- (p[(p.Attribute = 3)] = "Attribute"),
- (p[(p.Text = 4)] = "Text"));
- })((s = t.EncodingMode || (t.EncodingMode = {})));
- function o(p, M) {
- M === void 0 && (M = r.XML);
- var d = typeof M == "number" ? M : M.level;
- if (d === r.HTML) {
- var O = typeof M == "object" ? M.mode : void 0;
- return (0, e.decodeHTML)(p, O);
- }
- return (0, e.decodeXML)(p);
- }
- t.decode = o;
- function a(p, M) {
- var d;
- M === void 0 && (M = r.XML);
- var O = typeof M == "number" ? { level: M } : M;
- return (
- ((d = O.mode) !== null && d !== void 0) ||
- (O.mode = e.DecodingMode.Strict),
- o(p, O)
- );
- }
- t.decodeStrict = a;
- function u(p, M) {
- M === void 0 && (M = r.XML);
- var d = typeof M == "number" ? { level: M } : M;
- return d.mode === s.UTF8
- ? (0, i.escapeUTF8)(p)
- : d.mode === s.Attribute
- ? (0, i.escapeAttribute)(p)
- : d.mode === s.Text
- ? (0, i.escapeText)(p)
- : d.level === r.HTML
- ? d.mode === s.ASCII
- ? (0, n.encodeNonAsciiHTML)(p)
- : (0, n.encodeHTML)(p)
- : (0, i.encodeXML)(p);
- }
- t.encode = u;
- var c = Bp();
- (Object.defineProperty(t, "encodeXML", {
- enumerable: !0,
- get: function () {
- return c.encodeXML;
- },
- }),
- Object.defineProperty(t, "escape", {
- enumerable: !0,
- get: function () {
- return c.escape;
- },
- }),
- Object.defineProperty(t, "escapeUTF8", {
- enumerable: !0,
- get: function () {
- return c.escapeUTF8;
- },
- }),
- Object.defineProperty(t, "escapeAttribute", {
- enumerable: !0,
- get: function () {
- return c.escapeAttribute;
- },
- }),
- Object.defineProperty(t, "escapeText", {
- enumerable: !0,
- get: function () {
- return c.escapeText;
- },
- }));
- var b = _O();
- (Object.defineProperty(t, "encodeHTML", {
- enumerable: !0,
- get: function () {
- return b.encodeHTML;
- },
- }),
- Object.defineProperty(t, "encodeNonAsciiHTML", {
- enumerable: !0,
- get: function () {
- return b.encodeNonAsciiHTML;
- },
- }),
- Object.defineProperty(t, "encodeHTML4", {
- enumerable: !0,
- get: function () {
- return b.encodeHTML;
- },
- }),
- Object.defineProperty(t, "encodeHTML5", {
- enumerable: !0,
- get: function () {
- return b.encodeHTML;
- },
- }));
- var l = LO();
- (Object.defineProperty(t, "EntityDecoder", {
- enumerable: !0,
- get: function () {
- return l.EntityDecoder;
- },
- }),
- Object.defineProperty(t, "DecodingMode", {
- enumerable: !0,
- get: function () {
- return l.DecodingMode;
- },
- }),
- Object.defineProperty(t, "decodeXML", {
- enumerable: !0,
- get: function () {
- return l.decodeXML;
- },
- }),
- Object.defineProperty(t, "decodeHTML", {
- enumerable: !0,
- get: function () {
- return l.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTMLStrict", {
- enumerable: !0,
- get: function () {
- return l.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeHTMLAttribute", {
- enumerable: !0,
- get: function () {
- return l.decodeHTMLAttribute;
- },
- }),
- Object.defineProperty(t, "decodeHTML4", {
- enumerable: !0,
- get: function () {
- return l.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTML5", {
- enumerable: !0,
- get: function () {
- return l.decodeHTML;
- },
- }),
- Object.defineProperty(t, "decodeHTML4Strict", {
- enumerable: !0,
- get: function () {
- return l.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeHTML5Strict", {
- enumerable: !0,
- get: function () {
- return l.decodeHTMLStrict;
- },
- }),
- Object.defineProperty(t, "decodeXMLStrict", {
- enumerable: !0,
- get: function () {
- return l.decodeXML;
- },
- }));
- })(Uu)),
- Uu
- );
-}
-var Xn = {},
- SO;
-function e50() {
- return (
- SO ||
- ((SO = 1),
- Object.defineProperty(Xn, "__esModule", { value: !0 }),
- (Xn.attributeNames = Xn.elementNames = void 0),
- (Xn.elementNames = new Map(
- [
- "altGlyph",
- "altGlyphDef",
- "altGlyphItem",
- "animateColor",
- "animateMotion",
- "animateTransform",
- "clipPath",
- "feBlend",
- "feColorMatrix",
- "feComponentTransfer",
- "feComposite",
- "feConvolveMatrix",
- "feDiffuseLighting",
- "feDisplacementMap",
- "feDistantLight",
- "feDropShadow",
- "feFlood",
- "feFuncA",
- "feFuncB",
- "feFuncG",
- "feFuncR",
- "feGaussianBlur",
- "feImage",
- "feMerge",
- "feMergeNode",
- "feMorphology",
- "feOffset",
- "fePointLight",
- "feSpecularLighting",
- "feSpotLight",
- "feTile",
- "feTurbulence",
- "foreignObject",
- "glyphRef",
- "linearGradient",
- "radialGradient",
- "textPath",
- ].map(function (t) {
- return [t.toLowerCase(), t];
- }),
- )),
- (Xn.attributeNames = new Map(
- [
- "definitionURL",
- "attributeName",
- "attributeType",
- "baseFrequency",
- "baseProfile",
- "calcMode",
- "clipPathUnits",
- "diffuseConstant",
- "edgeMode",
- "filterUnits",
- "glyphRef",
- "gradientTransform",
- "gradientUnits",
- "kernelMatrix",
- "kernelUnitLength",
- "keyPoints",
- "keySplines",
- "keyTimes",
- "lengthAdjust",
- "limitingConeAngle",
- "markerHeight",
- "markerUnits",
- "markerWidth",
- "maskContentUnits",
- "maskUnits",
- "numOctaves",
- "pathLength",
- "patternContentUnits",
- "patternTransform",
- "patternUnits",
- "pointsAtX",
- "pointsAtY",
- "pointsAtZ",
- "preserveAlpha",
- "preserveAspectRatio",
- "primitiveUnits",
- "refX",
- "refY",
- "repeatCount",
- "repeatDur",
- "requiredExtensions",
- "requiredFeatures",
- "specularConstant",
- "specularExponent",
- "spreadMethod",
- "startOffset",
- "stdDeviation",
- "stitchTiles",
- "surfaceScale",
- "systemLanguage",
- "tableValues",
- "targetX",
- "targetY",
- "textLength",
- "viewBox",
- "viewTarget",
- "xChannelSelector",
- "yChannelSelector",
- "zoomAndPan",
- ].map(function (t) {
- return [t.toLowerCase(), t];
- }),
- ))),
- Xn
- );
-}
-var wO;
-function t50() {
- if (wO) return C1;
- wO = 1;
- var t =
- (C1 && C1.__assign) ||
- function () {
- return (
- (t =
- Object.assign ||
- function (h) {
- for (var q, v = 1, m = arguments.length; v < m; v++) {
- q = arguments[v];
- for (var E in q)
- Object.prototype.hasOwnProperty.call(q, E) && (h[E] = q[E]);
- }
- return h;
- }),
- t.apply(this, arguments)
- );
- },
- e =
- (C1 && C1.__createBinding) ||
- (Object.create
- ? function (h, q, v, m) {
- m === void 0 && (m = v);
- var E = Object.getOwnPropertyDescriptor(q, v);
- ((!E ||
- ("get" in E ? !q.__esModule : E.writable || E.configurable)) &&
- (E = {
- enumerable: !0,
- get: function () {
- return q[v];
- },
- }),
- Object.defineProperty(h, m, E));
- }
- : function (h, q, v, m) {
- (m === void 0 && (m = v), (h[m] = q[v]));
- }),
- n =
- (C1 && C1.__setModuleDefault) ||
- (Object.create
- ? function (h, q) {
- Object.defineProperty(h, "default", { enumerable: !0, value: q });
- }
- : function (h, q) {
- h.default = q;
- }),
- i =
- (C1 && C1.__importStar) ||
- function (h) {
- if (h && h.__esModule) return h;
- var q = {};
- if (h != null)
- for (var v in h)
- v !== "default" &&
- Object.prototype.hasOwnProperty.call(h, v) &&
- e(q, h, v);
- return (n(q, h), q);
- };
- (Object.defineProperty(C1, "__esModule", { value: !0 }),
- (C1.render = void 0));
- var r = i(co()),
- s = Zq0(),
- o = e50(),
- a = new Set([
- "style",
- "script",
- "xmp",
- "iframe",
- "noembed",
- "noframes",
- "plaintext",
- "noscript",
- ]);
- function u(h) {
- return h.replace(/"/g, """);
- }
- function c(h, q) {
- var v;
- if (h) {
- var m =
- ((v = q.encodeEntities) !== null && v !== void 0
- ? v
- : q.decodeEntities) === !1
- ? u
- : q.xmlMode || q.encodeEntities !== "utf8"
- ? s.encodeXML
- : s.escapeAttribute;
- return Object.keys(h)
- .map(function (E) {
- var _,
- T,
- y = (_ = h[E]) !== null && _ !== void 0 ? _ : "";
- return (
- q.xmlMode === "foreign" &&
- (E =
- (T = o.attributeNames.get(E)) !== null && T !== void 0 ? T : E),
- !q.emptyAttrs && !q.xmlMode && y === ""
- ? E
- : "".concat(E, '="').concat(m(y), '"')
- );
- })
- .join(" ");
- }
- }
- var b = new Set([
- "area",
- "base",
- "basefont",
- "br",
- "col",
- "command",
- "embed",
- "frame",
- "hr",
- "img",
- "input",
- "isindex",
- "keygen",
- "link",
- "meta",
- "param",
- "source",
- "track",
- "wbr",
- ]);
- function l(h, q) {
- q === void 0 && (q = {});
- for (var v = ("length" in h) ? h : [h], m = "", E = 0; E < v.length; E++)
- m += p(v[E], q);
- return m;
- }
- ((C1.render = l), (C1.default = l));
- function p(h, q) {
- switch (h.type) {
- case r.Root:
- return l(h.children, q);
- case r.Doctype:
- case r.Directive:
- return f(h);
- case r.Comment:
- return A(h);
- case r.CDATA:
- return g(h);
- case r.Script:
- case r.Style:
- case r.Tag:
- return O(h, q);
- case r.Text:
- return z(h, q);
- }
- }
- var M = new Set([
- "mi",
- "mo",
- "mn",
- "ms",
- "mtext",
- "annotation-xml",
- "foreignObject",
- "desc",
- "title",
- ]),
- d = new Set(["svg", "math"]);
- function O(h, q) {
- var v;
- (q.xmlMode === "foreign" &&
- ((h.name =
- (v = o.elementNames.get(h.name)) !== null && v !== void 0 ? v : h.name),
- h.parent && M.has(h.parent.name) && (q = t(t({}, q), { xmlMode: !1 }))),
- !q.xmlMode && d.has(h.name) && (q = t(t({}, q), { xmlMode: "foreign" })));
- var m = "<".concat(h.name),
- E = c(h.attribs, q);
- return (
- E && (m += " ".concat(E)),
- h.children.length === 0 &&
- (q.xmlMode
- ? q.selfClosingTags !== !1
- : q.selfClosingTags && b.has(h.name))
- ? (q.xmlMode || (m += " "), (m += "/>"))
- : ((m += ">"),
- h.children.length > 0 && (m += l(h.children, q)),
- (q.xmlMode || !b.has(h.name)) && (m += "".concat(h.name, ">"))),
- m
- );
- }
- function f(h) {
- return "<".concat(h.data, ">");
- }
- function z(h, q) {
- var v,
- m = h.data || "";
- return (
- ((v = q.encodeEntities) !== null && v !== void 0
- ? v
- : q.decodeEntities) !== !1 &&
- !(!q.xmlMode && h.parent && a.has(h.parent.name)) &&
- (m =
- q.xmlMode || q.encodeEntities !== "utf8"
- ? (0, s.encodeXML)(m)
- : (0, s.escapeText)(m)),
- m
- );
- }
- function g(h) {
- return "");
- }
- function A(h) {
- return "");
- }
- return C1;
-}
-var NO;
-function g6() {
- if (NO) return Qe;
- NO = 1;
- var t =
- (Qe && Qe.__importDefault) ||
- function (c) {
- return c && c.__esModule ? c : { default: c };
- };
- (Object.defineProperty(Qe, "__esModule", { value: !0 }),
- (Qe.getOuterHTML = r),
- (Qe.getInnerHTML = s),
- (Qe.getText = o),
- (Qe.textContent = a),
- (Qe.innerText = u));
- var e = _n(),
- n = t(t50()),
- i = co();
- function r(c, b) {
- return (0, n.default)(c, b);
- }
- function s(c, b) {
- return (0, e.hasChildren)(c)
- ? c.children
- .map(function (l) {
- return r(l, b);
- })
- .join("")
- : "";
- }
- function o(c) {
- return Array.isArray(c)
- ? c.map(o).join("")
- : (0, e.isTag)(c)
- ? c.name === "br"
- ? `
-`
- : o(c.children)
- : (0, e.isCDATA)(c)
- ? o(c.children)
- : (0, e.isText)(c)
- ? c.data
- : "";
- }
- function a(c) {
- return Array.isArray(c)
- ? c.map(a).join("")
- : (0, e.hasChildren)(c) && !(0, e.isComment)(c)
- ? a(c.children)
- : (0, e.isText)(c)
- ? c.data
- : "";
- }
- function u(c) {
- return Array.isArray(c)
- ? c.map(u).join("")
- : (0, e.hasChildren)(c) &&
- (c.type === i.ElementType.Tag || (0, e.isCDATA)(c))
- ? u(c.children)
- : (0, e.isText)(c)
- ? c.data
- : "";
- }
- return Qe;
-}
-var xe = {},
- BO;
-function n50() {
- if (BO) return xe;
- ((BO = 1),
- Object.defineProperty(xe, "__esModule", { value: !0 }),
- (xe.getChildren = e),
- (xe.getParent = n),
- (xe.getSiblings = i),
- (xe.getAttributeValue = r),
- (xe.hasAttrib = s),
- (xe.getName = o),
- (xe.nextElementSibling = a),
- (xe.prevElementSibling = u));
- var t = _n();
- function e(c) {
- return (0, t.hasChildren)(c) ? c.children : [];
- }
- function n(c) {
- return c.parent || null;
- }
- function i(c) {
- var b,
- l,
- p = n(c);
- if (p != null) return e(p);
- for (var M = [c], d = c.prev, O = c.next; d != null; )
- (M.unshift(d), (b = d), (d = b.prev));
- for (; O != null; ) (M.push(O), (l = O), (O = l.next));
- return M;
- }
- function r(c, b) {
- var l;
- return (l = c.attribs) === null || l === void 0 ? void 0 : l[b];
- }
- function s(c, b) {
- return (
- c.attribs != null &&
- Object.prototype.hasOwnProperty.call(c.attribs, b) &&
- c.attribs[b] != null
- );
- }
- function o(c) {
- return c.name;
- }
- function a(c) {
- for (var b, l = c.next; l !== null && !(0, t.isTag)(l); )
- ((b = l), (l = b.next));
- return l;
- }
- function u(c) {
- for (var b, l = c.prev; l !== null && !(0, t.isTag)(l); )
- ((b = l), (l = b.prev));
- return l;
- }
- return xe;
-}
-var Rt = {},
- IO;
-function i50() {
- if (IO) return Rt;
- ((IO = 1),
- Object.defineProperty(Rt, "__esModule", { value: !0 }),
- (Rt.removeElement = t),
- (Rt.replaceElement = e),
- (Rt.appendChild = n),
- (Rt.append = i),
- (Rt.prependChild = r),
- (Rt.prepend = s));
- function t(o) {
- if (
- (o.prev && (o.prev.next = o.next),
- o.next && (o.next.prev = o.prev),
- o.parent)
- ) {
- var a = o.parent.children,
- u = a.lastIndexOf(o);
- u >= 0 && a.splice(u, 1);
- }
- ((o.next = null), (o.prev = null), (o.parent = null));
- }
- function e(o, a) {
- var u = (a.prev = o.prev);
- u && (u.next = a);
- var c = (a.next = o.next);
- c && (c.prev = a);
- var b = (a.parent = o.parent);
- if (b) {
- var l = b.children;
- ((l[l.lastIndexOf(o)] = a), (o.parent = null));
- }
- }
- function n(o, a) {
- if ((t(a), (a.next = null), (a.parent = o), o.children.push(a) > 1)) {
- var u = o.children[o.children.length - 2];
- ((u.next = a), (a.prev = u));
- } else a.prev = null;
- }
- function i(o, a) {
- t(a);
- var u = o.parent,
- c = o.next;
- if (((a.next = c), (a.prev = o), (o.next = a), (a.parent = u), c)) {
- if (((c.prev = a), u)) {
- var b = u.children;
- b.splice(b.lastIndexOf(c), 0, a);
- }
- } else u && u.children.push(a);
- }
- function r(o, a) {
- if ((t(a), (a.parent = o), (a.prev = null), o.children.unshift(a) !== 1)) {
- var u = o.children[1];
- ((u.prev = a), (a.next = u));
- } else a.next = null;
- }
- function s(o, a) {
- t(a);
- var u = o.parent;
- if (u) {
- var c = u.children;
- c.splice(c.indexOf(o), 0, a);
- }
- (o.prev && (o.prev.next = a),
- (a.parent = u),
- (a.prev = o.prev),
- (a.next = o),
- (o.prev = a));
- }
- return Rt;
-}
-var yt = {},
- DO;
-function m6() {
- if (DO) return yt;
- ((DO = 1),
- Object.defineProperty(yt, "__esModule", { value: !0 }),
- (yt.filter = e),
- (yt.find = n),
- (yt.findOneChild = i),
- (yt.findOne = r),
- (yt.existsOne = s),
- (yt.findAll = o));
- var t = _n();
- function e(a, u, c, b) {
- return (
- c === void 0 && (c = !0),
- b === void 0 && (b = 1 / 0),
- n(a, Array.isArray(u) ? u : [u], c, b)
- );
- }
- function n(a, u, c, b) {
- for (var l = [], p = [Array.isArray(u) ? u : [u]], M = [0]; ; ) {
- if (M[0] >= p[0].length) {
- if (M.length === 1) return l;
- (p.shift(), M.shift());
- continue;
- }
- var d = p[0][M[0]++];
- if (a(d) && (l.push(d), --b <= 0)) return l;
- c &&
- (0, t.hasChildren)(d) &&
- d.children.length > 0 &&
- (M.unshift(0), p.unshift(d.children));
- }
- }
- function i(a, u) {
- return u.find(a);
- }
- function r(a, u, c) {
- c === void 0 && (c = !0);
- for (var b = Array.isArray(u) ? u : [u], l = 0; l < b.length; l++) {
- var p = b[l];
- if ((0, t.isTag)(p) && a(p)) return p;
- if (c && (0, t.hasChildren)(p) && p.children.length > 0) {
- var M = r(a, p.children, !0);
- if (M) return M;
- }
- }
- return null;
- }
- function s(a, u) {
- return (Array.isArray(u) ? u : [u]).some(function (c) {
- return (
- ((0, t.isTag)(c) && a(c)) || ((0, t.hasChildren)(c) && s(a, c.children))
- );
- });
- }
- function o(a, u) {
- for (var c = [], b = [Array.isArray(u) ? u : [u]], l = [0]; ; ) {
- if (l[0] >= b[0].length) {
- if (b.length === 1) return c;
- (b.shift(), l.shift());
- continue;
- }
- var p = b[0][l[0]++];
- ((0, t.isTag)(p) && a(p) && c.push(p),
- (0, t.hasChildren)(p) &&
- p.children.length > 0 &&
- (l.unshift(0), b.unshift(p.children)));
- }
- }
- return yt;
-}
-var Lt = {},
- CO;
-function W6() {
- if (CO) return Lt;
- ((CO = 1),
- Object.defineProperty(Lt, "__esModule", { value: !0 }),
- (Lt.testElement = o),
- (Lt.getElements = a),
- (Lt.getElementById = u),
- (Lt.getElementsByTagName = c),
- (Lt.getElementsByClassName = b),
- (Lt.getElementsByTagType = l));
- var t = _n(),
- e = m6(),
- n = {
- tag_name: function (p) {
- return typeof p == "function"
- ? function (M) {
- return (0, t.isTag)(M) && p(M.name);
- }
- : p === "*"
- ? t.isTag
- : function (M) {
- return (0, t.isTag)(M) && M.name === p;
- };
- },
- tag_type: function (p) {
- return typeof p == "function"
- ? function (M) {
- return p(M.type);
- }
- : function (M) {
- return M.type === p;
- };
- },
- tag_contains: function (p) {
- return typeof p == "function"
- ? function (M) {
- return (0, t.isText)(M) && p(M.data);
- }
- : function (M) {
- return (0, t.isText)(M) && M.data === p;
- };
- },
- };
- function i(p, M) {
- return typeof M == "function"
- ? function (d) {
- return (0, t.isTag)(d) && M(d.attribs[p]);
- }
- : function (d) {
- return (0, t.isTag)(d) && d.attribs[p] === M;
- };
- }
- function r(p, M) {
- return function (d) {
- return p(d) || M(d);
- };
- }
- function s(p) {
- var M = Object.keys(p).map(function (d) {
- var O = p[d];
- return Object.prototype.hasOwnProperty.call(n, d) ? n[d](O) : i(d, O);
- });
- return M.length === 0 ? null : M.reduce(r);
- }
- function o(p, M) {
- var d = s(p);
- return d ? d(M) : !0;
- }
- function a(p, M, d, O) {
- O === void 0 && (O = 1 / 0);
- var f = s(p);
- return f ? (0, e.filter)(f, M, d, O) : [];
- }
- function u(p, M, d) {
- return (
- d === void 0 && (d = !0),
- Array.isArray(M) || (M = [M]),
- (0, e.findOne)(i("id", p), M, d)
- );
- }
- function c(p, M, d, O) {
- return (
- d === void 0 && (d = !0),
- O === void 0 && (O = 1 / 0),
- (0, e.filter)(n.tag_name(p), M, d, O)
- );
- }
- function b(p, M, d, O) {
- return (
- d === void 0 && (d = !0),
- O === void 0 && (O = 1 / 0),
- (0, e.filter)(i("class", p), M, d, O)
- );
- }
- function l(p, M, d, O) {
- return (
- d === void 0 && (d = !0),
- O === void 0 && (O = 1 / 0),
- (0, e.filter)(n.tag_type(p), M, d, O)
- );
- }
- return Lt;
-}
-var tn = {},
- kO;
-function r50() {
- if (kO) return tn;
- ((kO = 1),
- Object.defineProperty(tn, "__esModule", { value: !0 }),
- (tn.DocumentPosition = void 0),
- (tn.removeSubsets = e),
- (tn.compareDocumentPosition = i),
- (tn.uniqueSort = r));
- var t = _n();
- function e(s) {
- for (var o = s.length; --o >= 0; ) {
- var a = s[o];
- if (o > 0 && s.lastIndexOf(a, o - 1) >= 0) {
- s.splice(o, 1);
- continue;
- }
- for (var u = a.parent; u; u = u.parent)
- if (s.includes(u)) {
- s.splice(o, 1);
- break;
- }
- }
- return s;
- }
- var n;
- (function (s) {
- ((s[(s.DISCONNECTED = 1)] = "DISCONNECTED"),
- (s[(s.PRECEDING = 2)] = "PRECEDING"),
- (s[(s.FOLLOWING = 4)] = "FOLLOWING"),
- (s[(s.CONTAINS = 8)] = "CONTAINS"),
- (s[(s.CONTAINED_BY = 16)] = "CONTAINED_BY"));
- })(n || (tn.DocumentPosition = n = {}));
- function i(s, o) {
- var a = [],
- u = [];
- if (s === o) return 0;
- for (var c = (0, t.hasChildren)(s) ? s : s.parent; c; )
- (a.unshift(c), (c = c.parent));
- for (c = (0, t.hasChildren)(o) ? o : o.parent; c; )
- (u.unshift(c), (c = c.parent));
- for (var b = Math.min(a.length, u.length), l = 0; l < b && a[l] === u[l]; )
- l++;
- if (l === 0) return n.DISCONNECTED;
- var p = a[l - 1],
- M = p.children,
- d = a[l],
- O = u[l];
- return M.indexOf(d) > M.indexOf(O)
- ? p === o
- ? n.FOLLOWING | n.CONTAINED_BY
- : n.FOLLOWING
- : p === s
- ? n.PRECEDING | n.CONTAINS
- : n.PRECEDING;
- }
- function r(s) {
- return (
- (s = s.filter(function (o, a, u) {
- return !u.includes(o, a + 1);
- })),
- s.sort(function (o, a) {
- var u = i(o, a);
- return u & n.PRECEDING ? -1 : u & n.FOLLOWING ? 1 : 0;
- }),
- s
- );
- }
- return tn;
-}
-var Qo = {},
- PO;
-function s50() {
- if (PO) return Qo;
- ((PO = 1),
- Object.defineProperty(Qo, "__esModule", { value: !0 }),
- (Qo.getFeed = n));
- var t = g6(),
- e = W6();
- function n(p) {
- var M = u(l, p);
- return M ? (M.name === "feed" ? i(M) : r(M)) : null;
- }
- function i(p) {
- var M,
- d = p.children,
- O = {
- type: "atom",
- items: (0, e.getElementsByTagName)("entry", d).map(function (g) {
- var A,
- h = g.children,
- q = { media: a(h) };
- (b(q, "id", "id", h), b(q, "title", "title", h));
- var v =
- (A = u("link", h)) === null || A === void 0
- ? void 0
- : A.attribs.href;
- v && (q.link = v);
- var m = c("summary", h) || c("content", h);
- m && (q.description = m);
- var E = c("updated", h);
- return (E && (q.pubDate = new Date(E)), q);
- }),
- };
- (b(O, "id", "id", d), b(O, "title", "title", d));
- var f =
- (M = u("link", d)) === null || M === void 0 ? void 0 : M.attribs.href;
- (f && (O.link = f), b(O, "description", "subtitle", d));
- var z = c("updated", d);
- return (z && (O.updated = new Date(z)), b(O, "author", "email", d, !0), O);
- }
- function r(p) {
- var M,
- d,
- O =
- (d =
- (M = u("channel", p.children)) === null || M === void 0
- ? void 0
- : M.children) !== null && d !== void 0
- ? d
- : [],
- f = {
- type: p.name.substr(0, 3),
- id: "",
- items: (0, e.getElementsByTagName)("item", p.children).map(
- function (g) {
- var A = g.children,
- h = { media: a(A) };
- (b(h, "id", "guid", A),
- b(h, "title", "title", A),
- b(h, "link", "link", A),
- b(h, "description", "description", A));
- var q = c("pubDate", A) || c("dc:date", A);
- return (q && (h.pubDate = new Date(q)), h);
- },
- ),
- };
- (b(f, "title", "title", O),
- b(f, "link", "link", O),
- b(f, "description", "description", O));
- var z = c("lastBuildDate", O);
- return (
- z && (f.updated = new Date(z)),
- b(f, "author", "managingEditor", O, !0),
- f
- );
- }
- var s = ["url", "type", "lang"],
- o = [
- "fileSize",
- "bitrate",
- "framerate",
- "samplingrate",
- "channels",
- "duration",
- "height",
- "width",
- ];
- function a(p) {
- return (0, e.getElementsByTagName)("media:content", p).map(function (M) {
- for (
- var d = M.attribs,
- O = { medium: d.medium, isDefault: !!d.isDefault },
- f = 0,
- z = s;
- f < z.length;
- f++
- ) {
- var g = z[f];
- d[g] && (O[g] = d[g]);
- }
- for (var A = 0, h = o; A < h.length; A++) {
- var g = h[A];
- d[g] && (O[g] = parseInt(d[g], 10));
- }
- return (d.expression && (O.expression = d.expression), O);
- });
- }
- function u(p, M) {
- return (0, e.getElementsByTagName)(p, M, !0, 1)[0];
- }
- function c(p, M, d) {
- return (
- d === void 0 && (d = !1),
- (0, t.textContent)((0, e.getElementsByTagName)(p, M, d, 1)).trim()
- );
- }
- function b(p, M, d, O, f) {
- f === void 0 && (f = !1);
- var z = c(d, O, f);
- z && (p[M] = z);
- }
- function l(p) {
- return p === "rss" || p === "feed" || p === "rdf:RDF";
- }
- return Qo;
-}
-var XO;
-function Gu() {
- return (
- XO ||
- ((XO = 1),
- (function (t) {
- var e =
- (Pn && Pn.__createBinding) ||
- (Object.create
- ? function (r, s, o, a) {
- a === void 0 && (a = o);
- var u = Object.getOwnPropertyDescriptor(s, o);
- ((!u ||
- ("get" in u
- ? !s.__esModule
- : u.writable || u.configurable)) &&
- (u = {
- enumerable: !0,
- get: function () {
- return s[o];
- },
- }),
- Object.defineProperty(r, a, u));
- }
- : function (r, s, o, a) {
- (a === void 0 && (a = o), (r[a] = s[o]));
- }),
- n =
- (Pn && Pn.__exportStar) ||
- function (r, s) {
- for (var o in r)
- o !== "default" &&
- !Object.prototype.hasOwnProperty.call(s, o) &&
- e(s, r, o);
- };
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.hasChildren =
- t.isDocument =
- t.isComment =
- t.isText =
- t.isCDATA =
- t.isTag =
- void 0),
- n(g6(), t),
- n(n50(), t),
- n(i50(), t),
- n(m6(), t),
- n(W6(), t),
- n(r50(), t),
- n(s50(), t));
- var i = _n();
- (Object.defineProperty(t, "isTag", {
- enumerable: !0,
- get: function () {
- return i.isTag;
- },
- }),
- Object.defineProperty(t, "isCDATA", {
- enumerable: !0,
- get: function () {
- return i.isCDATA;
- },
- }),
- Object.defineProperty(t, "isText", {
- enumerable: !0,
- get: function () {
- return i.isText;
- },
- }),
- Object.defineProperty(t, "isComment", {
- enumerable: !0,
- get: function () {
- return i.isComment;
- },
- }),
- Object.defineProperty(t, "isDocument", {
- enumerable: !0,
- get: function () {
- return i.isDocument;
- },
- }),
- Object.defineProperty(t, "hasChildren", {
- enumerable: !0,
- get: function () {
- return i.hasChildren;
- },
- }));
- })(Pn)),
- Pn
- );
-}
-var FO;
-function o50() {
- return (
- FO ||
- ((FO = 1),
- (function (t) {
- var e =
- (ve && ve.__createBinding) ||
- (Object.create
- ? function (z, g, A, h) {
- h === void 0 && (h = A);
- var q = Object.getOwnPropertyDescriptor(g, A);
- ((!q ||
- ("get" in q
- ? !g.__esModule
- : q.writable || q.configurable)) &&
- (q = {
- enumerable: !0,
- get: function () {
- return g[A];
- },
- }),
- Object.defineProperty(z, h, q));
- }
- : function (z, g, A, h) {
- (h === void 0 && (h = A), (z[h] = g[A]));
- }),
- n =
- (ve && ve.__setModuleDefault) ||
- (Object.create
- ? function (z, g) {
- Object.defineProperty(z, "default", {
- enumerable: !0,
- value: g,
- });
- }
- : function (z, g) {
- z.default = g;
- }),
- i =
- (ve && ve.__importStar) ||
- function (z) {
- if (z && z.__esModule) return z;
- var g = {};
- if (z != null)
- for (var A in z)
- A !== "default" &&
- Object.prototype.hasOwnProperty.call(z, A) &&
- e(g, z, A);
- return (n(g, z), g);
- },
- r =
- (ve && ve.__importDefault) ||
- function (z) {
- return z && z.__esModule ? z : { default: z };
- };
- (Object.defineProperty(t, "__esModule", { value: !0 }),
- (t.DomUtils =
- t.parseFeed =
- t.getFeed =
- t.ElementType =
- t.Tokenizer =
- t.createDomStream =
- t.parseDOM =
- t.parseDocument =
- t.DefaultHandler =
- t.DomHandler =
- t.Parser =
- void 0));
- var s = zO(),
- o = zO();
- Object.defineProperty(t, "Parser", {
- enumerable: !0,
- get: function () {
- return o.Parser;
- },
- });
- var a = _n(),
- u = _n();
- (Object.defineProperty(t, "DomHandler", {
- enumerable: !0,
- get: function () {
- return u.DomHandler;
- },
- }),
- Object.defineProperty(t, "DefaultHandler", {
- enumerable: !0,
- get: function () {
- return u.DomHandler;
- },
- }));
- function c(z, g) {
- var A = new a.DomHandler(void 0, g);
- return (new s.Parser(A, g).end(z), A.root);
- }
- t.parseDocument = c;
- function b(z, g) {
- return c(z, g).children;
- }
- t.parseDOM = b;
- function l(z, g, A) {
- var h = new a.DomHandler(z, g, A);
- return new s.Parser(h, g);
- }
- t.createDomStream = l;
- var p = q6();
- (Object.defineProperty(t, "Tokenizer", {
- enumerable: !0,
- get: function () {
- return r(p).default;
- },
- }),
- (t.ElementType = i(co())));
- var M = Gu(),
- d = Gu();
- Object.defineProperty(t, "getFeed", {
- enumerable: !0,
- get: function () {
- return d.getFeed;
- },
- });
- var O = { xmlMode: !0 };
- function f(z, g) {
- return (g === void 0 && (g = O), (0, M.getFeed)(b(z, g)));
- }
- ((t.parseFeed = f), (t.DomUtils = i(Gu())));
- })(ve)),
- ve
- );
-}
-var Vu, UO;
-function a50() {
- return (
- UO ||
- ((UO = 1),
- (Vu = (t) => {
- if (typeof t != "string") throw new TypeError("Expected a string");
- return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
- })),
- Vu
- );
-}
-var Jo = {},
- $O;
-function c50() {
- if ($O) return Jo;
- (($O = 1), Object.defineProperty(Jo, "__esModule", { value: !0 }));
- function t(n) {
- return Object.prototype.toString.call(n) === "[object Object]";
- }
- function e(n) {
- var i, r;
- return t(n) === !1
- ? !1
- : ((i = n.constructor),
- i === void 0
- ? !0
- : ((r = i.prototype),
- !(t(r) === !1 || r.hasOwnProperty("isPrototypeOf") === !1)));
- }
- return ((Jo.isPlainObject = e), Jo);
-}
-var ju, HO;
-function u50() {
- if (HO) return ju;
- HO = 1;
- var t = function (g) {
- return e(g) && !n(g);
- };
- function e(z) {
- return !!z && typeof z == "object";
- }
- function n(z) {
- var g = Object.prototype.toString.call(z);
- return g === "[object RegExp]" || g === "[object Date]" || s(z);
- }
- var i = typeof Symbol == "function" && Symbol.for,
- r = i ? Symbol.for("react.element") : 60103;
- function s(z) {
- return z.$$typeof === r;
- }
- function o(z) {
- return Array.isArray(z) ? [] : {};
- }
- function a(z, g) {
- return g.clone !== !1 && g.isMergeableObject(z) ? O(o(z), z, g) : z;
- }
- function u(z, g, A) {
- return z.concat(g).map(function (h) {
- return a(h, A);
- });
- }
- function c(z, g) {
- if (!g.customMerge) return O;
- var A = g.customMerge(z);
- return typeof A == "function" ? A : O;
- }
- function b(z) {
- return Object.getOwnPropertySymbols
- ? Object.getOwnPropertySymbols(z).filter(function (g) {
- return Object.propertyIsEnumerable.call(z, g);
- })
- : [];
- }
- function l(z) {
- return Object.keys(z).concat(b(z));
- }
- function p(z, g) {
- try {
- return g in z;
- } catch {
- return !1;
- }
- }
- function M(z, g) {
- return (
- p(z, g) &&
- !(
- Object.hasOwnProperty.call(z, g) &&
- Object.propertyIsEnumerable.call(z, g)
- )
- );
- }
- function d(z, g, A) {
- var h = {};
- return (
- A.isMergeableObject(z) &&
- l(z).forEach(function (q) {
- h[q] = a(z[q], A);
- }),
- l(g).forEach(function (q) {
- M(z, q) ||
- (p(z, q) && A.isMergeableObject(g[q])
- ? (h[q] = c(q, A)(z[q], g[q], A))
- : (h[q] = a(g[q], A)));
- }),
- h
- );
- }
- function O(z, g, A) {
- ((A = A || {}),
- (A.arrayMerge = A.arrayMerge || u),
- (A.isMergeableObject = A.isMergeableObject || t),
- (A.cloneUnlessOtherwiseSpecified = a));
- var h = Array.isArray(g),
- q = Array.isArray(z),
- v = h === q;
- return v ? (h ? A.arrayMerge(z, g, A) : d(z, g, A)) : a(g, A);
- }
- O.all = function (g, A) {
- if (!Array.isArray(g)) throw new Error("first argument should be an array");
- return g.reduce(function (h, q) {
- return O(h, q, A);
- }, {});
- };
- var f = O;
- return ((ju = f), ju);
-}
-var ya = { exports: {} },
- b50 = ya.exports,
- GO;
-function p50() {
- return (
- GO ||
- ((GO = 1),
- (function (t) {
- (function (e, n) {
- t.exports ? (t.exports = n()) : (e.parseSrcset = n());
- })(b50, function () {
- return function (e) {
- function n(h) {
- return (
- h === " " ||
- h === " " ||
- h ===
- `
-` ||
- h === "\f" ||
- h === "\r"
- );
- }
- function i(h) {
- var q,
- v = h.exec(e.substring(f));
- if (v) return ((q = v[0]), (f += q.length), q);
- }
- for (
- var r = e.length,
- s = /^[ \t\n\r\u000c]+/,
- o = /^[, \t\n\r\u000c]+/,
- a = /^[^ \t\n\r\u000c]+/,
- u = /[,]+$/,
- c = /^\d+$/,
- b = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,
- l,
- p,
- M,
- d,
- O,
- f = 0,
- z = [];
- ;
- ) {
- if ((i(o), f >= r)) return z;
- ((l = i(a)),
- (p = []),
- l.slice(-1) === "," ? ((l = l.replace(u, "")), A()) : g());
- }
- function g() {
- for (i(s), M = "", d = "in descriptor"; ; ) {
- if (((O = e.charAt(f)), d === "in descriptor"))
- if (n(O))
- M && (p.push(M), (M = ""), (d = "after descriptor"));
- else if (O === ",") {
- ((f += 1), M && p.push(M), A());
- return;
- } else if (O === "(") ((M = M + O), (d = "in parens"));
- else if (O === "") {
- (M && p.push(M), A());
- return;
- } else M = M + O;
- else if (d === "in parens")
- if (O === ")") ((M = M + O), (d = "in descriptor"));
- else if (O === "") {
- (p.push(M), A());
- return;
- } else M = M + O;
- else if (d === "after descriptor" && !n(O))
- if (O === "") {
- A();
- return;
- } else ((d = "in descriptor"), (f -= 1));
- f += 1;
- }
- }
- function A() {
- var h = !1,
- q,
- v,
- m,
- E,
- _ = {},
- T,
- y,
- W,
- x,
- B;
- for (E = 0; E < p.length; E++)
- ((T = p[E]),
- (y = T[T.length - 1]),
- (W = T.substring(0, T.length - 1)),
- (x = parseInt(W, 10)),
- (B = parseFloat(W)),
- c.test(W) && y === "w"
- ? ((q || v) && (h = !0), x === 0 ? (h = !0) : (q = x))
- : b.test(W) && y === "x"
- ? ((q || v || m) && (h = !0), B < 0 ? (h = !0) : (v = B))
- : c.test(W) && y === "h"
- ? ((m || v) && (h = !0), x === 0 ? (h = !0) : (m = x))
- : (h = !0));
- h
- ? console &&
- console.log &&
- console.log(
- "Invalid srcset descriptor found in '" +
- e +
- "' at '" +
- T +
- "'.",
- )
- : ((_.url = l),
- q && (_.w = q),
- v && (_.d = v),
- m && (_.h = m),
- z.push(_));
- }
- };
- });
- })(ya)),
- ya.exports
- );
-}
-var Zo = { exports: {} },
- VO;
-function l50() {
- if (VO) return Zo.exports;
- VO = 1;
- var t = String,
- e = function () {
- return {
- isColorSupported: !1,
- reset: t,
- bold: t,
- dim: t,
- italic: t,
- underline: t,
- inverse: t,
- hidden: t,
- strikethrough: t,
- black: t,
- red: t,
- green: t,
- yellow: t,
- blue: t,
- magenta: t,
- cyan: t,
- white: t,
- gray: t,
- bgBlack: t,
- bgRed: t,
- bgGreen: t,
- bgYellow: t,
- bgBlue: t,
- bgMagenta: t,
- bgCyan: t,
- bgWhite: t,
- blackBright: t,
- redBright: t,
- greenBright: t,
- yellowBright: t,
- blueBright: t,
- magentaBright: t,
- cyanBright: t,
- whiteBright: t,
- bgBlackBright: t,
- bgRedBright: t,
- bgGreenBright: t,
- bgYellowBright: t,
- bgBlueBright: t,
- bgMagentaBright: t,
- bgCyanBright: t,
- bgWhiteBright: t,
- };
- };
- return ((Zo.exports = e()), (Zo.exports.createColors = e), Zo.exports);
-}
-const M50 = {},
- d50 = Object.freeze(
- Object.defineProperty(
- { __proto__: null, default: M50 },
- Symbol.toStringTag,
- { value: "Module" },
- ),
- ),
- Be = tq(d50);
-var Ku, jO;
-function CM() {
- if (jO) return Ku;
- jO = 1;
- let t = l50(),
- e = Be;
- class n extends Error {
- constructor(r, s, o, a, u, c) {
- (super(r),
- (this.name = "CssSyntaxError"),
- (this.reason = r),
- u && (this.file = u),
- a && (this.source = a),
- c && (this.plugin = c),
- typeof s < "u" &&
- typeof o < "u" &&
- (typeof s == "number"
- ? ((this.line = s), (this.column = o))
- : ((this.line = s.line),
- (this.column = s.column),
- (this.endLine = o.line),
- (this.endColumn = o.column))),
- this.setMessage(),
- Error.captureStackTrace && Error.captureStackTrace(this, n));
- }
- setMessage() {
- ((this.message = this.plugin ? this.plugin + ": " : ""),
- (this.message += this.file ? this.file : ""),
- typeof this.line < "u" &&
- (this.message += ":" + this.line + ":" + this.column),
- (this.message += ": " + this.reason));
- }
- showSourceCode(r) {
- if (!this.source) return "";
- let s = this.source;
- r == null && (r = t.isColorSupported);
- let o = (M) => M,
- a = (M) => M,
- u = (M) => M;
- if (r) {
- let { bold: M, gray: d, red: O } = t.createColors(!0);
- ((a = (f) => M(O(f))), (o = (f) => d(f)), e && (u = (f) => e(f)));
- }
- let c = s.split(/\r?\n/),
- b = Math.max(this.line - 3, 0),
- l = Math.min(this.line + 2, c.length),
- p = String(l).length;
- return c.slice(b, l).map((M, d) => {
- let O = b + 1 + d,
- f = " " + (" " + O).slice(-p) + " | ";
- if (O === this.line) {
- if (M.length > 160) {
- let g = 20,
- A = Math.max(0, this.column - g),
- h = Math.max(this.column + g, this.endColumn + g),
- q = M.slice(A, h),
- v =
- o(f.replace(/\d/g, " ")) +
- M.slice(0, Math.min(this.column - 1, g - 1)).replace(
- /[^\t]/g,
- " ",
- );
- return (
- a(">") +
- o(f) +
- u(q) +
- `
- ` +
- v +
- a("^")
- );
- }
- let z =
- o(f.replace(/\d/g, " ")) +
- M.slice(0, this.column - 1).replace(/[^\t]/g, " ");
- return (
- a(">") +
- o(f) +
- u(M) +
- `
- ` +
- z +
- a("^")
- );
- }
- return " " + o(f) + u(M);
- }).join(`
-`);
- }
- toString() {
- let r = this.showSourceCode();
- return (
- r &&
- (r =
- `
-
-` +
- r +
- `
-`),
- this.name + ": " + this.message + r
- );
- }
- }
- return ((Ku = n), (n.default = n), Ku);
-}
-var Yu, KO;
-function R6() {
- if (KO) return Yu;
- KO = 1;
- const t = {
- after: `
-`,
- beforeClose: `
-`,
- beforeComment: `
-`,
- beforeDecl: `
-`,
- beforeOpen: " ",
- beforeRule: `
-`,
- colon: ": ",
- commentLeft: " ",
- commentRight: " ",
- emptyBody: "",
- indent: " ",
- semicolon: !1,
- };
- function e(i) {
- return i[0].toUpperCase() + i.slice(1);
- }
- class n {
- constructor(r) {
- this.builder = r;
- }
- atrule(r, s) {
- let o = "@" + r.name,
- a = r.params ? this.rawValue(r, "params") : "";
- if (
- (typeof r.raws.afterName < "u"
- ? (o += r.raws.afterName)
- : a && (o += " "),
- r.nodes)
- )
- this.block(r, o + a);
- else {
- let u = (r.raws.between || "") + (s ? ";" : "");
- this.builder(o + a + u, r);
- }
- }
- beforeAfter(r, s) {
- let o;
- r.type === "decl"
- ? (o = this.raw(r, null, "beforeDecl"))
- : r.type === "comment"
- ? (o = this.raw(r, null, "beforeComment"))
- : s === "before"
- ? (o = this.raw(r, null, "beforeRule"))
- : (o = this.raw(r, null, "beforeClose"));
- let a = r.parent,
- u = 0;
- for (; a && a.type !== "root"; ) ((u += 1), (a = a.parent));
- if (
- o.includes(`
-`)
- ) {
- let c = this.raw(r, null, "indent");
- if (c.length) for (let b = 0; b < u; b++) o += c;
- }
- return o;
- }
- block(r, s) {
- let o = this.raw(r, "between", "beforeOpen");
- this.builder(s + o + "{", r, "start");
- let a;
- (r.nodes && r.nodes.length
- ? (this.body(r), (a = this.raw(r, "after")))
- : (a = this.raw(r, "after", "emptyBody")),
- a && this.builder(a),
- this.builder("}", r, "end"));
- }
- body(r) {
- let s = r.nodes.length - 1;
- for (; s > 0 && r.nodes[s].type === "comment"; ) s -= 1;
- let o = this.raw(r, "semicolon");
- for (let a = 0; a < r.nodes.length; a++) {
- let u = r.nodes[a],
- c = this.raw(u, "before");
- (c && this.builder(c), this.stringify(u, s !== a || o));
- }
- }
- comment(r) {
- let s = this.raw(r, "left", "commentLeft"),
- o = this.raw(r, "right", "commentRight");
- this.builder("/*" + s + r.text + o + "*/", r);
- }
- decl(r, s) {
- let o = this.raw(r, "between", "colon"),
- a = r.prop + o + this.rawValue(r, "value");
- (r.important && (a += r.raws.important || " !important"),
- s && (a += ";"),
- this.builder(a, r));
- }
- document(r) {
- this.body(r);
- }
- raw(r, s, o) {
- let a;
- if ((o || (o = s), s && ((a = r.raws[s]), typeof a < "u"))) return a;
- let u = r.parent;
- if (
- o === "before" &&
- (!u ||
- (u.type === "root" && u.first === r) ||
- (u && u.type === "document"))
- )
- return "";
- if (!u) return t[o];
- let c = r.root();
- if ((c.rawCache || (c.rawCache = {}), typeof c.rawCache[o] < "u"))
- return c.rawCache[o];
- if (o === "before" || o === "after") return this.beforeAfter(r, o);
- {
- let b = "raw" + e(o);
- this[b]
- ? (a = this[b](c, r))
- : c.walk((l) => {
- if (((a = l.raws[s]), typeof a < "u")) return !1;
- });
- }
- return (typeof a > "u" && (a = t[o]), (c.rawCache[o] = a), a);
- }
- rawBeforeClose(r) {
- let s;
- return (
- r.walk((o) => {
- if (o.nodes && o.nodes.length > 0 && typeof o.raws.after < "u")
- return (
- (s = o.raws.after),
- s.includes(`
-`) && (s = s.replace(/[^\n]+$/, "")),
- !1
- );
- }),
- s && (s = s.replace(/\S/g, "")),
- s
- );
- }
- rawBeforeComment(r, s) {
- let o;
- return (
- r.walkComments((a) => {
- if (typeof a.raws.before < "u")
- return (
- (o = a.raws.before),
- o.includes(`
-`) && (o = o.replace(/[^\n]+$/, "")),
- !1
- );
- }),
- typeof o > "u"
- ? (o = this.raw(s, null, "beforeDecl"))
- : o && (o = o.replace(/\S/g, "")),
- o
- );
- }
- rawBeforeDecl(r, s) {
- let o;
- return (
- r.walkDecls((a) => {
- if (typeof a.raws.before < "u")
- return (
- (o = a.raws.before),
- o.includes(`
-`) && (o = o.replace(/[^\n]+$/, "")),
- !1
- );
- }),
- typeof o > "u"
- ? (o = this.raw(s, null, "beforeRule"))
- : o && (o = o.replace(/\S/g, "")),
- o
- );
- }
- rawBeforeOpen(r) {
- let s;
- return (
- r.walk((o) => {
- if (o.type !== "decl" && ((s = o.raws.between), typeof s < "u"))
- return !1;
- }),
- s
- );
- }
- rawBeforeRule(r) {
- let s;
- return (
- r.walk((o) => {
- if (
- o.nodes &&
- (o.parent !== r || r.first !== o) &&
- typeof o.raws.before < "u"
- )
- return (
- (s = o.raws.before),
- s.includes(`
-`) && (s = s.replace(/[^\n]+$/, "")),
- !1
- );
- }),
- s && (s = s.replace(/\S/g, "")),
- s
- );
- }
- rawColon(r) {
- let s;
- return (
- r.walkDecls((o) => {
- if (typeof o.raws.between < "u")
- return ((s = o.raws.between.replace(/[^\s:]/g, "")), !1);
- }),
- s
- );
- }
- rawEmptyBody(r) {
- let s;
- return (
- r.walk((o) => {
- if (
- o.nodes &&
- o.nodes.length === 0 &&
- ((s = o.raws.after), typeof s < "u")
- )
- return !1;
- }),
- s
- );
- }
- rawIndent(r) {
- if (r.raws.indent) return r.raws.indent;
- let s;
- return (
- r.walk((o) => {
- let a = o.parent;
- if (
- a &&
- a !== r &&
- a.parent &&
- a.parent === r &&
- typeof o.raws.before < "u"
- ) {
- let u = o.raws.before.split(`
-`);
- return ((s = u[u.length - 1]), (s = s.replace(/\S/g, "")), !1);
- }
- }),
- s
- );
- }
- rawSemicolon(r) {
- let s;
- return (
- r.walk((o) => {
- if (
- o.nodes &&
- o.nodes.length &&
- o.last.type === "decl" &&
- ((s = o.raws.semicolon), typeof s < "u")
- )
- return !1;
- }),
- s
- );
- }
- rawValue(r, s) {
- let o = r[s],
- a = r.raws[s];
- return a && a.value === o ? a.raw : o;
- }
- root(r) {
- (this.body(r), r.raws.after && this.builder(r.raws.after));
- }
- rule(r) {
- (this.block(r, this.rawValue(r, "selector")),
- r.raws.ownSemicolon && this.builder(r.raws.ownSemicolon, r, "end"));
- }
- stringify(r, s) {
- if (!this[r.type])
- throw new Error(
- "Unknown AST node type " +
- r.type +
- ". Maybe you need to change PostCSS stringifier.",
- );
- this[r.type](r, s);
- }
- }
- return ((Yu = n), (n.default = n), Yu);
-}
-var Qu, YO;
-function f2() {
- if (YO) return Qu;
- YO = 1;
- let t = R6();
- function e(n, i) {
- new t(i).stringify(n);
- }
- return ((Qu = e), (e.default = e), Qu);
-}
-var ea = {},
- QO;
-function kM() {
- return (
- QO || ((QO = 1), (ea.isClean = Symbol("isClean")), (ea.my = Symbol("my"))),
- ea
- );
-}
-var Ju, JO;
-function z2() {
- if (JO) return Ju;
- JO = 1;
- let t = CM(),
- e = R6(),
- n = f2(),
- { isClean: i, my: r } = kM();
- function s(u, c) {
- let b = new u.constructor();
- for (let l in u) {
- if (!Object.prototype.hasOwnProperty.call(u, l) || l === "proxyCache")
- continue;
- let p = u[l],
- M = typeof p;
- l === "parent" && M === "object"
- ? c && (b[l] = c)
- : l === "source"
- ? (b[l] = p)
- : Array.isArray(p)
- ? (b[l] = p.map((d) => s(d, b)))
- : (M === "object" && p !== null && (p = s(p)), (b[l] = p));
- }
- return b;
- }
- function o(u, c) {
- if (c && typeof c.offset < "u") return c.offset;
- let b = 1,
- l = 1,
- p = 0;
- for (let M = 0; M < u.length; M++) {
- if (l === c.line && b === c.column) {
- p = M;
- break;
- }
- u[M] ===
- `
-`
- ? ((b = 1), (l += 1))
- : (b += 1);
- }
- return p;
- }
- class a {
- get proxyOf() {
- return this;
- }
- constructor(c = {}) {
- ((this.raws = {}), (this[i] = !1), (this[r] = !0));
- for (let b in c)
- if (b === "nodes") {
- this.nodes = [];
- for (let l of c[b])
- typeof l.clone == "function"
- ? this.append(l.clone())
- : this.append(l);
- } else this[b] = c[b];
- }
- addToError(c) {
- if (
- ((c.postcssNode = this),
- c.stack && this.source && /\n\s{4}at /.test(c.stack))
- ) {
- let b = this.source;
- c.stack = c.stack.replace(
- /\n\s{4}at /,
- `$&${b.input.from}:${b.start.line}:${b.start.column}$&`,
- );
- }
- return c;
- }
- after(c) {
- return (this.parent.insertAfter(this, c), this);
- }
- assign(c = {}) {
- for (let b in c) this[b] = c[b];
- return this;
- }
- before(c) {
- return (this.parent.insertBefore(this, c), this);
- }
- cleanRaws(c) {
- (delete this.raws.before,
- delete this.raws.after,
- c || delete this.raws.between);
- }
- clone(c = {}) {
- let b = s(this);
- for (let l in c) b[l] = c[l];
- return b;
- }
- cloneAfter(c = {}) {
- let b = this.clone(c);
- return (this.parent.insertAfter(this, b), b);
- }
- cloneBefore(c = {}) {
- let b = this.clone(c);
- return (this.parent.insertBefore(this, b), b);
- }
- error(c, b = {}) {
- if (this.source) {
- let { end: l, start: p } = this.rangeBy(b);
- return this.source.input.error(
- c,
- { column: p.column, line: p.line },
- { column: l.column, line: l.line },
- b,
- );
- }
- return new t(c);
- }
- getProxyProcessor() {
- return {
- get(c, b) {
- return b === "proxyOf"
- ? c
- : b === "root"
- ? () => c.root().toProxy()
- : c[b];
- },
- set(c, b, l) {
- return (
- c[b] === l ||
- ((c[b] = l),
- (b === "prop" ||
- b === "value" ||
- b === "name" ||
- b === "params" ||
- b === "important" ||
- b === "text") &&
- c.markDirty()),
- !0
- );
- },
- };
- }
- markClean() {
- this[i] = !0;
- }
- markDirty() {
- if (this[i]) {
- this[i] = !1;
- let c = this;
- for (; (c = c.parent); ) c[i] = !1;
- }
- }
- next() {
- if (!this.parent) return;
- let c = this.parent.index(this);
- return this.parent.nodes[c + 1];
- }
- positionBy(c = {}) {
- let b = this.source.start;
- if (c.index) b = this.positionInside(c.index);
- else if (c.word) {
- let l =
- "document" in this.source.input
- ? this.source.input.document
- : this.source.input.css,
- M = l
- .slice(o(l, this.source.start), o(l, this.source.end))
- .indexOf(c.word);
- M !== -1 && (b = this.positionInside(M));
- }
- return b;
- }
- positionInside(c) {
- let b = this.source.start.column,
- l = this.source.start.line,
- p =
- "document" in this.source.input
- ? this.source.input.document
- : this.source.input.css,
- M = o(p, this.source.start),
- d = M + c;
- for (let O = M; O < d; O++)
- p[O] ===
- `
-`
- ? ((b = 1), (l += 1))
- : (b += 1);
- return { column: b, line: l, offset: d };
- }
- prev() {
- if (!this.parent) return;
- let c = this.parent.index(this);
- return this.parent.nodes[c - 1];
- }
- rangeBy(c = {}) {
- let b =
- "document" in this.source.input
- ? this.source.input.document
- : this.source.input.css,
- l = {
- column: this.source.start.column,
- line: this.source.start.line,
- offset: o(b, this.source.start),
- },
- p = this.source.end
- ? {
- column: this.source.end.column + 1,
- line: this.source.end.line,
- offset:
- typeof this.source.end.offset == "number"
- ? this.source.end.offset
- : o(b, this.source.end) + 1,
- }
- : { column: l.column + 1, line: l.line, offset: l.offset + 1 };
- if (c.word) {
- let d = b
- .slice(o(b, this.source.start), o(b, this.source.end))
- .indexOf(c.word);
- d !== -1 &&
- ((l = this.positionInside(d)),
- (p = this.positionInside(d + c.word.length)));
- } else
- (c.start
- ? (l = {
- column: c.start.column,
- line: c.start.line,
- offset: o(b, c.start),
- })
- : c.index && (l = this.positionInside(c.index)),
- c.end
- ? (p = {
- column: c.end.column,
- line: c.end.line,
- offset: o(b, c.end),
- })
- : typeof c.endIndex == "number"
- ? (p = this.positionInside(c.endIndex))
- : c.index && (p = this.positionInside(c.index + 1)));
- return (
- (p.line < l.line || (p.line === l.line && p.column <= l.column)) &&
- (p = { column: l.column + 1, line: l.line, offset: l.offset + 1 }),
- { end: p, start: l }
- );
- }
- raw(c, b) {
- return new e().raw(this, c, b);
- }
- remove() {
- return (
- this.parent && this.parent.removeChild(this),
- (this.parent = void 0),
- this
- );
- }
- replaceWith(...c) {
- if (this.parent) {
- let b = this,
- l = !1;
- for (let p of c)
- p === this
- ? (l = !0)
- : l
- ? (this.parent.insertAfter(b, p), (b = p))
- : this.parent.insertBefore(b, p);
- l || this.remove();
- }
- return this;
- }
- root() {
- let c = this;
- for (; c.parent && c.parent.type !== "document"; ) c = c.parent;
- return c;
- }
- toJSON(c, b) {
- let l = {},
- p = b == null;
- b = b || new Map();
- let M = 0;
- for (let d in this) {
- if (
- !Object.prototype.hasOwnProperty.call(this, d) ||
- d === "parent" ||
- d === "proxyCache"
- )
- continue;
- let O = this[d];
- if (Array.isArray(O))
- l[d] = O.map((f) =>
- typeof f == "object" && f.toJSON ? f.toJSON(null, b) : f,
- );
- else if (typeof O == "object" && O.toJSON) l[d] = O.toJSON(null, b);
- else if (d === "source") {
- if (O == null) continue;
- let f = b.get(O.input);
- (f == null && ((f = M), b.set(O.input, M), M++),
- (l[d] = { end: O.end, inputId: f, start: O.start }));
- } else l[d] = O;
- }
- return (p && (l.inputs = [...b.keys()].map((d) => d.toJSON())), l);
- }
- toProxy() {
- return (
- this.proxyCache ||
- (this.proxyCache = new Proxy(this, this.getProxyProcessor())),
- this.proxyCache
- );
- }
- toString(c = n) {
- c.stringify && (c = c.stringify);
- let b = "";
- return (
- c(this, (l) => {
- b += l;
- }),
- b
- );
- }
- warn(c, b, l = {}) {
- let p = { node: this };
- for (let M in l) p[M] = l[M];
- return c.warn(b, p);
- }
- }
- return ((Ju = a), (a.default = a), Ju);
-}
-var Zu, ZO;
-function O2() {
- if (ZO) return Zu;
- ZO = 1;
- let t = z2();
- class e extends t {
- constructor(i) {
- (super(i), (this.type = "comment"));
- }
- }
- return ((Zu = e), (e.default = e), Zu);
-}
-var eb, eh;
-function h2() {
- if (eh) return eb;
- eh = 1;
- let t = z2();
- class e extends t {
- get variable() {
- return this.prop.startsWith("--") || this.prop[0] === "$";
- }
- constructor(i) {
- (i &&
- typeof i.value < "u" &&
- typeof i.value != "string" &&
- (i = { ...i, value: String(i.value) }),
- super(i),
- (this.type = "decl"));
- }
- }
- return ((eb = e), (e.default = e), eb);
-}
-var tb, th;
-function mi() {
- if (th) return tb;
- th = 1;
- let t = O2(),
- e = h2(),
- n = z2(),
- { isClean: i, my: r } = kM(),
- s,
- o,
- a,
- u;
- function c(p) {
- return p.map(
- (M) => (M.nodes && (M.nodes = c(M.nodes)), delete M.source, M),
- );
- }
- function b(p) {
- if (((p[i] = !1), p.proxyOf.nodes)) for (let M of p.proxyOf.nodes) b(M);
- }
- class l extends n {
- get first() {
- if (this.proxyOf.nodes) return this.proxyOf.nodes[0];
- }
- get last() {
- if (this.proxyOf.nodes)
- return this.proxyOf.nodes[this.proxyOf.nodes.length - 1];
- }
- append(...M) {
- for (let d of M) {
- let O = this.normalize(d, this.last);
- for (let f of O) this.proxyOf.nodes.push(f);
- }
- return (this.markDirty(), this);
- }
- cleanRaws(M) {
- if ((super.cleanRaws(M), this.nodes))
- for (let d of this.nodes) d.cleanRaws(M);
- }
- each(M) {
- if (!this.proxyOf.nodes) return;
- let d = this.getIterator(),
- O,
- f;
- for (
- ;
- this.indexes[d] < this.proxyOf.nodes.length &&
- ((O = this.indexes[d]), (f = M(this.proxyOf.nodes[O], O)), f !== !1);
- )
- this.indexes[d] += 1;
- return (delete this.indexes[d], f);
- }
- every(M) {
- return this.nodes.every(M);
- }
- getIterator() {
- (this.lastEach || (this.lastEach = 0),
- this.indexes || (this.indexes = {}),
- (this.lastEach += 1));
- let M = this.lastEach;
- return ((this.indexes[M] = 0), M);
- }
- getProxyProcessor() {
- return {
- get(M, d) {
- return d === "proxyOf"
- ? M
- : M[d]
- ? d === "each" || (typeof d == "string" && d.startsWith("walk"))
- ? (...O) =>
- M[d](
- ...O.map((f) =>
- typeof f == "function"
- ? (z, g) => f(z.toProxy(), g)
- : f,
- ),
- )
- : d === "every" || d === "some"
- ? (O) => M[d]((f, ...z) => O(f.toProxy(), ...z))
- : d === "root"
- ? () => M.root().toProxy()
- : d === "nodes"
- ? M.nodes.map((O) => O.toProxy())
- : d === "first" || d === "last"
- ? M[d].toProxy()
- : M[d]
- : M[d];
- },
- set(M, d, O) {
- return (
- M[d] === O ||
- ((M[d] = O),
- (d === "name" || d === "params" || d === "selector") &&
- M.markDirty()),
- !0
- );
- },
- };
- }
- index(M) {
- return typeof M == "number"
- ? M
- : (M.proxyOf && (M = M.proxyOf), this.proxyOf.nodes.indexOf(M));
- }
- insertAfter(M, d) {
- let O = this.index(M),
- f = this.normalize(d, this.proxyOf.nodes[O]).reverse();
- O = this.index(M);
- for (let g of f) this.proxyOf.nodes.splice(O + 1, 0, g);
- let z;
- for (let g in this.indexes)
- ((z = this.indexes[g]), O < z && (this.indexes[g] = z + f.length));
- return (this.markDirty(), this);
- }
- insertBefore(M, d) {
- let O = this.index(M),
- f = O === 0 ? "prepend" : !1,
- z = this.normalize(d, this.proxyOf.nodes[O], f).reverse();
- O = this.index(M);
- for (let A of z) this.proxyOf.nodes.splice(O, 0, A);
- let g;
- for (let A in this.indexes)
- ((g = this.indexes[A]), O <= g && (this.indexes[A] = g + z.length));
- return (this.markDirty(), this);
- }
- normalize(M, d) {
- if (typeof M == "string") M = c(o(M).nodes);
- else if (typeof M > "u") M = [];
- else if (Array.isArray(M)) {
- M = M.slice(0);
- for (let f of M) f.parent && f.parent.removeChild(f, "ignore");
- } else if (M.type === "root" && this.type !== "document") {
- M = M.nodes.slice(0);
- for (let f of M) f.parent && f.parent.removeChild(f, "ignore");
- } else if (M.type) M = [M];
- else if (M.prop) {
- if (typeof M.value > "u")
- throw new Error("Value field is missed in node creation");
- (typeof M.value != "string" && (M.value = String(M.value)),
- (M = [new e(M)]));
- } else if (M.selector || M.selectors) M = [new u(M)];
- else if (M.name) M = [new s(M)];
- else if (M.text) M = [new t(M)];
- else throw new Error("Unknown node type in node creation");
- return M.map(
- (f) => (
- f[r] || l.rebuild(f),
- (f = f.proxyOf),
- f.parent && f.parent.removeChild(f),
- f[i] && b(f),
- f.raws || (f.raws = {}),
- typeof f.raws.before > "u" &&
- d &&
- typeof d.raws.before < "u" &&
- (f.raws.before = d.raws.before.replace(/\S/g, "")),
- (f.parent = this.proxyOf),
- f
- ),
- );
- }
- prepend(...M) {
- M = M.reverse();
- for (let d of M) {
- let O = this.normalize(d, this.first, "prepend").reverse();
- for (let f of O) this.proxyOf.nodes.unshift(f);
- for (let f in this.indexes)
- this.indexes[f] = this.indexes[f] + O.length;
- }
- return (this.markDirty(), this);
- }
- push(M) {
- return ((M.parent = this), this.proxyOf.nodes.push(M), this);
- }
- removeAll() {
- for (let M of this.proxyOf.nodes) M.parent = void 0;
- return ((this.proxyOf.nodes = []), this.markDirty(), this);
- }
- removeChild(M) {
- ((M = this.index(M)),
- (this.proxyOf.nodes[M].parent = void 0),
- this.proxyOf.nodes.splice(M, 1));
- let d;
- for (let O in this.indexes)
- ((d = this.indexes[O]), d >= M && (this.indexes[O] = d - 1));
- return (this.markDirty(), this);
- }
- replaceValues(M, d, O) {
- return (
- O || ((O = d), (d = {})),
- this.walkDecls((f) => {
- (d.props && !d.props.includes(f.prop)) ||
- (d.fast && !f.value.includes(d.fast)) ||
- (f.value = f.value.replace(M, O));
- }),
- this.markDirty(),
- this
- );
- }
- some(M) {
- return this.nodes.some(M);
- }
- walk(M) {
- return this.each((d, O) => {
- let f;
- try {
- f = M(d, O);
- } catch (z) {
- throw d.addToError(z);
- }
- return (f !== !1 && d.walk && (f = d.walk(M)), f);
- });
- }
- walkAtRules(M, d) {
- return d
- ? M instanceof RegExp
- ? this.walk((O, f) => {
- if (O.type === "atrule" && M.test(O.name)) return d(O, f);
- })
- : this.walk((O, f) => {
- if (O.type === "atrule" && O.name === M) return d(O, f);
- })
- : ((d = M),
- this.walk((O, f) => {
- if (O.type === "atrule") return d(O, f);
- }));
- }
- walkComments(M) {
- return this.walk((d, O) => {
- if (d.type === "comment") return M(d, O);
- });
- }
- walkDecls(M, d) {
- return d
- ? M instanceof RegExp
- ? this.walk((O, f) => {
- if (O.type === "decl" && M.test(O.prop)) return d(O, f);
- })
- : this.walk((O, f) => {
- if (O.type === "decl" && O.prop === M) return d(O, f);
- })
- : ((d = M),
- this.walk((O, f) => {
- if (O.type === "decl") return d(O, f);
- }));
- }
- walkRules(M, d) {
- return d
- ? M instanceof RegExp
- ? this.walk((O, f) => {
- if (O.type === "rule" && M.test(O.selector)) return d(O, f);
- })
- : this.walk((O, f) => {
- if (O.type === "rule" && O.selector === M) return d(O, f);
- })
- : ((d = M),
- this.walk((O, f) => {
- if (O.type === "rule") return d(O, f);
- }));
- }
- }
- return (
- (l.registerParse = (p) => {
- o = p;
- }),
- (l.registerRule = (p) => {
- u = p;
- }),
- (l.registerAtRule = (p) => {
- s = p;
- }),
- (l.registerRoot = (p) => {
- a = p;
- }),
- (tb = l),
- (l.default = l),
- (l.rebuild = (p) => {
- (p.type === "atrule"
- ? Object.setPrototypeOf(p, s.prototype)
- : p.type === "rule"
- ? Object.setPrototypeOf(p, u.prototype)
- : p.type === "decl"
- ? Object.setPrototypeOf(p, e.prototype)
- : p.type === "comment"
- ? Object.setPrototypeOf(p, t.prototype)
- : p.type === "root" && Object.setPrototypeOf(p, a.prototype),
- (p[r] = !0),
- p.nodes &&
- p.nodes.forEach((M) => {
- l.rebuild(M);
- }));
- }),
- tb
- );
-}
-var nb, nh;
-function PM() {
- if (nh) return nb;
- nh = 1;
- let t = mi();
- class e extends t {
- constructor(i) {
- (super(i), (this.type = "atrule"));
- }
- append(...i) {
- return (this.proxyOf.nodes || (this.nodes = []), super.append(...i));
- }
- prepend(...i) {
- return (this.proxyOf.nodes || (this.nodes = []), super.prepend(...i));
- }
- }
- return ((nb = e), (e.default = e), t.registerAtRule(e), nb);
-}
-var ib, ih;
-function XM() {
- if (ih) return ib;
- ih = 1;
- let t = mi(),
- e,
- n;
- class i extends t {
- constructor(s) {
- (super({ type: "document", ...s }), this.nodes || (this.nodes = []));
- }
- toResult(s = {}) {
- return new e(new n(), this, s).stringify();
- }
- }
- return (
- (i.registerLazyResult = (r) => {
- e = r;
- }),
- (i.registerProcessor = (r) => {
- n = r;
- }),
- (ib = i),
- (i.default = i),
- ib
- );
-}
-var rb, rh;
-function f50() {
- if (rh) return rb;
- rh = 1;
- let t = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
- return (
- (rb = {
- nanoid: (i = 21) => {
- let r = "",
- s = i | 0;
- for (; s--; ) r += t[(Math.random() * 64) | 0];
- return r;
- },
- customAlphabet:
- (i, r = 21) =>
- (s = r) => {
- let o = "",
- a = s | 0;
- for (; a--; ) o += i[(Math.random() * i.length) | 0];
- return o;
- },
- }),
- rb
- );
-}
-var sb, sh;
-function y6() {
- if (sh) return sb;
- sh = 1;
- let { existsSync: t, readFileSync: e } = Be,
- { dirname: n, join: i } = Be,
- { SourceMapConsumer: r, SourceMapGenerator: s } = Be;
- function o(u) {
- return Buffer ? Buffer.from(u, "base64").toString() : window.atob(u);
- }
- class a {
- constructor(c, b) {
- if (b.map === !1) return;
- (this.loadAnnotation(c),
- (this.inline = this.startWith(this.annotation, "data:")));
- let l = b.map ? b.map.prev : void 0,
- p = this.loadMap(b.from, l);
- (!this.mapFile && b.from && (this.mapFile = b.from),
- this.mapFile && (this.root = n(this.mapFile)),
- p && (this.text = p));
- }
- consumer() {
- return (
- this.consumerCache || (this.consumerCache = new r(this.text)),
- this.consumerCache
- );
- }
- decodeInline(c) {
- let b = /^data:application\/json;charset=utf-?8;base64,/,
- l = /^data:application\/json;base64,/,
- p = /^data:application\/json;charset=utf-?8,/,
- M = /^data:application\/json,/,
- d = c.match(p) || c.match(M);
- if (d) return decodeURIComponent(c.substr(d[0].length));
- let O = c.match(b) || c.match(l);
- if (O) return o(c.substr(O[0].length));
- let f = c.match(/data:application\/json;([^,]+),/)[1];
- throw new Error("Unsupported source map encoding " + f);
- }
- getAnnotationURL(c) {
- return c.replace(/^\/\*\s*# sourceMappingURL=/, "").trim();
- }
- isMap(c) {
- return typeof c != "object"
- ? !1
- : typeof c.mappings == "string" ||
- typeof c._mappings == "string" ||
- Array.isArray(c.sections);
- }
- loadAnnotation(c) {
- let b = c.match(/\/\*\s*# sourceMappingURL=/g);
- if (!b) return;
- let l = c.lastIndexOf(b.pop()),
- p = c.indexOf("*/", l);
- l > -1 &&
- p > -1 &&
- (this.annotation = this.getAnnotationURL(c.substring(l, p)));
- }
- loadFile(c) {
- if (((this.root = n(c)), t(c)))
- return ((this.mapFile = c), e(c, "utf-8").toString().trim());
- }
- loadMap(c, b) {
- if (b === !1) return !1;
- if (b) {
- if (typeof b == "string") return b;
- if (typeof b == "function") {
- let l = b(c);
- if (l) {
- let p = this.loadFile(l);
- if (!p)
- throw new Error(
- "Unable to load previous source map: " + l.toString(),
- );
- return p;
- }
- } else {
- if (b instanceof r) return s.fromSourceMap(b).toString();
- if (b instanceof s) return b.toString();
- if (this.isMap(b)) return JSON.stringify(b);
- throw new Error(
- "Unsupported previous source map format: " + b.toString(),
- );
- }
- } else {
- if (this.inline) return this.decodeInline(this.annotation);
- if (this.annotation) {
- let l = this.annotation;
- return (c && (l = i(n(c), l)), this.loadFile(l));
- }
- }
- }
- startWith(c, b) {
- return c ? c.substr(0, b.length) === b : !1;
- }
- withContent() {
- return !!(
- this.consumer().sourcesContent &&
- this.consumer().sourcesContent.length > 0
- );
- }
- }
- return ((sb = a), (a.default = a), sb);
-}
-var ob, oh;
-function A2() {
- if (oh) return ob;
- oh = 1;
- let { nanoid: t } = f50(),
- { isAbsolute: e, resolve: n } = Be,
- { SourceMapConsumer: i, SourceMapGenerator: r } = Be,
- { fileURLToPath: s, pathToFileURL: o } = Be,
- a = CM(),
- u = y6(),
- c = Be,
- b = Symbol("lineToIndexCache"),
- l = !!(i && r),
- p = !!(n && e);
- function M(O) {
- if (O[b]) return O[b];
- let f = O.css.split(`
-`),
- z = new Array(f.length),
- g = 0;
- for (let A = 0, h = f.length; A < h; A++)
- ((z[A] = g), (g += f[A].length + 1));
- return ((O[b] = z), z);
- }
- class d {
- get from() {
- return this.file || this.id;
- }
- constructor(f, z = {}) {
- if (f === null || typeof f > "u" || (typeof f == "object" && !f.toString))
- throw new Error(`PostCSS received ${f} instead of CSS string`);
- if (
- ((this.css = f.toString()),
- this.css[0] === "\uFEFF" || this.css[0] === ""
- ? ((this.hasBOM = !0), (this.css = this.css.slice(1)))
- : (this.hasBOM = !1),
- (this.document = this.css),
- z.document && (this.document = z.document.toString()),
- z.from &&
- (!p || /^\w+:\/\//.test(z.from) || e(z.from)
- ? (this.file = z.from)
- : (this.file = n(z.from))),
- p && l)
- ) {
- let g = new u(this.css, z);
- if (g.text) {
- this.map = g;
- let A = g.consumer().file;
- !this.file && A && (this.file = this.mapResolve(A));
- }
- }
- (this.file || (this.id = ""),
- this.map && (this.map.file = this.from));
- }
- error(f, z, g, A = {}) {
- let h, q, v, m, E;
- if (z && typeof z == "object") {
- let T = z,
- y = g;
- if (typeof T.offset == "number") {
- m = T.offset;
- let W = this.fromOffset(m);
- ((z = W.line), (g = W.col));
- } else
- ((z = T.line), (g = T.column), (m = this.fromLineAndColumn(z, g)));
- if (typeof y.offset == "number") {
- v = y.offset;
- let W = this.fromOffset(v);
- ((q = W.line), (h = W.col));
- } else
- ((q = y.line),
- (h = y.column),
- (v = this.fromLineAndColumn(y.line, y.column)));
- } else if (g) m = this.fromLineAndColumn(z, g);
- else {
- m = z;
- let T = this.fromOffset(m);
- ((z = T.line), (g = T.col));
- }
- let _ = this.origin(z, g, q, h);
- return (
- _
- ? (E = new a(
- f,
- _.endLine === void 0
- ? _.line
- : { column: _.column, line: _.line },
- _.endLine === void 0
- ? _.column
- : { column: _.endColumn, line: _.endLine },
- _.source,
- _.file,
- A.plugin,
- ))
- : (E = new a(
- f,
- q === void 0 ? z : { column: g, line: z },
- q === void 0 ? g : { column: h, line: q },
- this.css,
- this.file,
- A.plugin,
- )),
- (E.input = {
- column: g,
- endColumn: h,
- endLine: q,
- endOffset: v,
- line: z,
- offset: m,
- source: this.css,
- }),
- this.file &&
- (o && (E.input.url = o(this.file).toString()),
- (E.input.file = this.file)),
- E
- );
- }
- fromLineAndColumn(f, z) {
- return M(this)[f - 1] + z - 1;
- }
- fromOffset(f) {
- let z = M(this),
- g = z[z.length - 1],
- A = 0;
- if (f >= g) A = z.length - 1;
- else {
- let h = z.length - 2,
- q;
- for (; A < h; )
- if (((q = A + ((h - A) >> 1)), f < z[q])) h = q - 1;
- else if (f >= z[q + 1]) A = q + 1;
- else {
- A = q;
- break;
- }
- }
- return { col: f - z[A] + 1, line: A + 1 };
- }
- mapResolve(f) {
- return /^\w+:\/\//.test(f)
- ? f
- : n(this.map.consumer().sourceRoot || this.map.root || ".", f);
- }
- origin(f, z, g, A) {
- if (!this.map) return !1;
- let h = this.map.consumer(),
- q = h.originalPositionFor({ column: z, line: f });
- if (!q.source) return !1;
- let v;
- typeof g == "number" &&
- (v = h.originalPositionFor({ column: A, line: g }));
- let m;
- e(q.source)
- ? (m = o(q.source))
- : (m = new URL(
- q.source,
- this.map.consumer().sourceRoot || o(this.map.mapFile),
- ));
- let E = {
- column: q.column,
- endColumn: v && v.column,
- endLine: v && v.line,
- line: q.line,
- url: m.toString(),
- };
- if (m.protocol === "file:")
- if (s) E.file = s(m);
- else
- throw new Error(
- "file: protocol is not available in this PostCSS build",
- );
- let _ = h.sourceContentFor(q.source);
- return (_ && (E.source = _), E);
- }
- toJSON() {
- let f = {};
- for (let z of ["hasBOM", "css", "file", "id"])
- this[z] != null && (f[z] = this[z]);
- return (
- this.map &&
- ((f.map = { ...this.map }),
- f.map.consumerCache && (f.map.consumerCache = void 0)),
- f
- );
- }
- }
- return (
- (ob = d),
- (d.default = d),
- c && c.registerInput && c.registerInput(d),
- ob
- );
-}
-var ab, ah;
-function uo() {
- if (ah) return ab;
- ah = 1;
- let t = mi(),
- e,
- n;
- class i extends t {
- constructor(s) {
- (super(s), (this.type = "root"), this.nodes || (this.nodes = []));
- }
- normalize(s, o, a) {
- let u = super.normalize(s);
- if (o) {
- if (a === "prepend")
- this.nodes.length > 1
- ? (o.raws.before = this.nodes[1].raws.before)
- : delete o.raws.before;
- else if (this.first !== o)
- for (let c of u) c.raws.before = o.raws.before;
- }
- return u;
- }
- removeChild(s, o) {
- let a = this.index(s);
- return (
- !o &&
- a === 0 &&
- this.nodes.length > 1 &&
- (this.nodes[1].raws.before = this.nodes[a].raws.before),
- super.removeChild(s)
- );
- }
- toResult(s = {}) {
- return new e(new n(), this, s).stringify();
- }
- }
- return (
- (i.registerLazyResult = (r) => {
- e = r;
- }),
- (i.registerProcessor = (r) => {
- n = r;
- }),
- (ab = i),
- (i.default = i),
- t.registerRoot(i),
- ab
- );
-}
-var cb, ch;
-function L6() {
- if (ch) return cb;
- ch = 1;
- let t = {
- comma(e) {
- return t.split(e, [","], !0);
- },
- space(e) {
- let n = [
- " ",
- `
-`,
- " ",
- ];
- return t.split(e, n);
- },
- split(e, n, i) {
- let r = [],
- s = "",
- o = !1,
- a = 0,
- u = !1,
- c = "",
- b = !1;
- for (let l of e)
- (b
- ? (b = !1)
- : l === "\\"
- ? (b = !0)
- : u
- ? l === c && (u = !1)
- : l === '"' || l === "'"
- ? ((u = !0), (c = l))
- : l === "("
- ? (a += 1)
- : l === ")"
- ? a > 0 && (a -= 1)
- : a === 0 && n.includes(l) && (o = !0),
- o ? (s !== "" && r.push(s.trim()), (s = ""), (o = !1)) : (s += l));
- return ((i || s !== "") && r.push(s.trim()), r);
- },
- };
- return ((cb = t), (t.default = t), cb);
-}
-var ub, uh;
-function FM() {
- if (uh) return ub;
- uh = 1;
- let t = mi(),
- e = L6();
- class n extends t {
- get selectors() {
- return e.comma(this.selector);
- }
- set selectors(r) {
- let s = this.selector ? this.selector.match(/,\s*/) : null,
- o = s ? s[0] : "," + this.raw("between", "beforeOpen");
- this.selector = r.join(o);
- }
- constructor(r) {
- (super(r), (this.type = "rule"), this.nodes || (this.nodes = []));
- }
- }
- return ((ub = n), (n.default = n), t.registerRule(n), ub);
-}
-var bb, bh;
-function z50() {
- if (bh) return bb;
- bh = 1;
- let t = PM(),
- e = O2(),
- n = h2(),
- i = A2(),
- r = y6(),
- s = uo(),
- o = FM();
- function a(u, c) {
- if (Array.isArray(u)) return u.map((p) => a(p));
- let { inputs: b, ...l } = u;
- if (b) {
- c = [];
- for (let p of b) {
- let M = { ...p, __proto__: i.prototype };
- (M.map && (M.map = { ...M.map, __proto__: r.prototype }), c.push(M));
- }
- }
- if ((l.nodes && (l.nodes = u.nodes.map((p) => a(p, c))), l.source)) {
- let { inputId: p, ...M } = l.source;
- ((l.source = M), p != null && (l.source.input = c[p]));
- }
- if (l.type === "root") return new s(l);
- if (l.type === "decl") return new n(l);
- if (l.type === "rule") return new o(l);
- if (l.type === "comment") return new e(l);
- if (l.type === "atrule") return new t(l);
- throw new Error("Unknown node type: " + u.type);
- }
- return ((bb = a), (a.default = a), bb);
-}
-var pb, ph;
-function v6() {
- if (ph) return pb;
- ph = 1;
- let { dirname: t, relative: e, resolve: n, sep: i } = Be,
- { SourceMapConsumer: r, SourceMapGenerator: s } = Be,
- { pathToFileURL: o } = Be,
- a = A2(),
- u = !!(r && s),
- c = !!(t && n && e && i);
- class b {
- constructor(p, M, d, O) {
- ((this.stringify = p),
- (this.mapOpts = d.map || {}),
- (this.root = M),
- (this.opts = d),
- (this.css = O),
- (this.originalCSS = O),
- (this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute),
- (this.memoizedFileURLs = new Map()),
- (this.memoizedPaths = new Map()),
- (this.memoizedURLs = new Map()));
- }
- addAnnotation() {
- let p;
- this.isInline()
- ? (p =
- "data:application/json;base64," +
- this.toBase64(this.map.toString()))
- : typeof this.mapOpts.annotation == "string"
- ? (p = this.mapOpts.annotation)
- : typeof this.mapOpts.annotation == "function"
- ? (p = this.mapOpts.annotation(this.opts.to, this.root))
- : (p = this.outputFile() + ".map");
- let M = `
-`;
- (this.css.includes(`\r
-`) &&
- (M = `\r
-`),
- (this.css += M + "/*# sourceMappingURL=" + p + " */"));
- }
- applyPrevMaps() {
- for (let p of this.previous()) {
- let M = this.toUrl(this.path(p.file)),
- d = p.root || t(p.file),
- O;
- (this.mapOpts.sourcesContent === !1
- ? ((O = new r(p.text)), O.sourcesContent && (O.sourcesContent = null))
- : (O = p.consumer()),
- this.map.applySourceMap(O, M, this.toUrl(this.path(d))));
- }
- }
- clearAnnotation() {
- if (this.mapOpts.annotation !== !1)
- if (this.root) {
- let p;
- for (let M = this.root.nodes.length - 1; M >= 0; M--)
- ((p = this.root.nodes[M]),
- p.type === "comment" &&
- p.text.startsWith("# sourceMappingURL=") &&
- this.root.removeChild(M));
- } else
- this.css &&
- (this.css = this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm, ""));
- }
- generate() {
- if ((this.clearAnnotation(), c && u && this.isMap()))
- return this.generateMap();
- {
- let p = "";
- return (
- this.stringify(this.root, (M) => {
- p += M;
- }),
- [p]
- );
- }
- }
- generateMap() {
- if (this.root) this.generateString();
- else if (this.previous().length === 1) {
- let p = this.previous()[0].consumer();
- ((p.file = this.outputFile()),
- (this.map = s.fromSourceMap(p, { ignoreInvalidMapping: !0 })));
- } else
- ((this.map = new s({
- file: this.outputFile(),
- ignoreInvalidMapping: !0,
- })),
- this.map.addMapping({
- generated: { column: 0, line: 1 },
- original: { column: 0, line: 1 },
- source: this.opts.from
- ? this.toUrl(this.path(this.opts.from))
- : "",
- }));
- return (
- this.isSourcesContent() && this.setSourcesContent(),
- this.root && this.previous().length > 0 && this.applyPrevMaps(),
- this.isAnnotation() && this.addAnnotation(),
- this.isInline() ? [this.css] : [this.css, this.map]
- );
- }
- generateString() {
- ((this.css = ""),
- (this.map = new s({
- file: this.outputFile(),
- ignoreInvalidMapping: !0,
- })));
- let p = 1,
- M = 1,
- d = "",
- O = {
- generated: { column: 0, line: 0 },
- original: { column: 0, line: 0 },
- source: "",
- },
- f,
- z;
- this.stringify(this.root, (g, A, h) => {
- if (
- ((this.css += g),
- A &&
- h !== "end" &&
- ((O.generated.line = p),
- (O.generated.column = M - 1),
- A.source && A.source.start
- ? ((O.source = this.sourcePath(A)),
- (O.original.line = A.source.start.line),
- (O.original.column = A.source.start.column - 1),
- this.map.addMapping(O))
- : ((O.source = d),
- (O.original.line = 1),
- (O.original.column = 0),
- this.map.addMapping(O))),
- (z = g.match(/\n/g)),
- z
- ? ((p += z.length),
- (f = g.lastIndexOf(`
-`)),
- (M = g.length - f))
- : (M += g.length),
- A && h !== "start")
- ) {
- let q = A.parent || { raws: {} };
- (!(A.type === "decl" || (A.type === "atrule" && !A.nodes)) ||
- A !== q.last ||
- q.raws.semicolon) &&
- (A.source && A.source.end
- ? ((O.source = this.sourcePath(A)),
- (O.original.line = A.source.end.line),
- (O.original.column = A.source.end.column - 1),
- (O.generated.line = p),
- (O.generated.column = M - 2),
- this.map.addMapping(O))
- : ((O.source = d),
- (O.original.line = 1),
- (O.original.column = 0),
- (O.generated.line = p),
- (O.generated.column = M - 1),
- this.map.addMapping(O)));
- }
- });
- }
- isAnnotation() {
- return this.isInline()
- ? !0
- : typeof this.mapOpts.annotation < "u"
- ? this.mapOpts.annotation
- : this.previous().length
- ? this.previous().some((p) => p.annotation)
- : !0;
- }
- isInline() {
- if (typeof this.mapOpts.inline < "u") return this.mapOpts.inline;
- let p = this.mapOpts.annotation;
- return typeof p < "u" && p !== !0
- ? !1
- : this.previous().length
- ? this.previous().some((M) => M.inline)
- : !0;
- }
- isMap() {
- return typeof this.opts.map < "u"
- ? !!this.opts.map
- : this.previous().length > 0;
- }
- isSourcesContent() {
- return typeof this.mapOpts.sourcesContent < "u"
- ? this.mapOpts.sourcesContent
- : this.previous().length
- ? this.previous().some((p) => p.withContent())
- : !0;
- }
- outputFile() {
- return this.opts.to
- ? this.path(this.opts.to)
- : this.opts.from
- ? this.path(this.opts.from)
- : "to.css";
- }
- path(p) {
- if (
- this.mapOpts.absolute ||
- p.charCodeAt(0) === 60 ||
- /^\w+:\/\//.test(p)
- )
- return p;
- let M = this.memoizedPaths.get(p);
- if (M) return M;
- let d = this.opts.to ? t(this.opts.to) : ".";
- typeof this.mapOpts.annotation == "string" &&
- (d = t(n(d, this.mapOpts.annotation)));
- let O = e(d, p);
- return (this.memoizedPaths.set(p, O), O);
- }
- previous() {
- if (!this.previousMaps)
- if (((this.previousMaps = []), this.root))
- this.root.walk((p) => {
- if (p.source && p.source.input.map) {
- let M = p.source.input.map;
- this.previousMaps.includes(M) || this.previousMaps.push(M);
- }
- });
- else {
- let p = new a(this.originalCSS, this.opts);
- p.map && this.previousMaps.push(p.map);
- }
- return this.previousMaps;
- }
- setSourcesContent() {
- let p = {};
- if (this.root)
- this.root.walk((M) => {
- if (M.source) {
- let d = M.source.input.from;
- if (d && !p[d]) {
- p[d] = !0;
- let O = this.usesFileUrls
- ? this.toFileUrl(d)
- : this.toUrl(this.path(d));
- this.map.setSourceContent(O, M.source.input.css);
- }
- }
- });
- else if (this.css) {
- let M = this.opts.from
- ? this.toUrl(this.path(this.opts.from))
- : "";
- this.map.setSourceContent(M, this.css);
- }
- }
- sourcePath(p) {
- return this.mapOpts.from
- ? this.toUrl(this.mapOpts.from)
- : this.usesFileUrls
- ? this.toFileUrl(p.source.input.from)
- : this.toUrl(this.path(p.source.input.from));
- }
- toBase64(p) {
- return Buffer
- ? Buffer.from(p).toString("base64")
- : window.btoa(unescape(encodeURIComponent(p)));
- }
- toFileUrl(p) {
- let M = this.memoizedFileURLs.get(p);
- if (M) return M;
- if (o) {
- let d = o(p).toString();
- return (this.memoizedFileURLs.set(p, d), d);
- } else
- throw new Error(
- "`map.absolute` option is not available in this PostCSS build",
- );
- }
- toUrl(p) {
- let M = this.memoizedURLs.get(p);
- if (M) return M;
- i === "\\" && (p = p.replace(/\\/g, "/"));
- let d = encodeURI(p).replace(/[#?]/g, encodeURIComponent);
- return (this.memoizedURLs.set(p, d), d);
- }
- }
- return ((pb = b), pb);
-}
-var lb, lh;
-function O50() {
- if (lh) return lb;
- lh = 1;
- const t = 39,
- e = 34,
- n = 92,
- i = 47,
- r = 10,
- s = 32,
- o = 12,
- a = 9,
- u = 13,
- c = 91,
- b = 93,
- l = 40,
- p = 41,
- M = 123,
- d = 125,
- O = 59,
- f = 42,
- z = 58,
- g = 64,
- A = /[\t\n\f\r "#'()/;[\\\]{}]/g,
- h = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,
- q = /.[\r\n"'(/\\]/,
- v = /[\da-f]/i;
- return (
- (lb = function (E, _ = {}) {
- let T = E.css.valueOf(),
- y = _.ignoreErrors,
- W,
- x,
- B,
- N,
- I,
- k,
- F,
- Q,
- n0,
- Y,
- Z = T.length,
- i0 = 0,
- M0 = [],
- u0 = [];
- function b0() {
- return i0;
- }
- function P(G) {
- throw E.error("Unclosed " + G, i0);
- }
- function t0() {
- return u0.length === 0 && i0 >= Z;
- }
- function r0(G) {
- if (u0.length) return u0.pop();
- if (i0 >= Z) return;
- let S = G ? G.ignoreUnclosed : !1;
- switch (((W = T.charCodeAt(i0)), W)) {
- case r:
- case s:
- case a:
- case u:
- case o: {
- N = i0;
- do ((N += 1), (W = T.charCodeAt(N)));
- while (W === s || W === r || W === a || W === u || W === o);
- ((k = ["space", T.slice(i0, N)]), (i0 = N - 1));
- break;
- }
- case c:
- case b:
- case M:
- case d:
- case z:
- case O:
- case p: {
- let R = String.fromCharCode(W);
- k = [R, R, i0];
- break;
- }
- case l: {
- if (
- ((Y = M0.length ? M0.pop()[1] : ""),
- (n0 = T.charCodeAt(i0 + 1)),
- Y === "url" &&
- n0 !== t &&
- n0 !== e &&
- n0 !== s &&
- n0 !== r &&
- n0 !== a &&
- n0 !== o &&
- n0 !== u)
- ) {
- N = i0;
- do {
- if (((F = !1), (N = T.indexOf(")", N + 1)), N === -1))
- if (y || S) {
- N = i0;
- break;
- } else P("bracket");
- for (Q = N; T.charCodeAt(Q - 1) === n; ) ((Q -= 1), (F = !F));
- } while (F);
- ((k = ["brackets", T.slice(i0, N + 1), i0, N]), (i0 = N));
- } else
- ((N = T.indexOf(")", i0 + 1)),
- (x = T.slice(i0, N + 1)),
- N === -1 || q.test(x)
- ? (k = ["(", "(", i0])
- : ((k = ["brackets", x, i0, N]), (i0 = N)));
- break;
- }
- case t:
- case e: {
- ((I = W === t ? "'" : '"'), (N = i0));
- do {
- if (((F = !1), (N = T.indexOf(I, N + 1)), N === -1))
- if (y || S) {
- N = i0 + 1;
- break;
- } else P("string");
- for (Q = N; T.charCodeAt(Q - 1) === n; ) ((Q -= 1), (F = !F));
- } while (F);
- ((k = ["string", T.slice(i0, N + 1), i0, N]), (i0 = N));
- break;
- }
- case g: {
- ((A.lastIndex = i0 + 1),
- A.test(T),
- A.lastIndex === 0 ? (N = T.length - 1) : (N = A.lastIndex - 2),
- (k = ["at-word", T.slice(i0, N + 1), i0, N]),
- (i0 = N));
- break;
- }
- case n: {
- for (N = i0, B = !0; T.charCodeAt(N + 1) === n; )
- ((N += 1), (B = !B));
- if (
- ((W = T.charCodeAt(N + 1)),
- B &&
- W !== i &&
- W !== s &&
- W !== r &&
- W !== a &&
- W !== u &&
- W !== o &&
- ((N += 1), v.test(T.charAt(N))))
- ) {
- for (; v.test(T.charAt(N + 1)); ) N += 1;
- T.charCodeAt(N + 1) === s && (N += 1);
- }
- ((k = ["word", T.slice(i0, N + 1), i0, N]), (i0 = N));
- break;
- }
- default: {
- W === i && T.charCodeAt(i0 + 1) === f
- ? ((N = T.indexOf("*/", i0 + 2) + 1),
- N === 0 && (y || S ? (N = T.length) : P("comment")),
- (k = ["comment", T.slice(i0, N + 1), i0, N]),
- (i0 = N))
- : ((h.lastIndex = i0 + 1),
- h.test(T),
- h.lastIndex === 0 ? (N = T.length - 1) : (N = h.lastIndex - 2),
- (k = ["word", T.slice(i0, N + 1), i0, N]),
- M0.push(k),
- (i0 = N));
- break;
- }
- }
- return (i0++, k);
- }
- function c0(G) {
- u0.push(G);
- }
- return { back: c0, endOfFile: t0, nextToken: r0, position: b0 };
- }),
- lb
- );
-}
-var Mb, Mh;
-function h50() {
- if (Mh) return Mb;
- Mh = 1;
- let t = PM(),
- e = O2(),
- n = h2(),
- i = uo(),
- r = FM(),
- s = O50();
- const o = { empty: !0, space: !0 };
- function a(c) {
- for (let b = c.length - 1; b >= 0; b--) {
- let l = c[b],
- p = l[3] || l[2];
- if (p) return p;
- }
- }
- class u {
- constructor(b) {
- ((this.input = b),
- (this.root = new i()),
- (this.current = this.root),
- (this.spaces = ""),
- (this.semicolon = !1),
- this.createTokenizer(),
- (this.root.source = {
- input: b,
- start: { column: 1, line: 1, offset: 0 },
- }));
- }
- atrule(b) {
- let l = new t();
- ((l.name = b[1].slice(1)),
- l.name === "" && this.unnamedAtrule(l, b),
- this.init(l, b[2]));
- let p,
- M,
- d,
- O = !1,
- f = !1,
- z = [],
- g = [];
- for (; !this.tokenizer.endOfFile(); ) {
- if (
- ((b = this.tokenizer.nextToken()),
- (p = b[0]),
- p === "(" || p === "["
- ? g.push(p === "(" ? ")" : "]")
- : p === "{" && g.length > 0
- ? g.push("}")
- : p === g[g.length - 1] && g.pop(),
- g.length === 0)
- )
- if (p === ";") {
- ((l.source.end = this.getPosition(b[2])),
- l.source.end.offset++,
- (this.semicolon = !0));
- break;
- } else if (p === "{") {
- f = !0;
- break;
- } else if (p === "}") {
- if (z.length > 0) {
- for (d = z.length - 1, M = z[d]; M && M[0] === "space"; )
- M = z[--d];
- M &&
- ((l.source.end = this.getPosition(M[3] || M[2])),
- l.source.end.offset++);
- }
- this.end(b);
- break;
- } else z.push(b);
- else z.push(b);
- if (this.tokenizer.endOfFile()) {
- O = !0;
- break;
- }
- }
- ((l.raws.between = this.spacesAndCommentsFromEnd(z)),
- z.length
- ? ((l.raws.afterName = this.spacesAndCommentsFromStart(z)),
- this.raw(l, "params", z),
- O &&
- ((b = z[z.length - 1]),
- (l.source.end = this.getPosition(b[3] || b[2])),
- l.source.end.offset++,
- (this.spaces = l.raws.between),
- (l.raws.between = "")))
- : ((l.raws.afterName = ""), (l.params = "")),
- f && ((l.nodes = []), (this.current = l)));
- }
- checkMissedSemicolon(b) {
- let l = this.colon(b);
- if (l === !1) return;
- let p = 0,
- M;
- for (
- let d = l - 1;
- d >= 0 && ((M = b[d]), !(M[0] !== "space" && ((p += 1), p === 2)));
- d--
- );
- throw this.input.error(
- "Missed semicolon",
- M[0] === "word" ? M[3] + 1 : M[2],
- );
- }
- colon(b) {
- let l = 0,
- p,
- M,
- d;
- for (let [O, f] of b.entries()) {
- if (
- ((M = f),
- (d = M[0]),
- d === "(" && (l += 1),
- d === ")" && (l -= 1),
- l === 0 && d === ":")
- )
- if (!p) this.doubleColon(M);
- else {
- if (p[0] === "word" && p[1] === "progid") continue;
- return O;
- }
- p = M;
- }
- return !1;
- }
- comment(b) {
- let l = new e();
- (this.init(l, b[2]),
- (l.source.end = this.getPosition(b[3] || b[2])),
- l.source.end.offset++);
- let p = b[1].slice(2, -2);
- if (/^\s*$/.test(p))
- ((l.text = ""), (l.raws.left = p), (l.raws.right = ""));
- else {
- let M = p.match(/^(\s*)([^]*\S)(\s*)$/);
- ((l.text = M[2]), (l.raws.left = M[1]), (l.raws.right = M[3]));
- }
- }
- createTokenizer() {
- this.tokenizer = s(this.input);
- }
- decl(b, l) {
- let p = new n();
- this.init(p, b[0][2]);
- let M = b[b.length - 1];
- for (
- M[0] === ";" && ((this.semicolon = !0), b.pop()),
- p.source.end = this.getPosition(M[3] || M[2] || a(b)),
- p.source.end.offset++;
- b[0][0] !== "word";
- )
- (b.length === 1 && this.unknownWord(b),
- (p.raws.before += b.shift()[1]));
- for (
- p.source.start = this.getPosition(b[0][2]), p.prop = "";
- b.length;
- ) {
- let g = b[0][0];
- if (g === ":" || g === "space" || g === "comment") break;
- p.prop += b.shift()[1];
- }
- p.raws.between = "";
- let d;
- for (; b.length; )
- if (((d = b.shift()), d[0] === ":")) {
- p.raws.between += d[1];
- break;
- } else
- (d[0] === "word" && /\w/.test(d[1]) && this.unknownWord([d]),
- (p.raws.between += d[1]));
- (p.prop[0] === "_" || p.prop[0] === "*") &&
- ((p.raws.before += p.prop[0]), (p.prop = p.prop.slice(1)));
- let O = [],
- f;
- for (; b.length && ((f = b[0][0]), !(f !== "space" && f !== "comment")); )
- O.push(b.shift());
- this.precheckMissedSemicolon(b);
- for (let g = b.length - 1; g >= 0; g--) {
- if (((d = b[g]), d[1].toLowerCase() === "!important")) {
- p.important = !0;
- let A = this.stringFrom(b, g);
- ((A = this.spacesFromEnd(b) + A),
- A !== " !important" && (p.raws.important = A));
- break;
- } else if (d[1].toLowerCase() === "important") {
- let A = b.slice(0),
- h = "";
- for (let q = g; q > 0; q--) {
- let v = A[q][0];
- if (h.trim().startsWith("!") && v !== "space") break;
- h = A.pop()[1] + h;
- }
- h.trim().startsWith("!") &&
- ((p.important = !0), (p.raws.important = h), (b = A));
- }
- if (d[0] !== "space" && d[0] !== "comment") break;
- }
- (b.some((g) => g[0] !== "space" && g[0] !== "comment") &&
- ((p.raws.between += O.map((g) => g[1]).join("")), (O = [])),
- this.raw(p, "value", O.concat(b), l),
- p.value.includes(":") && !l && this.checkMissedSemicolon(b));
- }
- doubleColon(b) {
- throw this.input.error(
- "Double colon",
- { offset: b[2] },
- { offset: b[2] + b[1].length },
- );
- }
- emptyRule(b) {
- let l = new r();
- (this.init(l, b[2]),
- (l.selector = ""),
- (l.raws.between = ""),
- (this.current = l));
- }
- end(b) {
- (this.current.nodes &&
- this.current.nodes.length &&
- (this.current.raws.semicolon = this.semicolon),
- (this.semicolon = !1),
- (this.current.raws.after =
- (this.current.raws.after || "") + this.spaces),
- (this.spaces = ""),
- this.current.parent
- ? ((this.current.source.end = this.getPosition(b[2])),
- this.current.source.end.offset++,
- (this.current = this.current.parent))
- : this.unexpectedClose(b));
- }
- endFile() {
- (this.current.parent && this.unclosedBlock(),
- this.current.nodes &&
- this.current.nodes.length &&
- (this.current.raws.semicolon = this.semicolon),
- (this.current.raws.after =
- (this.current.raws.after || "") + this.spaces),
- (this.root.source.end = this.getPosition(this.tokenizer.position())));
- }
- freeSemicolon(b) {
- if (((this.spaces += b[1]), this.current.nodes)) {
- let l = this.current.nodes[this.current.nodes.length - 1];
- l &&
- l.type === "rule" &&
- !l.raws.ownSemicolon &&
- ((l.raws.ownSemicolon = this.spaces),
- (this.spaces = ""),
- (l.source.end = this.getPosition(b[2])),
- (l.source.end.offset += l.raws.ownSemicolon.length));
- }
- }
- getPosition(b) {
- let l = this.input.fromOffset(b);
- return { column: l.col, line: l.line, offset: b };
- }
- init(b, l) {
- (this.current.push(b),
- (b.source = { input: this.input, start: this.getPosition(l) }),
- (b.raws.before = this.spaces),
- (this.spaces = ""),
- b.type !== "comment" && (this.semicolon = !1));
- }
- other(b) {
- let l = !1,
- p = null,
- M = !1,
- d = null,
- O = [],
- f = b[1].startsWith("--"),
- z = [],
- g = b;
- for (; g; ) {
- if (((p = g[0]), z.push(g), p === "(" || p === "["))
- (d || (d = g), O.push(p === "(" ? ")" : "]"));
- else if (f && M && p === "{") (d || (d = g), O.push("}"));
- else if (O.length === 0)
- if (p === ";")
- if (M) {
- this.decl(z, f);
- return;
- } else break;
- else if (p === "{") {
- this.rule(z);
- return;
- } else if (p === "}") {
- (this.tokenizer.back(z.pop()), (l = !0));
- break;
- } else p === ":" && (M = !0);
- else p === O[O.length - 1] && (O.pop(), O.length === 0 && (d = null));
- g = this.tokenizer.nextToken();
- }
- if (
- (this.tokenizer.endOfFile() && (l = !0),
- O.length > 0 && this.unclosedBracket(d),
- l && M)
- ) {
- if (!f)
- for (
- ;
- z.length &&
- ((g = z[z.length - 1][0]), !(g !== "space" && g !== "comment"));
- )
- this.tokenizer.back(z.pop());
- this.decl(z, f);
- } else this.unknownWord(z);
- }
- parse() {
- let b;
- for (; !this.tokenizer.endOfFile(); )
- switch (((b = this.tokenizer.nextToken()), b[0])) {
- case "space":
- this.spaces += b[1];
- break;
- case ";":
- this.freeSemicolon(b);
- break;
- case "}":
- this.end(b);
- break;
- case "comment":
- this.comment(b);
- break;
- case "at-word":
- this.atrule(b);
- break;
- case "{":
- this.emptyRule(b);
- break;
- default:
- this.other(b);
- break;
- }
- this.endFile();
- }
- precheckMissedSemicolon() {}
- raw(b, l, p, M) {
- let d,
- O,
- f = p.length,
- z = "",
- g = !0,
- A,
- h;
- for (let q = 0; q < f; q += 1)
- ((d = p[q]),
- (O = d[0]),
- O === "space" && q === f - 1 && !M
- ? (g = !1)
- : O === "comment"
- ? ((h = p[q - 1] ? p[q - 1][0] : "empty"),
- (A = p[q + 1] ? p[q + 1][0] : "empty"),
- !o[h] && !o[A]
- ? z.slice(-1) === ","
- ? (g = !1)
- : (z += d[1])
- : (g = !1))
- : (z += d[1]));
- if (!g) {
- let q = p.reduce((v, m) => v + m[1], "");
- b.raws[l] = { raw: q, value: z };
- }
- b[l] = z;
- }
- rule(b) {
- b.pop();
- let l = new r();
- (this.init(l, b[0][2]),
- (l.raws.between = this.spacesAndCommentsFromEnd(b)),
- this.raw(l, "selector", b),
- (this.current = l));
- }
- spacesAndCommentsFromEnd(b) {
- let l,
- p = "";
- for (
- ;
- b.length &&
- ((l = b[b.length - 1][0]), !(l !== "space" && l !== "comment"));
- )
- p = b.pop()[1] + p;
- return p;
- }
- spacesAndCommentsFromStart(b) {
- let l,
- p = "";
- for (; b.length && ((l = b[0][0]), !(l !== "space" && l !== "comment")); )
- p += b.shift()[1];
- return p;
- }
- spacesFromEnd(b) {
- let l,
- p = "";
- for (; b.length && ((l = b[b.length - 1][0]), l === "space"); )
- p = b.pop()[1] + p;
- return p;
- }
- stringFrom(b, l) {
- let p = "";
- for (let M = l; M < b.length; M++) p += b[M][1];
- return (b.splice(l, b.length - l), p);
- }
- unclosedBlock() {
- let b = this.current.source.start;
- throw this.input.error("Unclosed block", b.line, b.column);
- }
- unclosedBracket(b) {
- throw this.input.error(
- "Unclosed bracket",
- { offset: b[2] },
- { offset: b[2] + 1 },
- );
- }
- unexpectedClose(b) {
- throw this.input.error(
- "Unexpected }",
- { offset: b[2] },
- { offset: b[2] + 1 },
- );
- }
- unknownWord(b) {
- throw this.input.error(
- "Unknown word " + b[0][1],
- { offset: b[0][2] },
- { offset: b[0][2] + b[0][1].length },
- );
- }
- unnamedAtrule(b, l) {
- throw this.input.error(
- "At-rule without name",
- { offset: l[2] },
- { offset: l[2] + l[1].length },
- );
- }
- }
- return ((Mb = u), Mb);
-}
-var db, dh;
-function UM() {
- if (dh) return db;
- dh = 1;
- let t = mi(),
- e = A2(),
- n = h50();
- function i(r, s) {
- let o = new e(r, s),
- a = new n(o);
- try {
- a.parse();
- } catch (u) {
- throw u;
- }
- return a.root;
- }
- return ((db = i), (i.default = i), t.registerParse(i), db);
-}
-var fb, fh;
-function E6() {
- if (fh) return fb;
- fh = 1;
- class t {
- constructor(n, i = {}) {
- if (((this.type = "warning"), (this.text = n), i.node && i.node.source)) {
- let r = i.node.rangeBy(i);
- ((this.line = r.start.line),
- (this.column = r.start.column),
- (this.endLine = r.end.line),
- (this.endColumn = r.end.column));
- }
- for (let r in i) this[r] = i[r];
- }
- toString() {
- return this.node
- ? this.node.error(this.text, {
- index: this.index,
- plugin: this.plugin,
- word: this.word,
- }).message
- : this.plugin
- ? this.plugin + ": " + this.text
- : this.text;
- }
- }
- return ((fb = t), (t.default = t), fb);
-}
-var zb, zh;
-function $M() {
- if (zh) return zb;
- zh = 1;
- let t = E6();
- class e {
- get content() {
- return this.css;
- }
- constructor(i, r, s) {
- ((this.processor = i),
- (this.messages = []),
- (this.root = r),
- (this.opts = s),
- (this.css = ""),
- (this.map = void 0));
- }
- toString() {
- return this.css;
- }
- warn(i, r = {}) {
- r.plugin ||
- (this.lastPlugin &&
- this.lastPlugin.postcssPlugin &&
- (r.plugin = this.lastPlugin.postcssPlugin));
- let s = new t(i, r);
- return (this.messages.push(s), s);
- }
- warnings() {
- return this.messages.filter((i) => i.type === "warning");
- }
- }
- return ((zb = e), (e.default = e), zb);
-}
-var Ob, Oh;
-function T6() {
- if (Oh) return Ob;
- Oh = 1;
- let t = mi(),
- e = XM(),
- n = v6(),
- i = UM(),
- r = $M(),
- s = uo(),
- o = f2(),
- { isClean: a, my: u } = kM();
- const c = {
- atrule: "AtRule",
- comment: "Comment",
- decl: "Declaration",
- document: "Document",
- root: "Root",
- rule: "Rule",
- },
- b = {
- AtRule: !0,
- AtRuleExit: !0,
- Comment: !0,
- CommentExit: !0,
- Declaration: !0,
- DeclarationExit: !0,
- Document: !0,
- DocumentExit: !0,
- Once: !0,
- OnceExit: !0,
- postcssPlugin: !0,
- prepare: !0,
- Root: !0,
- RootExit: !0,
- Rule: !0,
- RuleExit: !0,
- },
- l = { Once: !0, postcssPlugin: !0, prepare: !0 },
- p = 0;
- function M(A) {
- return typeof A == "object" && typeof A.then == "function";
- }
- function d(A) {
- let h = !1,
- q = c[A.type];
- return (
- A.type === "decl"
- ? (h = A.prop.toLowerCase())
- : A.type === "atrule" && (h = A.name.toLowerCase()),
- h && A.append
- ? [q, q + "-" + h, p, q + "Exit", q + "Exit-" + h]
- : h
- ? [q, q + "-" + h, q + "Exit", q + "Exit-" + h]
- : A.append
- ? [q, p, q + "Exit"]
- : [q, q + "Exit"]
- );
- }
- function O(A) {
- let h;
- return (
- A.type === "document"
- ? (h = ["Document", p, "DocumentExit"])
- : A.type === "root"
- ? (h = ["Root", p, "RootExit"])
- : (h = d(A)),
- {
- eventIndex: 0,
- events: h,
- iterator: 0,
- node: A,
- visitorIndex: 0,
- visitors: [],
- }
- );
- }
- function f(A) {
- return ((A[a] = !1), A.nodes && A.nodes.forEach((h) => f(h)), A);
- }
- let z = {};
- class g {
- get content() {
- return this.stringify().content;
- }
- get css() {
- return this.stringify().css;
- }
- get map() {
- return this.stringify().map;
- }
- get messages() {
- return this.sync().messages;
- }
- get opts() {
- return this.result.opts;
- }
- get processor() {
- return this.result.processor;
- }
- get root() {
- return this.sync().root;
- }
- get [Symbol.toStringTag]() {
- return "LazyResult";
- }
- constructor(h, q, v) {
- ((this.stringified = !1), (this.processed = !1));
- let m;
- if (
- typeof q == "object" &&
- q !== null &&
- (q.type === "root" || q.type === "document")
- )
- m = f(q);
- else if (q instanceof g || q instanceof r)
- ((m = f(q.root)),
- q.map &&
- (typeof v.map > "u" && (v.map = {}),
- v.map.inline || (v.map.inline = !1),
- (v.map.prev = q.map)));
- else {
- let E = i;
- (v.syntax && (E = v.syntax.parse),
- v.parser && (E = v.parser),
- E.parse && (E = E.parse));
- try {
- m = E(q, v);
- } catch (_) {
- ((this.processed = !0), (this.error = _));
- }
- m && !m[u] && t.rebuild(m);
- }
- ((this.result = new r(h, m, v)),
- (this.helpers = { ...z, postcss: z, result: this.result }),
- (this.plugins = this.processor.plugins.map((E) =>
- typeof E == "object" && E.prepare
- ? { ...E, ...E.prepare(this.result) }
- : E,
- )));
- }
- async() {
- return this.error
- ? Promise.reject(this.error)
- : this.processed
- ? Promise.resolve(this.result)
- : (this.processing || (this.processing = this.runAsync()),
- this.processing);
- }
- catch(h) {
- return this.async().catch(h);
- }
- finally(h) {
- return this.async().then(h, h);
- }
- getAsyncError() {
- throw new Error("Use process(css).then(cb) to work with async plugins");
- }
- handleError(h, q) {
- let v = this.result.lastPlugin;
- try {
- (q && q.addToError(h),
- (this.error = h),
- h.name === "CssSyntaxError" && !h.plugin
- ? ((h.plugin = v.postcssPlugin), h.setMessage())
- : v.postcssVersion);
- } catch (m) {
- console && console.error && console.error(m);
- }
- return h;
- }
- prepareVisitors() {
- this.listeners = {};
- let h = (q, v, m) => {
- (this.listeners[v] || (this.listeners[v] = []),
- this.listeners[v].push([q, m]));
- };
- for (let q of this.plugins)
- if (typeof q == "object")
- for (let v in q) {
- if (!b[v] && /^[A-Z]/.test(v))
- throw new Error(
- `Unknown event ${v} in ${q.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`,
- );
- if (!l[v])
- if (typeof q[v] == "object")
- for (let m in q[v])
- m === "*"
- ? h(q, v, q[v][m])
- : h(q, v + "-" + m.toLowerCase(), q[v][m]);
- else typeof q[v] == "function" && h(q, v, q[v]);
- }
- this.hasListener = Object.keys(this.listeners).length > 0;
- }
- async runAsync() {
- this.plugin = 0;
- for (let h = 0; h < this.plugins.length; h++) {
- let q = this.plugins[h],
- v = this.runOnRoot(q);
- if (M(v))
- try {
- await v;
- } catch (m) {
- throw this.handleError(m);
- }
- }
- if ((this.prepareVisitors(), this.hasListener)) {
- let h = this.result.root;
- for (; !h[a]; ) {
- h[a] = !0;
- let q = [O(h)];
- for (; q.length > 0; ) {
- let v = this.visitTick(q);
- if (M(v))
- try {
- await v;
- } catch (m) {
- let E = q[q.length - 1].node;
- throw this.handleError(m, E);
- }
- }
- }
- if (this.listeners.OnceExit)
- for (let [q, v] of this.listeners.OnceExit) {
- this.result.lastPlugin = q;
- try {
- if (h.type === "document") {
- let m = h.nodes.map((E) => v(E, this.helpers));
- await Promise.all(m);
- } else await v(h, this.helpers);
- } catch (m) {
- throw this.handleError(m);
- }
- }
- }
- return ((this.processed = !0), this.stringify());
- }
- runOnRoot(h) {
- this.result.lastPlugin = h;
- try {
- if (typeof h == "object" && h.Once) {
- if (this.result.root.type === "document") {
- let q = this.result.root.nodes.map((v) => h.Once(v, this.helpers));
- return M(q[0]) ? Promise.all(q) : q;
- }
- return h.Once(this.result.root, this.helpers);
- } else if (typeof h == "function")
- return h(this.result.root, this.result);
- } catch (q) {
- throw this.handleError(q);
- }
- }
- stringify() {
- if (this.error) throw this.error;
- if (this.stringified) return this.result;
- ((this.stringified = !0), this.sync());
- let h = this.result.opts,
- q = o;
- (h.syntax && (q = h.syntax.stringify),
- h.stringifier && (q = h.stringifier),
- q.stringify && (q = q.stringify));
- let m = new n(q, this.result.root, this.result.opts).generate();
- return ((this.result.css = m[0]), (this.result.map = m[1]), this.result);
- }
- sync() {
- if (this.error) throw this.error;
- if (this.processed) return this.result;
- if (((this.processed = !0), this.processing)) throw this.getAsyncError();
- for (let h of this.plugins) {
- let q = this.runOnRoot(h);
- if (M(q)) throw this.getAsyncError();
- }
- if ((this.prepareVisitors(), this.hasListener)) {
- let h = this.result.root;
- for (; !h[a]; ) ((h[a] = !0), this.walkSync(h));
- if (this.listeners.OnceExit)
- if (h.type === "document")
- for (let q of h.nodes) this.visitSync(this.listeners.OnceExit, q);
- else this.visitSync(this.listeners.OnceExit, h);
- }
- return this.result;
- }
- then(h, q) {
- return this.async().then(h, q);
- }
- toString() {
- return this.css;
- }
- visitSync(h, q) {
- for (let [v, m] of h) {
- this.result.lastPlugin = v;
- let E;
- try {
- E = m(q, this.helpers);
- } catch (_) {
- throw this.handleError(_, q.proxyOf);
- }
- if (q.type !== "root" && q.type !== "document" && !q.parent) return !0;
- if (M(E)) throw this.getAsyncError();
- }
- }
- visitTick(h) {
- let q = h[h.length - 1],
- { node: v, visitors: m } = q;
- if (v.type !== "root" && v.type !== "document" && !v.parent) {
- h.pop();
- return;
- }
- if (m.length > 0 && q.visitorIndex < m.length) {
- let [_, T] = m[q.visitorIndex];
- ((q.visitorIndex += 1),
- q.visitorIndex === m.length &&
- ((q.visitors = []), (q.visitorIndex = 0)),
- (this.result.lastPlugin = _));
- try {
- return T(v.toProxy(), this.helpers);
- } catch (y) {
- throw this.handleError(y, v);
- }
- }
- if (q.iterator !== 0) {
- let _ = q.iterator,
- T;
- for (; (T = v.nodes[v.indexes[_]]); )
- if (((v.indexes[_] += 1), !T[a])) {
- ((T[a] = !0), h.push(O(T)));
- return;
- }
- ((q.iterator = 0), delete v.indexes[_]);
- }
- let E = q.events;
- for (; q.eventIndex < E.length; ) {
- let _ = E[q.eventIndex];
- if (((q.eventIndex += 1), _ === p)) {
- v.nodes &&
- v.nodes.length &&
- ((v[a] = !0), (q.iterator = v.getIterator()));
- return;
- } else if (this.listeners[_]) {
- q.visitors = this.listeners[_];
- return;
- }
- }
- h.pop();
- }
- walkSync(h) {
- h[a] = !0;
- let q = d(h);
- for (let v of q)
- if (v === p)
- h.nodes &&
- h.each((m) => {
- m[a] || this.walkSync(m);
- });
- else {
- let m = this.listeners[v];
- if (m && this.visitSync(m, h.toProxy())) return;
- }
- }
- warnings() {
- return this.sync().warnings();
- }
- }
- return (
- (g.registerPostcss = (A) => {
- z = A;
- }),
- (Ob = g),
- (g.default = g),
- s.registerLazyResult(g),
- e.registerLazyResult(g),
- Ob
- );
-}
-var hb, hh;
-function A50() {
- if (hh) return hb;
- hh = 1;
- let t = v6(),
- e = UM();
- const n = $M();
- let i = f2();
- class r {
- get content() {
- return this.result.css;
- }
- get css() {
- return this.result.css;
- }
- get map() {
- return this.result.map;
- }
- get messages() {
- return [];
- }
- get opts() {
- return this.result.opts;
- }
- get processor() {
- return this.result.processor;
- }
- get root() {
- if (this._root) return this._root;
- let o,
- a = e;
- try {
- o = a(this._css, this._opts);
- } catch (u) {
- this.error = u;
- }
- if (this.error) throw this.error;
- return ((this._root = o), o);
- }
- get [Symbol.toStringTag]() {
- return "NoWorkResult";
- }
- constructor(o, a, u) {
- ((a = a.toString()),
- (this.stringified = !1),
- (this._processor = o),
- (this._css = a),
- (this._opts = u),
- (this._map = void 0));
- let c,
- b = i;
- ((this.result = new n(this._processor, c, this._opts)),
- (this.result.css = a));
- let l = this;
- Object.defineProperty(this.result, "root", {
- get() {
- return l.root;
- },
- });
- let p = new t(b, c, this._opts, a);
- if (p.isMap()) {
- let [M, d] = p.generate();
- (M && (this.result.css = M), d && (this.result.map = d));
- } else (p.clearAnnotation(), (this.result.css = p.css));
- }
- async() {
- return this.error
- ? Promise.reject(this.error)
- : Promise.resolve(this.result);
- }
- catch(o) {
- return this.async().catch(o);
- }
- finally(o) {
- return this.async().then(o, o);
- }
- sync() {
- if (this.error) throw this.error;
- return this.result;
- }
- then(o, a) {
- return this.async().then(o, a);
- }
- toString() {
- return this._css;
- }
- warnings() {
- return [];
- }
- }
- return ((hb = r), (r.default = r), hb);
-}
-var Ab, Ah;
-function q50() {
- if (Ah) return Ab;
- Ah = 1;
- let t = XM(),
- e = T6(),
- n = A50(),
- i = uo();
- class r {
- constructor(o = []) {
- ((this.version = "8.5.6"), (this.plugins = this.normalize(o)));
- }
- normalize(o) {
- let a = [];
- for (let u of o)
- if (
- (u.postcss === !0 ? (u = u()) : u.postcss && (u = u.postcss),
- typeof u == "object" && Array.isArray(u.plugins))
- )
- a = a.concat(u.plugins);
- else if (typeof u == "object" && u.postcssPlugin) a.push(u);
- else if (typeof u == "function") a.push(u);
- else if (!(typeof u == "object" && (u.parse || u.stringify)))
- throw new Error(u + " is not a PostCSS plugin");
- return a;
- }
- process(o, a = {}) {
- return !this.plugins.length && !a.parser && !a.stringifier && !a.syntax
- ? new n(this, o, a)
- : new e(this, o, a);
- }
- use(o) {
- return ((this.plugins = this.plugins.concat(this.normalize([o]))), this);
- }
- }
- return (
- (Ab = r),
- (r.default = r),
- i.registerProcessor(r),
- t.registerProcessor(r),
- Ab
- );
-}
-var qb, qh;
-function g50() {
- if (qh) return qb;
- qh = 1;
- var t = {};
- let e = PM(),
- n = O2(),
- i = mi(),
- r = CM(),
- s = h2(),
- o = XM(),
- a = z50(),
- u = A2(),
- c = T6(),
- b = L6(),
- l = z2(),
- p = UM(),
- M = q50(),
- d = $M(),
- O = uo(),
- f = FM(),
- z = f2(),
- g = E6();
- function A(...h) {
- return (h.length === 1 && Array.isArray(h[0]) && (h = h[0]), new M(h));
- }
- return (
- (A.plugin = function (q, v) {
- let m = !1;
- function E(...T) {
- console &&
- console.warn &&
- !m &&
- ((m = !0),
- console.warn(
- q +
- `: postcss.plugin was deprecated. Migration guide:
-https://evilmartians.com/chronicles/postcss-8-plugin-migration`,
- ),
- t.LANG &&
- t.LANG.startsWith("cn") &&
- console.warn(
- q +
- `: 里面 postcss.plugin 被弃用. 迁移指南:
-https://www.w3ctech.com/topic/2226`,
- ));
- let y = v(...T);
- return ((y.postcssPlugin = q), (y.postcssVersion = new M().version), y);
- }
- let _;
- return (
- Object.defineProperty(E, "postcss", {
- get() {
- return (_ || (_ = E()), _);
- },
- }),
- (E.process = function (T, y, W) {
- return A([E(W)]).process(T, y);
- }),
- E
- );
- }),
- (A.stringify = z),
- (A.parse = p),
- (A.fromJSON = a),
- (A.list = b),
- (A.comment = (h) => new n(h)),
- (A.atRule = (h) => new e(h)),
- (A.decl = (h) => new s(h)),
- (A.rule = (h) => new f(h)),
- (A.root = (h) => new O(h)),
- (A.document = (h) => new o(h)),
- (A.CssSyntaxError = r),
- (A.Declaration = s),
- (A.Container = i),
- (A.Processor = M),
- (A.Document = o),
- (A.Comment = n),
- (A.Warning = g),
- (A.AtRule = e),
- (A.Result = d),
- (A.Input = u),
- (A.Rule = f),
- (A.Root = O),
- (A.Node = l),
- c.registerPostcss(A),
- (qb = A),
- (A.default = A),
- qb
- );
-}
-var gb, gh;
-function m50() {
- if (gh) return gb;
- gh = 1;
- const t = o50(),
- e = a50(),
- { isPlainObject: n } = c50(),
- i = u50(),
- r = p50(),
- { parse: s } = g50(),
- o = [
- "img",
- "audio",
- "video",
- "picture",
- "svg",
- "object",
- "map",
- "iframe",
- "embed",
- ],
- a = ["script", "style"];
- function u(f, z) {
- f &&
- Object.keys(f).forEach(function (g) {
- z(f[g], g);
- });
- }
- function c(f, z) {
- return {}.hasOwnProperty.call(f, z);
- }
- function b(f, z) {
- const g = [];
- return (
- u(f, function (A) {
- z(A) && g.push(A);
- }),
- g
- );
- }
- function l(f) {
- for (const z in f) if (c(f, z)) return !1;
- return !0;
- }
- function p(f) {
- return f
- .map(function (z) {
- if (!z.url) throw new Error("URL missing");
- return (
- z.url +
- (z.w ? ` ${z.w}w` : "") +
- (z.h ? ` ${z.h}h` : "") +
- (z.d ? ` ${z.d}x` : "")
- );
- })
- .join(", ");
- }
- gb = d;
- const M = /^[^\0\t\n\f\r /<=>]+$/;
- function d(f, z, g) {
- if (f == null) return "";
- typeof f == "number" && (f = f.toString());
- let A = "",
- h = "";
- function q(G, S) {
- const R = this;
- ((this.tag = G),
- (this.attribs = S || {}),
- (this.tagPosition = A.length),
- (this.text = ""),
- (this.openingTagLength = 0),
- (this.mediaChildren = []),
- (this.updateParentNodeText = function () {
- if (I.length) {
- const w = I[I.length - 1];
- w.text += R.text;
- }
- }),
- (this.updateParentNodeMediaChildren = function () {
- I.length &&
- o.includes(this.tag) &&
- I[I.length - 1].mediaChildren.push(this.tag);
- }));
- }
- ((z = Object.assign({}, d.defaults, z)),
- (z.parser = Object.assign({}, O, z.parser)));
- const v = function (G) {
- return z.allowedTags === !1 || (z.allowedTags || []).indexOf(G) > -1;
- };
- a.forEach(function (G) {
- v(G) &&
- !z.allowVulnerableTags &&
- console.warn(`
-
-⚠️ Your \`allowedTags\` option includes, \`${G}\`, which is inherently
-vulnerable to XSS attacks. Please remove it from \`allowedTags\`.
-Or, to disable this warning, add the \`allowVulnerableTags\` option
-and ensure you are accounting for this risk.
-
-`);
- });
- const m = z.nonTextTags || ["script", "style", "textarea", "option"];
- let E, _;
- z.allowedAttributes &&
- ((E = {}),
- (_ = {}),
- u(z.allowedAttributes, function (G, S) {
- E[S] = [];
- const R = [];
- (G.forEach(function (w) {
- typeof w == "string" && w.indexOf("*") >= 0
- ? R.push(e(w).replace(/\\\*/g, ".*"))
- : E[S].push(w);
- }),
- R.length && (_[S] = new RegExp("^(" + R.join("|") + ")$")));
- }));
- const T = {},
- y = {},
- W = {};
- u(z.allowedClasses, function (G, S) {
- if (
- (E && (c(E, S) || (E[S] = []), E[S].push("class")),
- (T[S] = G),
- Array.isArray(G))
- ) {
- const R = [];
- ((T[S] = []),
- (W[S] = []),
- G.forEach(function (w) {
- typeof w == "string" && w.indexOf("*") >= 0
- ? R.push(e(w).replace(/\\\*/g, ".*"))
- : w instanceof RegExp
- ? W[S].push(w)
- : T[S].push(w);
- }),
- R.length && (y[S] = new RegExp("^(" + R.join("|") + ")$")));
- }
- });
- const x = {};
- let B;
- u(z.transformTags, function (G, S) {
- let R;
- (typeof G == "function"
- ? (R = G)
- : typeof G == "string" && (R = d.simpleTransform(G)),
- S === "*" ? (B = R) : (x[S] = R));
- });
- let N,
- I,
- k,
- F,
- Q,
- n0,
- Y = !1;
- i0();
- const Z = new t.Parser(
- {
- onopentag: function (G, S) {
- if (
- (z.onOpenTag && z.onOpenTag(G, S),
- z.enforceHtmlBoundary && G === "html" && i0(),
- Q)
- ) {
- n0++;
- return;
- }
- const R = new q(G, S);
- I.push(R);
- let w = !1;
- const D = !!R.text;
- let C;
- if (
- (c(x, G) &&
- ((C = x[G](G, S)),
- (R.attribs = S = C.attribs),
- C.text !== void 0 && (R.innerText = C.text),
- G !== C.tagName &&
- ((R.name = G = C.tagName), (F[N] = C.tagName))),
- B &&
- ((C = B(G, S)),
- (R.attribs = S = C.attribs),
- G !== C.tagName &&
- ((R.name = G = C.tagName), (F[N] = C.tagName))),
- (!v(G) ||
- (z.disallowedTagsMode === "recursiveEscape" && !l(k)) ||
- (z.nestingLimit != null && N >= z.nestingLimit)) &&
- ((w = !0),
- (k[N] = !0),
- (z.disallowedTagsMode === "discard" ||
- z.disallowedTagsMode === "completelyDiscard") &&
- m.indexOf(G) !== -1 &&
- ((Q = !0), (n0 = 1))),
- N++,
- w)
- ) {
- if (
- z.disallowedTagsMode === "discard" ||
- z.disallowedTagsMode === "completelyDiscard"
- ) {
- if (R.innerText && !D) {
- const j = M0(R.innerText);
- (z.textFilter ? (A += z.textFilter(j, G)) : (A += j), (Y = !0));
- }
- return;
- }
- ((h = A), (A = ""));
- }
- ((A += "<" + G),
- G === "script" &&
- (z.allowedScriptHostnames || z.allowedScriptDomains) &&
- (R.innerText = ""),
- w &&
- (z.disallowedTagsMode === "escape" ||
- z.disallowedTagsMode === "recursiveEscape") &&
- z.preserveEscapedAttributes
- ? u(S, function (j, H) {
- A += " " + H + '="' + M0(j || "", !0) + '"';
- })
- : (!E || c(E, G) || E["*"]) &&
- u(S, function (j, H) {
- if (!M.test(H)) {
- delete R.attribs[H];
- return;
- }
- if (
- j === "" &&
- !z.allowedEmptyAttributes.includes(H) &&
- (z.nonBooleanAttributes.includes(H) ||
- z.nonBooleanAttributes.includes("*"))
- ) {
- delete R.attribs[H];
- return;
- }
- let K = !1;
- if (
- !E ||
- (c(E, G) && E[G].indexOf(H) !== -1) ||
- (E["*"] && E["*"].indexOf(H) !== -1) ||
- (c(_, G) && _[G].test(H)) ||
- (_["*"] && _["*"].test(H))
- )
- K = !0;
- else if (E && E[G]) {
- for (const o0 of E[G])
- if (n(o0) && o0.name && o0.name === H) {
- K = !0;
- let s0 = "";
- if (o0.multiple === !0) {
- const d0 = j.split(" ");
- for (const O0 of d0)
- o0.values.indexOf(O0) !== -1 &&
- (s0 === "" ? (s0 = O0) : (s0 += " " + O0));
- } else o0.values.indexOf(j) >= 0 && (s0 = j);
- j = s0;
- }
- }
- if (K) {
- if (
- z.allowedSchemesAppliedToAttributes.indexOf(H) !== -1 &&
- u0(G, j)
- ) {
- delete R.attribs[H];
- return;
- }
- if (G === "script" && H === "src") {
- let o0 = !0;
- try {
- const s0 = b0(j);
- if (
- z.allowedScriptHostnames ||
- z.allowedScriptDomains
- ) {
- const d0 = (z.allowedScriptHostnames || []).find(
- function (q0) {
- return q0 === s0.url.hostname;
- },
- ),
- O0 = (z.allowedScriptDomains || []).find(
- function (q0) {
- return (
- s0.url.hostname === q0 ||
- s0.url.hostname.endsWith(`.${q0}`)
- );
- },
- );
- o0 = d0 || O0;
- }
- } catch {
- o0 = !1;
- }
- if (!o0) {
- delete R.attribs[H];
- return;
- }
- }
- if (G === "iframe" && H === "src") {
- let o0 = !0;
- try {
- const s0 = b0(j);
- if (s0.isRelativeUrl)
- o0 = c(z, "allowIframeRelativeUrls")
- ? z.allowIframeRelativeUrls
- : !z.allowedIframeHostnames &&
- !z.allowedIframeDomains;
- else if (
- z.allowedIframeHostnames ||
- z.allowedIframeDomains
- ) {
- const d0 = (z.allowedIframeHostnames || []).find(
- function (q0) {
- return q0 === s0.url.hostname;
- },
- ),
- O0 = (z.allowedIframeDomains || []).find(
- function (q0) {
- return (
- s0.url.hostname === q0 ||
- s0.url.hostname.endsWith(`.${q0}`)
- );
- },
- );
- o0 = d0 || O0;
- }
- } catch {
- o0 = !1;
- }
- if (!o0) {
- delete R.attribs[H];
- return;
- }
- }
- if (H === "srcset")
- try {
- let o0 = r(j);
- if (
- (o0.forEach(function (s0) {
- u0("srcset", s0.url) && (s0.evil = !0);
- }),
- (o0 = b(o0, function (s0) {
- return !s0.evil;
- })),
- o0.length)
- )
- ((j = p(
- b(o0, function (s0) {
- return !s0.evil;
- }),
- )),
- (R.attribs[H] = j));
- else {
- delete R.attribs[H];
- return;
- }
- } catch {
- delete R.attribs[H];
- return;
- }
- if (H === "class") {
- const o0 = T[G],
- s0 = T["*"],
- d0 = y[G],
- O0 = W[G],
- q0 = W["*"],
- N0 = y["*"],
- x0 = [d0, N0].concat(O0, q0).filter(function (p1) {
- return p1;
- });
- if (
- (o0 && s0
- ? (j = c0(j, i(o0, s0), x0))
- : (j = c0(j, o0 || s0, x0)),
- !j.length)
- ) {
- delete R.attribs[H];
- return;
- }
- }
- if (H === "style") {
- if (z.parseStyleAttributes)
- try {
- const o0 = s(G + " {" + j + "}", { map: !1 }),
- s0 = P(o0, z.allowedStyles);
- if (((j = t0(s0)), j.length === 0)) {
- delete R.attribs[H];
- return;
- }
- } catch {
- (typeof window < "u" &&
- console.warn(
- 'Failed to parse "' +
- G +
- " {" +
- j +
- `}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`,
- ),
- delete R.attribs[H]);
- return;
- }
- else if (z.allowedStyles)
- throw new Error(
- "allowedStyles option cannot be used together with parseStyleAttributes: false.",
- );
- }
- ((A += " " + H),
- j && j.length
- ? (A += '="' + M0(j, !0) + '"')
- : z.allowedEmptyAttributes.includes(H) && (A += '=""'));
- } else delete R.attribs[H];
- }),
- z.selfClosing.indexOf(G) !== -1
- ? (A += " />")
- : ((A += ">"),
- R.innerText &&
- !D &&
- !z.textFilter &&
- ((A += M0(R.innerText)), (Y = !0))),
- w && ((A = h + M0(A)), (h = "")),
- (R.openingTagLength = A.length - R.tagPosition));
- },
- ontext: function (G) {
- if (Q) return;
- const S = I[I.length - 1];
- let R;
- if (
- (S && ((R = S.tag), (G = S.innerText !== void 0 ? S.innerText : G)),
- z.disallowedTagsMode === "completelyDiscard" && !v(R))
- )
- G = "";
- else if (
- (z.disallowedTagsMode === "discard" ||
- z.disallowedTagsMode === "completelyDiscard") &&
- (R === "script" || R === "style")
- )
- A += G;
- else if (!Y) {
- const w = M0(G, !1);
- z.textFilter ? (A += z.textFilter(w, R)) : (A += w);
- }
- if (I.length) {
- const w = I[I.length - 1];
- w.text += G;
- }
- },
- onclosetag: function (G, S) {
- if ((z.onCloseTag && z.onCloseTag(G, S), Q))
- if ((n0--, !n0)) Q = !1;
- else return;
- const R = I.pop();
- if (!R) return;
- if (R.tag !== G) {
- I.push(R);
- return;
- }
- ((Q = z.enforceHtmlBoundary ? G === "html" : !1), N--);
- const w = k[N];
- if (w) {
- if (
- (delete k[N],
- z.disallowedTagsMode === "discard" ||
- z.disallowedTagsMode === "completelyDiscard")
- ) {
- R.updateParentNodeText();
- return;
- }
- ((h = A), (A = ""));
- }
- if ((F[N] && ((G = F[N]), delete F[N]), z.exclusiveFilter)) {
- const D = z.exclusiveFilter(R);
- if (D === "excludeTag") {
- (w && ((A = h), (h = "")),
- (A =
- A.substring(0, R.tagPosition) +
- A.substring(R.tagPosition + R.openingTagLength)));
- return;
- } else if (D) {
- A = A.substring(0, R.tagPosition);
- return;
- }
- }
- if (
- (R.updateParentNodeMediaChildren(),
- R.updateParentNodeText(),
- z.selfClosing.indexOf(G) !== -1 ||
- (S &&
- !v(G) &&
- ["escape", "recursiveEscape"].indexOf(z.disallowedTagsMode) >=
- 0))
- ) {
- w && ((A = h), (h = ""));
- return;
- }
- ((A += "" + G + ">"), w && ((A = h + M0(A)), (h = "")), (Y = !1));
- },
- },
- z.parser,
- );
- return (Z.write(f), Z.end(), A);
- function i0() {
- ((A = ""), (N = 0), (I = []), (k = {}), (F = {}), (Q = !1), (n0 = 0));
- }
- function M0(G, S) {
- return (
- typeof G != "string" && (G = G + ""),
- z.parser.decodeEntities &&
- ((G = G.replace(/&/g, "&")
- .replace(//g, ">")),
- S && (G = G.replace(/"/g, """))),
- (G = G.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, "&")
- .replace(//g, ">")),
- S && (G = G.replace(/"/g, """)),
- G
- );
- }
- function u0(G, S) {
- for (S = S.replace(/[\x00-\x20]+/g, ""); ; ) {
- const D = S.indexOf("", D + 4);
- if (C === -1) break;
- S = S.substring(0, D) + S.substring(C + 3);
- }
- const R = S.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);
- if (!R) return S.match(/^[/\\]{2}/) ? !z.allowProtocolRelative : !1;
- const w = R[1].toLowerCase();
- return c(z.allowedSchemesByTag, G)
- ? z.allowedSchemesByTag[G].indexOf(w) === -1
- : !z.allowedSchemes || z.allowedSchemes.indexOf(w) === -1;
- }
- function b0(G) {
- if (
- ((G = G.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/, "$1//")),
- G.startsWith("relative:"))
- )
- throw new Error("relative: exploit attempt");
- let S = "relative://relative-site";
- for (let D = 0; D < 100; D++) S += `/${D}`;
- const R = new URL(G, S);
- return {
- isRelativeUrl:
- R && R.hostname === "relative-site" && R.protocol === "relative:",
- url: R,
- };
- }
- function P(G, S) {
- if (!S) return G;
- const R = G.nodes[0];
- let w;
- return (
- S[R.selector] && S["*"]
- ? (w = i(S[R.selector], S["*"]))
- : (w = S[R.selector] || S["*"]),
- w && (G.nodes[0].nodes = R.nodes.reduce(r0(w), [])),
- G
- );
- }
- function t0(G) {
- return G.nodes[0].nodes
- .reduce(function (S, R) {
- return (
- S.push(`${R.prop}:${R.value}${R.important ? " !important" : ""}`),
- S
- );
- }, [])
- .join(";");
- }
- function r0(G) {
- return function (S, R) {
- return (
- c(G, R.prop) &&
- G[R.prop].some(function (D) {
- return D.test(R.value);
- }) &&
- S.push(R),
- S
- );
- };
- }
- function c0(G, S, R) {
- return S
- ? ((G = G.split(/\s+/)),
- G.filter(function (w) {
- return (
- S.indexOf(w) !== -1 ||
- R.some(function (D) {
- return D.test(w);
- })
- );
- }).join(" "))
- : G;
- }
- }
- const O = { decodeEntities: !0 };
- return (
- (d.defaults = {
- allowedTags: [
- "address",
- "article",
- "aside",
- "footer",
- "header",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "hgroup",
- "main",
- "nav",
- "section",
- "blockquote",
- "dd",
- "div",
- "dl",
- "dt",
- "figcaption",
- "figure",
- "hr",
- "li",
- "menu",
- "ol",
- "p",
- "pre",
- "ul",
- "a",
- "abbr",
- "b",
- "bdi",
- "bdo",
- "br",
- "cite",
- "code",
- "data",
- "dfn",
- "em",
- "i",
- "kbd",
- "mark",
- "q",
- "rb",
- "rp",
- "rt",
- "rtc",
- "ruby",
- "s",
- "samp",
- "small",
- "span",
- "strong",
- "sub",
- "sup",
- "time",
- "u",
- "var",
- "wbr",
- "caption",
- "col",
- "colgroup",
- "table",
- "tbody",
- "td",
- "tfoot",
- "th",
- "thead",
- "tr",
- ],
- nonBooleanAttributes: [
- "abbr",
- "accept",
- "accept-charset",
- "accesskey",
- "action",
- "allow",
- "alt",
- "as",
- "autocapitalize",
- "autocomplete",
- "blocking",
- "charset",
- "cite",
- "class",
- "color",
- "cols",
- "colspan",
- "content",
- "contenteditable",
- "coords",
- "crossorigin",
- "data",
- "datetime",
- "decoding",
- "dir",
- "dirname",
- "download",
- "draggable",
- "enctype",
- "enterkeyhint",
- "fetchpriority",
- "for",
- "form",
- "formaction",
- "formenctype",
- "formmethod",
- "formtarget",
- "headers",
- "height",
- "hidden",
- "high",
- "href",
- "hreflang",
- "http-equiv",
- "id",
- "imagesizes",
- "imagesrcset",
- "inputmode",
- "integrity",
- "is",
- "itemid",
- "itemprop",
- "itemref",
- "itemtype",
- "kind",
- "label",
- "lang",
- "list",
- "loading",
- "low",
- "max",
- "maxlength",
- "media",
- "method",
- "min",
- "minlength",
- "name",
- "nonce",
- "optimum",
- "pattern",
- "ping",
- "placeholder",
- "popover",
- "popovertarget",
- "popovertargetaction",
- "poster",
- "preload",
- "referrerpolicy",
- "rel",
- "rows",
- "rowspan",
- "sandbox",
- "scope",
- "shape",
- "size",
- "sizes",
- "slot",
- "span",
- "spellcheck",
- "src",
- "srcdoc",
- "srclang",
- "srcset",
- "start",
- "step",
- "style",
- "tabindex",
- "target",
- "title",
- "translate",
- "type",
- "usemap",
- "value",
- "width",
- "wrap",
- "onauxclick",
- "onafterprint",
- "onbeforematch",
- "onbeforeprint",
- "onbeforeunload",
- "onbeforetoggle",
- "onblur",
- "oncancel",
- "oncanplay",
- "oncanplaythrough",
- "onchange",
- "onclick",
- "onclose",
- "oncontextlost",
- "oncontextmenu",
- "oncontextrestored",
- "oncopy",
- "oncuechange",
- "oncut",
- "ondblclick",
- "ondrag",
- "ondragend",
- "ondragenter",
- "ondragleave",
- "ondragover",
- "ondragstart",
- "ondrop",
- "ondurationchange",
- "onemptied",
- "onended",
- "onerror",
- "onfocus",
- "onformdata",
- "onhashchange",
- "oninput",
- "oninvalid",
- "onkeydown",
- "onkeypress",
- "onkeyup",
- "onlanguagechange",
- "onload",
- "onloadeddata",
- "onloadedmetadata",
- "onloadstart",
- "onmessage",
- "onmessageerror",
- "onmousedown",
- "onmouseenter",
- "onmouseleave",
- "onmousemove",
- "onmouseout",
- "onmouseover",
- "onmouseup",
- "onoffline",
- "ononline",
- "onpagehide",
- "onpageshow",
- "onpaste",
- "onpause",
- "onplay",
- "onplaying",
- "onpopstate",
- "onprogress",
- "onratechange",
- "onreset",
- "onresize",
- "onrejectionhandled",
- "onscroll",
- "onscrollend",
- "onsecuritypolicyviolation",
- "onseeked",
- "onseeking",
- "onselect",
- "onslotchange",
- "onstalled",
- "onstorage",
- "onsubmit",
- "onsuspend",
- "ontimeupdate",
- "ontoggle",
- "onunhandledrejection",
- "onunload",
- "onvolumechange",
- "onwaiting",
- "onwheel",
- ],
- disallowedTagsMode: "discard",
- allowedAttributes: {
- a: ["href", "name", "target"],
- img: ["src", "srcset", "alt", "title", "width", "height", "loading"],
- },
- allowedEmptyAttributes: ["alt"],
- selfClosing: [
- "img",
- "br",
- "hr",
- "area",
- "base",
- "basefont",
- "input",
- "link",
- "meta",
- ],
- allowedSchemes: ["http", "https", "ftp", "mailto", "tel"],
- allowedSchemesByTag: {},
- allowedSchemesAppliedToAttributes: ["href", "src", "cite"],
- allowProtocolRelative: !0,
- enforceHtmlBoundary: !1,
- parseStyleAttributes: !0,
- preserveEscapedAttributes: !1,
- }),
- (d.simpleTransform = function (f, z, g) {
- return (
- (g = g === void 0 ? !0 : g),
- (z = z || {}),
- function (A, h) {
- let q;
- if (g) for (q in z) h[q] = z[q];
- else h = z;
- return { tagName: f, attribs: h };
- }
- );
- }),
- gb
- );
-}
-var W50 = m50();
-const gg0 = jc(W50);
-export {
- yl as $,
- y50 as A,
- Xp as B,
- k4 as C,
- x4 as D,
- x50 as E,
- F1 as F,
- I50 as G,
- X50 as H,
- P50 as I,
- fg0 as J,
- Vr as K,
- lA as L,
- S4 as M,
- Og0 as N,
- Bc as O,
- el as P,
- N50 as Q,
- dg0 as R,
- w50 as S,
- B50 as T,
- Kn as U,
- E50 as V,
- T50 as W,
- Pp as X,
- zg0 as Y,
- bg0 as Z,
- Mg0 as _,
- b1 as a,
- Rl as a0,
- gg0 as a1,
- qg0 as a2,
- pa as a3,
- o1 as a4,
- k50 as a5,
- ll as a6,
- Tl as a7,
- Tm as a8,
- lg0 as a9,
- pg0 as aa,
- F50 as ab,
- U50 as ac,
- zr as b,
- _50 as c,
- $50 as d,
- wA as e,
- Jp as f,
- T1 as g,
- L50 as h,
- gl as i,
- OW as j,
- xb as k,
- S50 as l,
- ug0 as m,
- v50 as n,
- _b as o,
- R50 as p,
- D50 as q,
- wc as r,
- $1 as s,
- F6 as t,
- Xi as u,
- C50 as v,
- Rm as w,
- w4 as x,
- Wl as y,
- ml as z,
-};
diff --git a/resources/re/vendor_rename_map.json b/resources/re/vendor_rename_map.json
deleted file mode 100644
index 9e26dfe..0000000
--- a/resources/re/vendor_rename_map.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file