general-basic-videoplayer
Version:
基于video.js和tcplayer.js等多个播放器封装的视频播放器
1,532 lines (1,531 loc) • 2.15 MB
JavaScript
import { defineComponent, ref, useAttrs, onMounted, onUnmounted, createElementBlock, openBlock, mergeProps, Fragment, renderList } from "vue";
var commonjsGlobal = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function getDefaultExportFromCjs(n) {
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
}
function getAugmentedNamespace(n) {
if (Object.prototype.hasOwnProperty.call(n, "__esModule")) return n;
var e = n.default;
if (typeof e == "function") {
var t = function r() {
var s = !1;
try {
s = this instanceof r;
} catch {
}
return s ? Reflect.construct(e, arguments, this.constructor) : e.apply(this, arguments);
};
t.prototype = e.prototype;
} else t = {};
return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(n).forEach(function(r) {
var s = Object.getOwnPropertyDescriptor(n, r);
Object.defineProperty(t, r, s.get ? s : {
enumerable: !0,
get: function() {
return n[r];
}
});
}), t;
}
var window_1, hasRequiredWindow;
function requireWindow() {
if (hasRequiredWindow) return window_1;
hasRequiredWindow = 1;
var n;
return typeof window < "u" ? n = window : typeof commonjsGlobal < "u" ? n = commonjsGlobal : typeof self < "u" ? n = self : n = {}, window_1 = n, window_1;
}
var windowExports = requireWindow();
const window$1 = /* @__PURE__ */ getDefaultExportFromCjs(windowExports), __viteBrowserExternal = {}, __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
default: __viteBrowserExternal
}, Symbol.toStringTag, { value: "Module" })), require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);
var document_1, hasRequiredDocument;
function requireDocument() {
if (hasRequiredDocument) return document_1;
hasRequiredDocument = 1;
var n = typeof commonjsGlobal < "u" ? commonjsGlobal : typeof window < "u" ? window : {}, e = require$$0, t;
return typeof document < "u" ? t = document : (t = n["__GLOBAL_DOCUMENT_CACHE@4"], t || (t = n["__GLOBAL_DOCUMENT_CACHE@4"] = e)), document_1 = t, document_1;
}
var documentExports = requireDocument();
const document$1 = /* @__PURE__ */ getDefaultExportFromCjs(documentExports);
var lib$1 = { exports: {} }, _extends$1 = { exports: {} }, hasRequired_extends;
function require_extends() {
return hasRequired_extends || (hasRequired_extends = 1, (function(n) {
function e() {
return n.exports = e = Object.assign ? Object.assign.bind() : function(t) {
for (var r = 1; r < arguments.length; r++) {
var s = arguments[r];
for (var a in s) ({}).hasOwnProperty.call(s, a) && (t[a] = s[a]);
}
return t;
}, n.exports.__esModule = !0, n.exports.default = n.exports, e.apply(null, arguments);
}
n.exports = e, n.exports.__esModule = !0, n.exports.default = n.exports;
})(_extends$1)), _extends$1.exports;
}
var isFunction_1, hasRequiredIsFunction;
function requireIsFunction() {
if (hasRequiredIsFunction) return isFunction_1;
hasRequiredIsFunction = 1, isFunction_1 = e;
var n = Object.prototype.toString;
function e(t) {
if (!t)
return !1;
var r = n.call(t);
return r === "[object Function]" || typeof t == "function" && r !== "[object RegExp]" || typeof window < "u" && // IE8 and below
(t === window.setTimeout || t === window.alert || t === window.confirm || t === window.prompt);
}
return isFunction_1;
}
var interceptors, hasRequiredInterceptors;
function requireInterceptors() {
if (hasRequiredInterceptors) return interceptors;
hasRequiredInterceptors = 1;
function n(s, a) {
var l = typeof Symbol < "u" && s[Symbol.iterator] || s["@@iterator"];
if (l) return (l = l.call(s)).next.bind(l);
if (Array.isArray(s) || (l = e(s)) || a) {
l && (s = l);
var u = 0;
return function() {
return u >= s.length ? { done: !0 } : { done: !1, value: s[u++] };
};
}
throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
}
function e(s, a) {
if (s) {
if (typeof s == "string") return t(s, a);
var l = Object.prototype.toString.call(s).slice(8, -1);
if (l === "Object" && s.constructor && (l = s.constructor.name), l === "Map" || l === "Set") return Array.from(s);
if (l === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)) return t(s, a);
}
}
function t(s, a) {
(a == null || a > s.length) && (a = s.length);
for (var l = 0, u = new Array(a); l < a; l++)
u[l] = s[l];
return u;
}
var r = /* @__PURE__ */ (function() {
function s() {
this.typeToInterceptorsMap_ = /* @__PURE__ */ new Map(), this.enabled_ = !1;
}
var a = s.prototype;
return a.getIsEnabled = function() {
return this.enabled_;
}, a.enable = function() {
this.enabled_ = !0;
}, a.disable = function() {
this.enabled_ = !1;
}, a.reset = function() {
this.typeToInterceptorsMap_ = /* @__PURE__ */ new Map(), this.enabled_ = !1;
}, a.addInterceptor = function(u, c) {
this.typeToInterceptorsMap_.has(u) || this.typeToInterceptorsMap_.set(u, /* @__PURE__ */ new Set());
var d = this.typeToInterceptorsMap_.get(u);
return d.has(c) ? !1 : (d.add(c), !0);
}, a.removeInterceptor = function(u, c) {
var d = this.typeToInterceptorsMap_.get(u);
return d && d.has(c) ? (d.delete(c), !0) : !1;
}, a.clearInterceptorsByType = function(u) {
var c = this.typeToInterceptorsMap_.get(u);
return c ? (this.typeToInterceptorsMap_.delete(u), this.typeToInterceptorsMap_.set(u, /* @__PURE__ */ new Set()), !0) : !1;
}, a.clear = function() {
return this.typeToInterceptorsMap_.size ? (this.typeToInterceptorsMap_ = /* @__PURE__ */ new Map(), !0) : !1;
}, a.getForType = function(u) {
return this.typeToInterceptorsMap_.get(u) || /* @__PURE__ */ new Set();
}, a.execute = function(u, c) {
for (var d = this.getForType(u), p = n(d), f; !(f = p()).done; ) {
var E = f.value;
try {
c = E(c);
} catch {
}
}
return c;
}, s;
})();
return interceptors = r, interceptors;
}
var retry, hasRequiredRetry;
function requireRetry() {
if (hasRequiredRetry) return retry;
hasRequiredRetry = 1;
var n = /* @__PURE__ */ (function() {
function t() {
this.maxAttempts_ = 1, this.delayFactor_ = 0.1, this.fuzzFactor_ = 0.1, this.initialDelay_ = 1e3, this.enabled_ = !1;
}
var r = t.prototype;
return r.getIsEnabled = function() {
return this.enabled_;
}, r.enable = function() {
this.enabled_ = !0;
}, r.disable = function() {
this.enabled_ = !1;
}, r.reset = function() {
this.maxAttempts_ = 1, this.delayFactor_ = 0.1, this.fuzzFactor_ = 0.1, this.initialDelay_ = 1e3, this.enabled_ = !1;
}, r.getMaxAttempts = function() {
return this.maxAttempts_;
}, r.setMaxAttempts = function(a) {
this.maxAttempts_ = a;
}, r.getDelayFactor = function() {
return this.delayFactor_;
}, r.setDelayFactor = function(a) {
this.delayFactor_ = a;
}, r.getFuzzFactor = function() {
return this.fuzzFactor_;
}, r.setFuzzFactor = function(a) {
this.fuzzFactor_ = a;
}, r.getInitialDelay = function() {
return this.initialDelay_;
}, r.setInitialDelay = function(a) {
this.initialDelay_ = a;
}, r.createRetry = function(a) {
var l = a === void 0 ? {} : a, u = l.maxAttempts, c = l.delayFactor, d = l.fuzzFactor, p = l.initialDelay;
return new e({
maxAttempts: u || this.maxAttempts_,
delayFactor: c || this.delayFactor_,
fuzzFactor: d || this.fuzzFactor_,
initialDelay: p || this.initialDelay_
});
}, t;
})(), e = /* @__PURE__ */ (function() {
function t(s) {
this.maxAttempts_ = s.maxAttempts, this.delayFactor_ = s.delayFactor, this.fuzzFactor_ = s.fuzzFactor, this.currentDelay_ = s.initialDelay, this.currentAttempt_ = 1;
}
var r = t.prototype;
return r.moveToNextAttempt = function() {
this.currentAttempt_++;
var a = this.currentDelay_ * this.delayFactor_;
this.currentDelay_ = this.currentDelay_ + a;
}, r.shouldRetry = function() {
return this.currentAttempt_ < this.maxAttempts_;
}, r.getCurrentDelay = function() {
return this.currentDelay_;
}, r.getCurrentMinPossibleDelay = function() {
return (1 - this.fuzzFactor_) * this.currentDelay_;
}, r.getCurrentMaxPossibleDelay = function() {
return (1 + this.fuzzFactor_) * this.currentDelay_;
}, r.getCurrentFuzzedDelay = function() {
var a = this.getCurrentMinPossibleDelay(), l = this.getCurrentMaxPossibleDelay();
return a + Math.random() * (l - a);
}, t;
})();
return retry = n, retry;
}
var httpHandler, hasRequiredHttpHandler;
function requireHttpHandler() {
if (hasRequiredHttpHandler) return httpHandler;
hasRequiredHttpHandler = 1;
var n = requireWindow(), e = function(s, a) {
return a === void 0 && (a = !1), function(l, u, c) {
if (l) {
s(l);
return;
}
if (u.statusCode >= 400 && u.statusCode <= 599) {
var d = c;
if (a)
if (n.TextDecoder) {
var p = t(u.headers && u.headers["content-type"]);
try {
d = new TextDecoder(p).decode(c);
} catch {
}
} else
d = String.fromCharCode.apply(null, new Uint8Array(c));
s({
cause: d
});
return;
}
s(null, c);
};
};
function t(r) {
return r === void 0 && (r = ""), r.toLowerCase().split(";").reduce(function(s, a) {
var l = a.split("="), u = l[0], c = l[1];
return u.trim() === "charset" ? c.trim() : s;
}, "utf-8");
}
return httpHandler = e, httpHandler;
}
var hasRequiredLib$1;
function requireLib$1() {
if (hasRequiredLib$1) return lib$1.exports;
hasRequiredLib$1 = 1;
var n = requireWindow(), e = require_extends(), t = requireIsFunction(), r = requireInterceptors(), s = requireRetry();
d.httpHandler = requireHttpHandler(), d.requestInterceptorsStorage = new r(), d.responseInterceptorsStorage = new r(), d.retryManager = new s();
/**
* @license
* slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>
* Copyright (c) 2014 David Björklund
* Available under the MIT license
* <https://github.com/kesla/parse-headers/blob/master/LICENCE>
*/
var a = function(S) {
var v = {};
return S && S.trim().split(`
`).forEach(function(A) {
var R = A.indexOf(":"), L = A.slice(0, R).trim().toLowerCase(), M = A.slice(R + 1).trim();
typeof v[L] > "u" ? v[L] = M : Array.isArray(v[L]) ? v[L].push(M) : v[L] = [v[L], M];
}), v;
};
lib$1.exports = d, lib$1.exports.default = d, d.XMLHttpRequest = n.XMLHttpRequest || E, d.XDomainRequest = "withCredentials" in new d.XMLHttpRequest() ? d.XMLHttpRequest : n.XDomainRequest, l(["get", "put", "post", "patch", "head", "delete"], function(m) {
d[m === "delete" ? "del" : m] = function(S, v, A) {
return v = c(S, v, A), v.method = m.toUpperCase(), p(v);
};
});
function l(m, S) {
for (var v = 0; v < m.length; v++)
S(m[v]);
}
function u(m) {
for (var S in m)
if (m.hasOwnProperty(S)) return !1;
return !0;
}
function c(m, S, v) {
var A = m;
return t(S) ? (v = S, typeof m == "string" && (A = {
uri: m
})) : A = e({}, S, {
uri: m
}), A.callback = v, A;
}
function d(m, S, v) {
return S = c(m, S, v), p(S);
}
function p(m) {
if (typeof m.callback > "u")
throw new Error("callback argument missing");
if (m.requestType && d.requestInterceptorsStorage.getIsEnabled()) {
var S = {
uri: m.uri || m.url,
headers: m.headers || {},
body: m.body,
metadata: m.metadata || {},
retry: m.retry,
timeout: m.timeout
}, v = d.requestInterceptorsStorage.execute(m.requestType, S);
m.uri = v.uri, m.headers = v.headers, m.body = v.body, m.metadata = v.metadata, m.retry = v.retry, m.timeout = v.timeout;
}
var A = !1, R = function(K, J, ie) {
A || (A = !0, m.callback(K, J, ie));
};
function L() {
w.readyState === 4 && !d.responseInterceptorsStorage.getIsEnabled() && setTimeout(O, 0);
}
function M() {
var se = void 0;
if (w.response ? se = w.response : se = w.responseText || f(w), ne)
try {
se = JSON.parse(se);
} catch {
}
return se;
}
function G(se) {
if (clearTimeout(le), clearTimeout(m.retryTimeout), se instanceof Error || (se = new Error("" + (se || "Unknown XMLHttpRequest Error"))), se.statusCode = 0, !D && d.retryManager.getIsEnabled() && m.retry && m.retry.shouldRetry()) {
m.retryTimeout = setTimeout(function() {
m.retry.moveToNextAttempt(), m.xhr = w, p(m);
}, m.retry.getCurrentFuzzedDelay());
return;
}
if (m.requestType && d.responseInterceptorsStorage.getIsEnabled()) {
var K = {
headers: fe.headers || {},
body: fe.body,
responseUrl: w.responseURL,
responseType: w.responseType
}, J = d.responseInterceptorsStorage.execute(m.requestType, K);
fe.body = J.body, fe.headers = J.headers;
}
return R(se, fe);
}
function O() {
if (!D) {
var se;
clearTimeout(le), clearTimeout(m.retryTimeout), m.useXDR && w.status === void 0 ? se = 200 : se = w.status === 1223 ? 204 : w.status;
var K = fe, J = null;
if (se !== 0 ? (K = {
body: M(),
statusCode: se,
method: B,
headers: {},
url: b,
rawRequest: w
}, w.getAllResponseHeaders && (K.headers = a(w.getAllResponseHeaders()))) : J = new Error("Internal XMLHttpRequest Error"), m.requestType && d.responseInterceptorsStorage.getIsEnabled()) {
var ie = {
headers: K.headers || {},
body: K.body,
responseUrl: w.responseURL,
responseType: w.responseType
}, Z = d.responseInterceptorsStorage.execute(m.requestType, ie);
K.body = Z.body, K.headers = Z.headers;
}
return R(J, K, K.body);
}
}
var w = m.xhr || null;
w || (m.cors || m.useXDR ? w = new d.XDomainRequest() : w = new d.XMLHttpRequest());
var C, D, b = w.url = m.uri || m.url, B = w.method = m.method || "GET", j = m.body || m.data, U = w.headers = m.headers || {}, z = !!m.sync, ne = !1, le, fe = {
body: void 0,
headers: {},
statusCode: 0,
method: B,
url: b,
rawRequest: w
};
if ("json" in m && m.json !== !1 && (ne = !0, U.accept || U.Accept || (U.Accept = "application/json"), B !== "GET" && B !== "HEAD" && (U["content-type"] || U["Content-Type"] || (U["Content-Type"] = "application/json"), j = JSON.stringify(m.json === !0 ? j : m.json))), w.onreadystatechange = L, w.onload = O, w.onerror = G, w.onprogress = function() {
}, w.onabort = function() {
D = !0, clearTimeout(m.retryTimeout);
}, w.ontimeout = G, w.open(B, b, !z, m.username, m.password), z || (w.withCredentials = !!m.withCredentials), !z && m.timeout > 0 && (le = setTimeout(function() {
if (!D) {
D = !0, w.abort("timeout");
var se = new Error("XMLHttpRequest timeout");
se.code = "ETIMEDOUT", G(se);
}
}, m.timeout)), w.setRequestHeader)
for (C in U)
U.hasOwnProperty(C) && w.setRequestHeader(C, U[C]);
else if (m.headers && !u(m.headers))
throw new Error("Headers cannot be set on an XDomainRequest object");
return "responseType" in m && (w.responseType = m.responseType), "beforeSend" in m && typeof m.beforeSend == "function" && m.beforeSend(w), w.send(j || null), w;
}
function f(m) {
try {
if (m.responseType === "document")
return m.responseXML;
var S = m.responseXML && m.responseXML.documentElement.nodeName === "parsererror";
if (m.responseType === "" && !S)
return m.responseXML;
} catch {
}
return null;
}
function E() {
}
return lib$1.exports;
}
var libExports$1 = requireLib$1();
const XHR = /* @__PURE__ */ getDefaultExportFromCjs(libExports$1);
var browserIndex = { exports: {} }, vtt$1, hasRequiredVtt;
function requireVtt() {
if (hasRequiredVtt) return vtt$1;
hasRequiredVtt = 1;
var n = requireDocument(), e = Object.create || /* @__PURE__ */ (function() {
function b() {
}
return function(B) {
if (arguments.length !== 1)
throw new Error("Object.create shim only accepts one parameter.");
return b.prototype = B, new b();
};
})();
function t(b, B) {
this.name = "ParsingError", this.code = b.code, this.message = B || b.message;
}
t.prototype = e(Error.prototype), t.prototype.constructor = t, t.Errors = {
BadSignature: {
code: 0,
message: "Malformed WebVTT signature."
},
BadTimeStamp: {
code: 1,
message: "Malformed time stamp."
}
};
function r(b) {
function B(U, z, ne, le) {
return (U | 0) * 3600 + (z | 0) * 60 + (ne | 0) + (le | 0) / 1e3;
}
var j = b.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);
return j ? j[3] ? B(j[1], j[2], j[3].replace(":", ""), j[4]) : j[1] > 59 ? B(j[1], j[2], 0, j[4]) : B(0, j[1], j[2], j[4]) : null;
}
function s() {
this.values = e(null);
}
s.prototype = {
// Only accept the first assignment to any key.
set: function(b, B) {
!this.get(b) && B !== "" && (this.values[b] = B);
},
// Return the value for a key, or a default value.
// If 'defaultKey' is passed then 'dflt' is assumed to be an object with
// a number of possible default values as properties where 'defaultKey' is
// the key of the property that will be chosen; otherwise it's assumed to be
// a single value.
get: function(b, B, j) {
return j ? this.has(b) ? this.values[b] : B[j] : this.has(b) ? this.values[b] : B;
},
// Check whether we have a value for a key.
has: function(b) {
return b in this.values;
},
// Accept a setting if its one of the given alternatives.
alt: function(b, B, j) {
for (var U = 0; U < j.length; ++U)
if (B === j[U]) {
this.set(b, B);
break;
}
},
// Accept a setting if its a valid (signed) integer.
integer: function(b, B) {
/^-?\d+$/.test(B) && this.set(b, parseInt(B, 10));
},
// Accept a setting if its a valid percentage.
percent: function(b, B) {
return B.match(/^([\d]{1,3})(\.[\d]*)?%$/) && (B = parseFloat(B), B >= 0 && B <= 100) ? (this.set(b, B), !0) : !1;
}
};
function a(b, B, j, U) {
var z = U ? b.split(U) : [b];
for (var ne in z)
if (typeof z[ne] == "string") {
var le = z[ne].split(j);
if (le.length === 2) {
var fe = le[0].trim(), se = le[1].trim();
B(fe, se);
}
}
}
function l(b, B, j) {
var U = b;
function z() {
var fe = r(b);
if (fe === null)
throw new t(
t.Errors.BadTimeStamp,
"Malformed timestamp: " + U
);
return b = b.replace(/^[^\sa-zA-Z-]+/, ""), fe;
}
function ne(fe, se) {
var K = new s();
a(fe, function(J, ie) {
switch (J) {
case "region":
for (var Z = j.length - 1; Z >= 0; Z--)
if (j[Z].id === ie) {
K.set(J, j[Z].region);
break;
}
break;
case "vertical":
K.alt(J, ie, ["rl", "lr"]);
break;
case "line":
var re = ie.split(","), me = re[0];
K.integer(J, me), K.percent(J, me) && K.set("snapToLines", !1), K.alt(J, me, ["auto"]), re.length === 2 && K.alt("lineAlign", re[1], ["start", "center", "end"]);
break;
case "position":
re = ie.split(","), K.percent(J, re[0]), re.length === 2 && K.alt("positionAlign", re[1], ["start", "center", "end"]);
break;
case "size":
K.percent(J, ie);
break;
case "align":
K.alt(J, ie, ["start", "center", "end", "left", "right"]);
break;
}
}, /:/, /\s/), se.region = K.get("region", null), se.vertical = K.get("vertical", "");
try {
se.line = K.get("line", "auto");
} catch {
}
se.lineAlign = K.get("lineAlign", "start"), se.snapToLines = K.get("snapToLines", !0), se.size = K.get("size", 100);
try {
se.align = K.get("align", "center");
} catch {
se.align = K.get("align", "middle");
}
try {
se.position = K.get("position", "auto");
} catch {
se.position = K.get("position", {
start: 0,
left: 0,
center: 50,
middle: 50,
end: 100,
right: 100
}, se.align);
}
se.positionAlign = K.get("positionAlign", {
start: "start",
left: "start",
center: "center",
middle: "center",
end: "end",
right: "end"
}, se.align);
}
function le() {
b = b.replace(/^\s+/, "");
}
if (le(), B.startTime = z(), le(), b.substr(0, 3) !== "-->")
throw new t(
t.Errors.BadTimeStamp,
"Malformed time stamp (time stamps must be separated by '-->'): " + U
);
b = b.substr(3), le(), B.endTime = z(), le(), ne(b, B);
}
var u = n.createElement && n.createElement("textarea"), c = {
c: "span",
i: "i",
b: "b",
u: "u",
ruby: "ruby",
rt: "rt",
v: "span",
lang: "span"
}, d = {
white: "rgba(255,255,255,1)",
lime: "rgba(0,255,0,1)",
cyan: "rgba(0,255,255,1)",
red: "rgba(255,0,0,1)",
yellow: "rgba(255,255,0,1)",
magenta: "rgba(255,0,255,1)",
blue: "rgba(0,0,255,1)",
black: "rgba(0,0,0,1)"
}, p = {
v: "title",
lang: "lang"
}, f = {
rt: "ruby"
};
function E(b, B) {
function j() {
if (!B)
return null;
function me(Se) {
return B = B.substr(Se.length), Se;
}
var _e = B.match(/^([^<]*)(<[^>]*>?)?/);
return me(_e[1] ? _e[1] : _e[2]);
}
function U(me) {
return u.innerHTML = me, me = u.textContent, u.textContent = "", me;
}
function z(me, _e) {
return !f[_e.localName] || f[_e.localName] === me.localName;
}
function ne(me, _e) {
var Se = c[me];
if (!Se)
return null;
var Qe = b.document.createElement(Se), Me = p[me];
return Me && _e && (Qe[Me] = _e.trim()), Qe;
}
for (var le = b.document.createElement("div"), fe = le, se, K = []; (se = j()) !== null; ) {
if (se[0] === "<") {
if (se[1] === "/") {
K.length && K[K.length - 1] === se.substr(2).replace(">", "") && (K.pop(), fe = fe.parentNode);
continue;
}
var J = r(se.substr(1, se.length - 2)), ie;
if (J) {
ie = b.document.createProcessingInstruction("timestamp", J), fe.appendChild(ie);
continue;
}
var Z = se.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);
if (!Z || (ie = ne(Z[1], Z[3]), !ie) || !z(fe, ie))
continue;
if (Z[2]) {
var re = Z[2].split(".");
re.forEach(function(me) {
var _e = /^bg_/.test(me), Se = _e ? me.slice(3) : me;
if (d.hasOwnProperty(Se)) {
var Qe = _e ? "background-color" : "color", Me = d[Se];
ie.style[Qe] = Me;
}
}), ie.className = re.join(" ");
}
K.push(Z[1]), fe.appendChild(ie), fe = ie;
continue;
}
fe.appendChild(b.document.createTextNode(U(se)));
}
return le;
}
var m = [
[1470, 1470],
[1472, 1472],
[1475, 1475],
[1478, 1478],
[1488, 1514],
[1520, 1524],
[1544, 1544],
[1547, 1547],
[1549, 1549],
[1563, 1563],
[1566, 1610],
[1645, 1647],
[1649, 1749],
[1765, 1766],
[1774, 1775],
[1786, 1805],
[1807, 1808],
[1810, 1839],
[1869, 1957],
[1969, 1969],
[1984, 2026],
[2036, 2037],
[2042, 2042],
[2048, 2069],
[2074, 2074],
[2084, 2084],
[2088, 2088],
[2096, 2110],
[2112, 2136],
[2142, 2142],
[2208, 2208],
[2210, 2220],
[8207, 8207],
[64285, 64285],
[64287, 64296],
[64298, 64310],
[64312, 64316],
[64318, 64318],
[64320, 64321],
[64323, 64324],
[64326, 64449],
[64467, 64829],
[64848, 64911],
[64914, 64967],
[65008, 65020],
[65136, 65140],
[65142, 65276],
[67584, 67589],
[67592, 67592],
[67594, 67637],
[67639, 67640],
[67644, 67644],
[67647, 67669],
[67671, 67679],
[67840, 67867],
[67872, 67897],
[67903, 67903],
[67968, 68023],
[68030, 68031],
[68096, 68096],
[68112, 68115],
[68117, 68119],
[68121, 68147],
[68160, 68167],
[68176, 68184],
[68192, 68223],
[68352, 68405],
[68416, 68437],
[68440, 68466],
[68472, 68479],
[68608, 68680],
[126464, 126467],
[126469, 126495],
[126497, 126498],
[126500, 126500],
[126503, 126503],
[126505, 126514],
[126516, 126519],
[126521, 126521],
[126523, 126523],
[126530, 126530],
[126535, 126535],
[126537, 126537],
[126539, 126539],
[126541, 126543],
[126545, 126546],
[126548, 126548],
[126551, 126551],
[126553, 126553],
[126555, 126555],
[126557, 126557],
[126559, 126559],
[126561, 126562],
[126564, 126564],
[126567, 126570],
[126572, 126578],
[126580, 126583],
[126585, 126588],
[126590, 126590],
[126592, 126601],
[126603, 126619],
[126625, 126627],
[126629, 126633],
[126635, 126651],
[1114109, 1114109]
];
function S(b) {
for (var B = 0; B < m.length; B++) {
var j = m[B];
if (b >= j[0] && b <= j[1])
return !0;
}
return !1;
}
function v(b) {
var B = [], j = "", U;
if (!b || !b.childNodes)
return "ltr";
function z(fe, se) {
for (var K = se.childNodes.length - 1; K >= 0; K--)
fe.push(se.childNodes[K]);
}
function ne(fe) {
if (!fe || !fe.length)
return null;
var se = fe.pop(), K = se.textContent || se.innerText;
if (K) {
var J = K.match(/^.*(\n|\r)/);
return J ? (fe.length = 0, J[0]) : K;
}
if (se.tagName === "ruby")
return ne(fe);
if (se.childNodes)
return z(fe, se), ne(fe);
}
for (z(B, b); j = ne(B); )
for (var le = 0; le < j.length; le++)
if (U = j.charCodeAt(le), S(U))
return "rtl";
return "ltr";
}
function A(b) {
if (typeof b.line == "number" && (b.snapToLines || b.line >= 0 && b.line <= 100))
return b.line;
if (!b.track || !b.track.textTrackList || !b.track.textTrackList.mediaElement)
return -1;
for (var B = b.track, j = B.textTrackList, U = 0, z = 0; z < j.length && j[z] !== B; z++)
j[z].mode === "showing" && U++;
return ++U * -1;
}
function R() {
}
R.prototype.applyStyles = function(b, B) {
B = B || this.div;
for (var j in b)
b.hasOwnProperty(j) && (B.style[j] = b[j]);
}, R.prototype.formatStyle = function(b, B) {
return b === 0 ? 0 : b + B;
};
function L(b, B, j) {
R.call(this), this.cue = B, this.cueDiv = E(b, B.text);
var U = {
color: "rgba(255, 255, 255, 1)",
backgroundColor: "rgba(0, 0, 0, 0.8)",
position: "relative",
left: 0,
right: 0,
top: 0,
bottom: 0,
display: "inline",
writingMode: B.vertical === "" ? "horizontal-tb" : B.vertical === "lr" ? "vertical-lr" : "vertical-rl",
unicodeBidi: "plaintext"
};
this.applyStyles(U, this.cueDiv), this.div = b.document.createElement("div"), U = {
direction: v(this.cueDiv),
writingMode: B.vertical === "" ? "horizontal-tb" : B.vertical === "lr" ? "vertical-lr" : "vertical-rl",
unicodeBidi: "plaintext",
textAlign: B.align === "middle" ? "center" : B.align,
font: j.font,
whiteSpace: "pre-line",
position: "absolute"
}, this.applyStyles(U), this.div.appendChild(this.cueDiv);
var z = 0;
switch (B.positionAlign) {
case "start":
case "line-left":
z = B.position;
break;
case "center":
z = B.position - B.size / 2;
break;
case "end":
case "line-right":
z = B.position - B.size;
break;
}
B.vertical === "" ? this.applyStyles({
left: this.formatStyle(z, "%"),
width: this.formatStyle(B.size, "%")
}) : this.applyStyles({
top: this.formatStyle(z, "%"),
height: this.formatStyle(B.size, "%")
}), this.move = function(ne) {
this.applyStyles({
top: this.formatStyle(ne.top, "px"),
bottom: this.formatStyle(ne.bottom, "px"),
left: this.formatStyle(ne.left, "px"),
right: this.formatStyle(ne.right, "px"),
height: this.formatStyle(ne.height, "px"),
width: this.formatStyle(ne.width, "px")
});
};
}
L.prototype = e(R.prototype), L.prototype.constructor = L;
function M(b) {
var B, j, U, z;
if (b.div) {
j = b.div.offsetHeight, U = b.div.offsetWidth, z = b.div.offsetTop;
var ne = (ne = b.div.childNodes) && (ne = ne[0]) && ne.getClientRects && ne.getClientRects();
b = b.div.getBoundingClientRect(), B = ne ? Math.max(ne[0] && ne[0].height || 0, b.height / ne.length) : 0;
}
this.left = b.left, this.right = b.right, this.top = b.top || z, this.height = b.height || j, this.bottom = b.bottom || z + (b.height || j), this.width = b.width || U, this.lineHeight = B !== void 0 ? B : b.lineHeight;
}
M.prototype.move = function(b, B) {
switch (B = B !== void 0 ? B : this.lineHeight, b) {
case "+x":
this.left += B, this.right += B;
break;
case "-x":
this.left -= B, this.right -= B;
break;
case "+y":
this.top += B, this.bottom += B;
break;
case "-y":
this.top -= B, this.bottom -= B;
break;
}
}, M.prototype.overlaps = function(b) {
return this.left < b.right && this.right > b.left && this.top < b.bottom && this.bottom > b.top;
}, M.prototype.overlapsAny = function(b) {
for (var B = 0; B < b.length; B++)
if (this.overlaps(b[B]))
return !0;
return !1;
}, M.prototype.within = function(b) {
return this.top >= b.top && this.bottom <= b.bottom && this.left >= b.left && this.right <= b.right;
}, M.prototype.overlapsOppositeAxis = function(b, B) {
switch (B) {
case "+x":
return this.left < b.left;
case "-x":
return this.right > b.right;
case "+y":
return this.top < b.top;
case "-y":
return this.bottom > b.bottom;
}
}, M.prototype.intersectPercentage = function(b) {
var B = Math.max(0, Math.min(this.right, b.right) - Math.max(this.left, b.left)), j = Math.max(0, Math.min(this.bottom, b.bottom) - Math.max(this.top, b.top)), U = B * j;
return U / (this.height * this.width);
}, M.prototype.toCSSCompatValues = function(b) {
return {
top: this.top - b.top,
bottom: b.bottom - this.bottom,
left: this.left - b.left,
right: b.right - this.right,
height: this.height,
width: this.width
};
}, M.getSimpleBoxPosition = function(b) {
var B = b.div ? b.div.offsetHeight : b.tagName ? b.offsetHeight : 0, j = b.div ? b.div.offsetWidth : b.tagName ? b.offsetWidth : 0, U = b.div ? b.div.offsetTop : b.tagName ? b.offsetTop : 0;
b = b.div ? b.div.getBoundingClientRect() : b.tagName ? b.getBoundingClientRect() : b;
var z = {
left: b.left,
right: b.right,
top: b.top || U,
height: b.height || B,
bottom: b.bottom || U + (b.height || B),
width: b.width || j
};
return z;
};
function G(b, B, j, U) {
function z(Se, Qe) {
for (var Me, Ue = new M(Se), tt = 1, Ke = 0; Ke < Qe.length; Ke++) {
for (; Se.overlapsOppositeAxis(j, Qe[Ke]) || Se.within(j) && Se.overlapsAny(U); )
Se.move(Qe[Ke]);
if (Se.within(j))
return Se;
var Ze = Se.intersectPercentage(j);
tt > Ze && (Me = new M(Se), tt = Ze), Se = new M(Ue);
}
return Me || Ue;
}
var ne = new M(B), le = B.cue, fe = A(le), se = [];
if (le.snapToLines) {
var K;
switch (le.vertical) {
case "":
se = ["+y", "-y"], K = "height";
break;
case "rl":
se = ["+x", "-x"], K = "width";
break;
case "lr":
se = ["-x", "+x"], K = "width";
break;
}
var J = ne.lineHeight, ie = J * Math.round(fe), Z = j[K] + J, re = se[0];
Math.abs(ie) > Z && (ie = ie < 0 ? -1 : 1, ie *= Math.ceil(Z / J) * J), fe < 0 && (ie += le.vertical === "" ? j.height : j.width, se = se.reverse()), ne.move(re, ie);
} else {
var me = ne.lineHeight / j.height * 100;
switch (le.lineAlign) {
case "center":
fe -= me / 2;
break;
case "end":
fe -= me;
break;
}
switch (le.vertical) {
case "":
B.applyStyles({
top: B.formatStyle(fe, "%")
});
break;
case "rl":
B.applyStyles({
left: B.formatStyle(fe, "%")
});
break;
case "lr":
B.applyStyles({
right: B.formatStyle(fe, "%")
});
break;
}
se = ["+y", "-x", "+x", "-y"], ne = new M(B);
}
var _e = z(ne, se);
B.move(_e.toCSSCompatValues(j));
}
function O() {
}
O.StringDecoder = function() {
return {
decode: function(b) {
if (!b)
return "";
if (typeof b != "string")
throw new Error("Error - expected string data.");
return decodeURIComponent(encodeURIComponent(b));
}
};
}, O.convertCueToDOMTree = function(b, B) {
return !b || !B ? null : E(b, B);
};
var w = 0.05, C = "sans-serif", D = "1.5%";
return O.processCues = function(b, B, j) {
if (!b || !B || !j)
return null;
for (; j.firstChild; )
j.removeChild(j.firstChild);
var U = b.document.createElement("div");
U.style.position = "absolute", U.style.left = "0", U.style.right = "0", U.style.top = "0", U.style.bottom = "0", U.style.margin = D, j.appendChild(U);
function z(J) {
for (var ie = 0; ie < J.length; ie++)
if (J[ie].hasBeenReset || !J[ie].displayState)
return !0;
return !1;
}
if (!z(B)) {
for (var ne = 0; ne < B.length; ne++)
U.appendChild(B[ne].displayState);
return;
}
var le = [], fe = M.getSimpleBoxPosition(U), se = Math.round(fe.height * w * 100) / 100, K = {
font: se + "px " + C
};
(function() {
for (var J, ie, Z = 0; Z < B.length; Z++)
ie = B[Z], J = new L(b, ie, K), U.appendChild(J.div), G(b, J, fe, le), ie.displayState = J.div, le.push(M.getSimpleBoxPosition(J));
})();
}, O.Parser = function(b, B, j) {
j || (j = B, B = {}), B || (B = {}), this.window = b, this.vttjs = B, this.state = "INITIAL", this.buffer = "", this.decoder = j || new TextDecoder("utf8"), this.regionList = [];
}, O.Parser.prototype = {
// If the error is a ParsingError then report it to the consumer if
// possible. If it's not a ParsingError then throw it like normal.
reportOrThrowError: function(b) {
if (b instanceof t)
this.onparsingerror && this.onparsingerror(b);
else
throw b;
},
parse: function(b) {
var B = this;
b && (B.buffer += B.decoder.decode(b, { stream: !0 }));
function j() {
for (var J = B.buffer, ie = 0; ie < J.length && J[ie] !== "\r" && J[ie] !== `
`; )
++ie;
var Z = J.substr(0, ie);
return J[ie] === "\r" && ++ie, J[ie] === `
` && ++ie, B.buffer = J.substr(ie), Z;
}
function U(J) {
var ie = new s();
if (a(J, function(re, me) {
switch (re) {
case "id":
ie.set(re, me);
break;
case "width":
ie.percent(re, me);
break;
case "lines":
ie.integer(re, me);
break;
case "regionanchor":
case "viewportanchor":
var _e = me.split(",");
if (_e.length !== 2)
break;
var Se = new s();
if (Se.percent("x", _e[0]), Se.percent("y", _e[1]), !Se.has("x") || !Se.has("y"))
break;
ie.set(re + "X", Se.get("x")), ie.set(re + "Y", Se.get("y"));
break;
case "scroll":
ie.alt(re, me, ["up"]);
break;
}
}, /=/, /\s/), ie.has("id")) {
var Z = new (B.vttjs.VTTRegion || B.window.VTTRegion)();
Z.width = ie.get("width", 100), Z.lines = ie.get("lines", 3), Z.regionAnchorX = ie.get("regionanchorX", 0), Z.regionAnchorY = ie.get("regionanchorY", 100), Z.viewportAnchorX = ie.get("viewportanchorX", 0), Z.viewportAnchorY = ie.get("viewportanchorY", 100), Z.scroll = ie.get("scroll", ""), B.onregion && B.onregion(Z), B.regionList.push({
id: ie.get("id"),
region: Z
});
}
}
function z(J) {
var ie = new s();
a(J, function(Z, re) {
switch (Z) {
case "MPEGT":
ie.integer(Z + "S", re);
break;
case "LOCA":
ie.set(Z + "L", r(re));
break;
}
}, /[^\d]:/, /,/), B.ontimestampmap && B.ontimestampmap({
MPEGTS: ie.get("MPEGTS"),
LOCAL: ie.get("LOCAL")
});
}
function ne(J) {
J.match(/X-TIMESTAMP-MAP/) ? a(J, function(ie, Z) {
switch (ie) {
case "X-TIMESTAMP-MAP":
z(Z);
break;
}
}, /=/) : a(J, function(ie, Z) {
switch (ie) {
case "Region":
U(Z);
break;
}
}, /:/);
}
try {
var le;
if (B.state === "INITIAL") {
if (!/\r\n|\n/.test(B.buffer))
return this;
le = j();
var fe = le.match(/^WEBVTT([ \t].*)?$/);
if (!fe || !fe[0])
throw new t(t.Errors.BadSignature);
B.state = "HEADER";
}
for (var se = !1; B.buffer; ) {
if (!/\r\n|\n/.test(B.buffer))
return this;
switch (se ? se = !1 : le = j(), B.state) {
case "HEADER":
/:/.test(le) ? ne(le) : le || (B.state = "ID");
continue;
case "NOTE":
le || (B.state = "ID");
continue;
case "ID":
if (/^NOTE($|[ \t])/.test(le)) {
B.state = "NOTE";
break;
}
if (!le)
continue;
B.cue = new (B.vttjs.VTTCue || B.window.VTTCue)(0, 0, "");
try {
B.cue.align = "center";
} catch {
B.cue.align = "middle";
}
if (B.state = "CUE", le.indexOf("-->") === -1) {
B.cue.id = le;
continue;
}
// Process line as start of a cue.
/*falls through*/
case "CUE":
try {
l(le, B.cue, B.regionList);
} catch (J) {
B.reportOrThrowError(J), B.cue = null, B.state = "BADCUE";
continue;
}
B.state = "CUETEXT";
continue;
case "CUETEXT":
var K = le.indexOf("-->") !== -1;
if (!le || K && (se = !0)) {
B.oncue && B.oncue(B.cue), B.cue = null, B.state = "ID";
continue;
}
B.cue.text && (B.cue.text += `
`), B.cue.text += le.replace(/\u2028/g, `
`).replace(/u2029/g, `
`);
continue;
case "BADCUE":
le || (B.state = "ID");
continue;
}
}
} catch (J) {
B.reportOrThrowError(J), B.state === "CUETEXT" && B.cue && B.oncue && B.oncue(B.cue), B.cue = null, B.state = B.state === "INITIAL" ? "BADWEBVTT" : "BADCUE";
}
return this;
},
flush: function() {
var b = this;
try {
if (b.buffer += b.decoder.decode(), (b.cue || b.state === "HEADER") && (b.buffer += `
`, b.parse()), b.state === "INITIAL")
throw new t(t.Errors.BadSignature);
} catch (B) {
b.reportOrThrowError(B);
}
return b.onflush && b.onflush(), this;
}
}, vtt$1 = O, vtt$1;
}
var vttcue, hasRequiredVttcue;
function requireVttcue() {
if (hasRequiredVttcue) return vttcue;
hasRequiredVttcue = 1;
var n = "auto", e = {
"": 1,
lr: 1,
rl: 1
}, t = {
start: 1,
center: 1,
end: 1,
left: 1,
right: 1,
auto: 1,
"line-left": 1,
"line-right": 1
};
function r(l) {
if (typeof l != "string")
return !1;
var u = e[l.toLowerCase()];
return u ? l.toLowerCase() : !1;
}
function s(l) {
if (typeof l != "string")
return !1;
var u = t[l.toLowerCase()];
return u ? l.toLowerCase() : !1;
}
function a(l, u, c) {
this.hasBeenReset = !1;
var d = "", p = !1, f = l, E = u, m = c, S = null, v = "", A = !0, R = "auto", L = "start", M = "auto", G = "auto", O = 100, w = "center";
Object.defineProperties(this, {
id: {
enumerable: !0,
get: function() {
return d;
},
set: function(C) {
d = "" + C;
}
},
pauseOnExit: {
enumerable: !0,
get: function() {
return p;
},
set: function(C) {
p = !!C;
}
},
startTime: {
enumerable: !0,
get: function() {
return f;
},
set: function(C) {
if (typeof C != "number")
throw new TypeError("Start time must be set to a number.");
f = C, this.hasBeenReset = !0;
}
},
endTime: {
enumerable: !0,
get: function() {
return E;
},
set: function(C) {
if (typeof C != "number")
throw new TypeError("End time must be set to a number.");
E = C, this.hasBeenReset = !0;
}
},
text: {
enumerable: !0,
get: function() {
return m;
},
set: function(C) {
m = "" + C, this.hasBeenReset = !0;
}
},
region: {
enumerable: !0,
get: function() {
return S;
},
set: function(C) {
S = C, this.hasBeenReset = !0;
}
},
vertical: {
enumerable: !0,
get: function() {
return v;
},
set: function(C) {
var D = r(C);
if (D === !1)
throw new SyntaxError("Vertical: an invalid or illegal direction string was specified.");
v = D, this.hasBeenReset = !0;
}
},
snapToLines: {
enumerable: !0,
get: function() {
return A;
},
set: function(C) {
A = !!C, this.hasBeenReset = !0;
}
},
line: {
enumerable: !0,
get: function() {
return R;
},
set: function(C) {
if (typeof C != "number" && C !== n)
throw new SyntaxError("Line: an invalid number or illegal string was specified.");
R = C, this.hasBeenReset = !0;
}
},
lineAlign: {
enumerable: !0,
get: function() {
return L;
},
set: function(C) {
var D = s(C);
D ? (L = D, this.hasBeenReset = !0) : console.warn("lineAlign: an invalid or illegal string was specified.");
}
},
position: {
enumerable: !0,
get: function() {
return M;
},
set: function(C) {
if (C < 0 || C > 100)
throw new Error("Position must be between 0 and 100.");
M = C, this.hasBeenReset = !0;
}
},
positionAlign: {
enumerable: !0,
get: function() {
return G;
},
set: function(C) {
var D = s(C);
D ? (G = D, this.hasBeenReset = !0) : console.warn("positionAlign: an invalid or illegal string was specified.");
}
},
size: {
enumerable: !0,
get: function() {
return O;
},
set: function(C) {
if (C < 0 || C > 100)
throw new Error("Size must be between 0 and 100.");
O = C, this.hasBeenReset = !0;
}
},
align: {
enumerable: !0,
get: function() {
return w;
},
set: function(C) {
var D = s(C);
if (!D)
throw new SyntaxError("align: an invalid or illegal alignment string was specified.");
w = D, this.hasBeenReset = !0;
}
}
}), this.displayState = void 0;
}
return a.prototype.getCueAsHTML = function() {
return WebVTT.convertCueToDOMTree(window, this.text);
}, vttcue = a, vttcue;
}
var vttregion, hasRequiredVttregion;
function requireVttregion() {
if (hasRequiredVttregion) return vttregion;
hasRequiredVttregion = 1;
var n = {
"": !0,
up: !0
};
function e(s) {
if (typeof s != "string")
return !1;
var a = n[s.toLowerCase()];
return a ? s.toLowerCase() : !1;
}
function t(s) {
return typeof s == "number" && s >= 0 && s <= 100;
}
function r() {
var s = 100, a = 3, l = 0, u = 100, c = 0, d = 100, p = "";
Object.defineProperties(this, {
width: {
enumerable: !0,
get: function() {
return s;
},
set: function(f) {
if (!t(f))
throw new Error("Width must be between 0 and 100.");
s = f;
}
},
lines: {
enumerable: !0,
get: function() {
return a;
},
set: function(f) {
if (typeof f != "number")
throw new TypeError("Lines must be set to a number.");
a = f;
}
},
regionAnchorY: {
enumerable: !0,
get: function() {
return u;
},
set: function(f) {
if (!t(f))
throw new Error("RegionAnchorX must be between 0 and 100.");
u = f;
}
},
regionAnchorX: {
enumerable: !0,
get: function() {
return l;
},
set: function(f) {
if (!t(f))
throw new Error("RegionAnchorY must be between 0 and 100.");
l = f;
}
},
viewportAnchorY: {
enumerable: !0,
get: function() {
return d;
},
set: function(f) {
if (!t(f))
throw new Error("ViewportAnchorY must be between 0 and 100.");
d = f;
}
},
viewportAnchorX: {
enumerable: !0,
get: function() {
return c;
},
set: function(f) {
if (!t(f))
throw new Error("ViewportAnchorX must be between 0 and 100.");
c = f;
}
},
scroll: {
enumerable: !0,
get: function() {
return p;
},
set: function(f) {
var E = e(f);
E === !1 ? console.warn("Scroll: an invalid or illegal string was specified.") : p = E;
}
}
});
}
return vttregion = r, vttregion;
}
var hasRequiredBrowserIndex;
function requireBrowserIndex() {
if (hasRequiredBrowserIndex) return browserIndex.exports;
hasRequiredBrowserIndex = 1;
var n = requireWindow(), e = browserIndex.exports = {
WebVTT: requireVtt(),
VTTCue: requireVttcue(),
VTTRegion: requireVttregion()
};
n.vttjs = e, n.WebVTT = e.WebVTT;
var t = e.VTTCue, r = e.VTTRegion, s = n.VTTCue, a = n.VTTRegion;
return e.shim = function() {
n.VTTCue = t, n.VTTRegion = r;
}, e.restore = function() {
n.VTTCue = s, n.VTTRegion = a;
}, n.VTTCue || e.shim(), browserIndex.exports;
}
var browserIndexExports = requireBrowserIndex();
const vtt = /* @__PURE__ */ getDefaultExportFromCjs(browserIndexExports);
function _extends() {
return _extends = Object.assign ? Object.assign.bind() : function(n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}, _extends.apply(null, arguments);
}
var DEFAULT_LOCATION = "https://example.com", resolveUrl$1 = function(e, t) {
if (/^[a-z]+:/i.test(t))
return t;
/^data:/.test(e) && (e = window$1.location && window$1.location.href || "");
var r = /^\/\//.test(e), s = !window$1.location && !/\/\//i.test(e);
e = new window$1.URL(e, window$1.location || DEFAULT_LOCATION);
var a = new URL(t, e);
return s ? a.href.slice(DEFAULT_LOCATION.length) : r ? a.href.slice(a.protocol.length) : a.href;
}, Stream = /* @__PURE__ */ (function() {
function n(