UNPKG

light-upload

Version:

The most powerful lightweight file upload component. Based on JS worker thread technology, it supports multi-threaded file uploads, uploads of files of any size, resumable uploads, and concurrent uploads. File uploads do not block the UI main thread. Note

1,369 lines 482 kB
import { jsx as X, Fragment as Fr, jsxs as ve } from "react/jsx-runtime"; import * as f from "react"; import dl, { useMemo as st, useRef as Ge, useReducer as ul, useEffect as tt, useCallback as ye, forwardRef as Sn, useImperativeHandle as zr, Fragment as pl, createElement as fi, useLayoutEffect as fl, useState as Ie } from "react"; import * as Jr from "react-dom"; import ml from "react-dom"; function hl(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var mi = { exports: {} }, Mt = { exports: {} }, re = {}; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ro; function bl() { if (ro) return re; ro = 1; var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, i = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, r = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, u = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, b = e ? Symbol.for("react.memo") : 60115, h = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, g = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, G = e ? Symbol.for("react.scope") : 60119; function Z(y) { if (typeof y == "object" && y !== null) { var N = y.$$typeof; switch (N) { case t: switch (y = y.type, y) { case l: case c: case i: case r: case o: case u: return y; default: switch (y = y && y.$$typeof, y) { case s: case d: case h: case b: case a: return y; default: return N; } } case n: return N; } } } function R(y) { return Z(y) === c; } return re.AsyncMode = l, re.ConcurrentMode = c, re.ContextConsumer = s, re.ContextProvider = a, re.Element = t, re.ForwardRef = d, re.Fragment = i, re.Lazy = h, re.Memo = b, re.Portal = n, re.Profiler = r, re.StrictMode = o, re.Suspense = u, re.isAsyncMode = function(y) { return R(y) || Z(y) === l; }, re.isConcurrentMode = R, re.isContextConsumer = function(y) { return Z(y) === s; }, re.isContextProvider = function(y) { return Z(y) === a; }, re.isElement = function(y) { return typeof y == "object" && y !== null && y.$$typeof === t; }, re.isForwardRef = function(y) { return Z(y) === d; }, re.isFragment = function(y) { return Z(y) === i; }, re.isLazy = function(y) { return Z(y) === h; }, re.isMemo = function(y) { return Z(y) === b; }, re.isPortal = function(y) { return Z(y) === n; }, re.isProfiler = function(y) { return Z(y) === r; }, re.isStrictMode = function(y) { return Z(y) === o; }, re.isSuspense = function(y) { return Z(y) === u; }, re.isValidElementType = function(y) { return typeof y == "string" || typeof y == "function" || y === i || y === c || y === r || y === o || y === u || y === p || typeof y == "object" && y !== null && (y.$$typeof === h || y.$$typeof === b || y.$$typeof === a || y.$$typeof === s || y.$$typeof === d || y.$$typeof === g || y.$$typeof === v || y.$$typeof === G || y.$$typeof === m); }, re.typeOf = Z, re; } var ae = {}; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ao; function gl() { return ao || (ao = 1, process.env.NODE_ENV !== "production" && function() { var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, i = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, r = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, l = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, u = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, b = e ? Symbol.for("react.memo") : 60115, h = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, g = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, G = e ? Symbol.for("react.scope") : 60119; function Z(w) { return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. w === i || w === c || w === r || w === o || w === u || w === p || typeof w == "object" && w !== null && (w.$$typeof === h || w.$$typeof === b || w.$$typeof === a || w.$$typeof === s || w.$$typeof === d || w.$$typeof === g || w.$$typeof === v || w.$$typeof === G || w.$$typeof === m); } function R(w) { if (typeof w == "object" && w !== null) { var j = w.$$typeof; switch (j) { case t: var ce = w.type; switch (ce) { case l: case c: case i: case r: case o: case u: return ce; default: var ge = ce && ce.$$typeof; switch (ge) { case s: case d: case h: case b: case a: return ge; default: return j; } } case n: return j; } } } var y = l, N = c, W = s, C = a, I = t, F = d, ee = i, Q = h, oe = b, z = n, O = r, U = o, _ = u, V = !1; function J(w) { return V || (V = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), S(w) || R(w) === l; } function S(w) { return R(w) === c; } function k(w) { return R(w) === s; } function H(w) { return R(w) === a; } function Y(w) { return typeof w == "object" && w !== null && w.$$typeof === t; } function T(w) { return R(w) === d; } function $(w) { return R(w) === i; } function M(w) { return R(w) === h; } function E(w) { return R(w) === b; } function q(w) { return R(w) === n; } function te(w) { return R(w) === r; } function D(w) { return R(w) === o; } function se(w) { return R(w) === u; } ae.AsyncMode = y, ae.ConcurrentMode = N, ae.ContextConsumer = W, ae.ContextProvider = C, ae.Element = I, ae.ForwardRef = F, ae.Fragment = ee, ae.Lazy = Q, ae.Memo = oe, ae.Portal = z, ae.Profiler = O, ae.StrictMode = U, ae.Suspense = _, ae.isAsyncMode = J, ae.isConcurrentMode = S, ae.isContextConsumer = k, ae.isContextProvider = H, ae.isElement = Y, ae.isForwardRef = T, ae.isFragment = $, ae.isLazy = M, ae.isMemo = E, ae.isPortal = q, ae.isProfiler = te, ae.isStrictMode = D, ae.isSuspense = se, ae.isValidElementType = Z, ae.typeOf = R; }()), ae; } var so; function Or() { return so || (so = 1, process.env.NODE_ENV === "production" ? Mt.exports = bl() : Mt.exports = gl()), Mt.exports; } /* object-assign (c) Sindre Sorhus @license MIT */ var Mn, lo; function yl() { if (lo) return Mn; lo = 1; var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable; function i(r) { if (r == null) throw new TypeError("Object.assign cannot be called with null or undefined"); return Object(r); } function o() { try { if (!Object.assign) return !1; var r = new String("abc"); if (r[5] = "de", Object.getOwnPropertyNames(r)[0] === "5") return !1; for (var a = {}, s = 0; s < 10; s++) a["_" + String.fromCharCode(s)] = s; var l = Object.getOwnPropertyNames(a).map(function(d) { return a[d]; }); if (l.join("") !== "0123456789") return !1; var c = {}; return "abcdefghijklmnopqrst".split("").forEach(function(d) { c[d] = d; }), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst"; } catch { return !1; } } return Mn = o() ? Object.assign : function(r, a) { for (var s, l = i(r), c, d = 1; d < arguments.length; d++) { s = Object(arguments[d]); for (var u in s) t.call(s, u) && (l[u] = s[u]); if (e) { c = e(s); for (var p = 0; p < c.length; p++) n.call(s, c[p]) && (l[c[p]] = s[c[p]]); } } return l; }, Mn; } var jn, co; function Ki() { if (co) return jn; co = 1; var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; return jn = e, jn; } var Un, uo; function Hr() { return uo || (uo = 1, Un = Function.call.bind(Object.prototype.hasOwnProperty)), Un; } var An, po; function vl() { if (po) return An; po = 1; var e = function() { }; if (process.env.NODE_ENV !== "production") { var t = Ki(), n = {}, i = Hr(); e = function(r) { var a = "Warning: " + r; typeof console < "u" && console.error(a); try { throw new Error(a); } catch { } }; } function o(r, a, s, l, c) { if (process.env.NODE_ENV !== "production") { for (var d in r) if (i(r, d)) { var u; try { if (typeof r[d] != "function") { var p = Error( (l || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof r[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." ); throw p.name = "Invariant Violation", p; } u = r[d](a, d, l, s, null, t); } catch (h) { u = h; } if (u && !(u instanceof Error) && e( (l || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof u + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." ), u instanceof Error && !(u.message in n)) { n[u.message] = !0; var b = c ? c() : ""; e( "Failed " + s + " type: " + u.message + (b ?? "") ); } } } } return o.resetWarningCache = function() { process.env.NODE_ENV !== "production" && (n = {}); }, An = o, An; } var Dn, fo; function xl() { if (fo) return Dn; fo = 1; var e = Or(), t = yl(), n = Ki(), i = Hr(), o = vl(), r = function() { }; process.env.NODE_ENV !== "production" && (r = function(s) { var l = "Warning: " + s; typeof console < "u" && console.error(l); try { throw new Error(l); } catch { } }); function a() { return null; } return Dn = function(s, l) { var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; function u(S) { var k = S && (c && S[c] || S[d]); if (typeof k == "function") return k; } var p = "<<anonymous>>", b = { array: v("array"), bigint: v("bigint"), bool: v("boolean"), func: v("function"), number: v("number"), object: v("object"), string: v("string"), symbol: v("symbol"), any: G(), arrayOf: Z, element: R(), elementType: y(), instanceOf: N, node: F(), objectOf: C, oneOf: W, oneOfType: I, shape: Q, exact: oe }; function h(S, k) { return S === k ? S !== 0 || 1 / S === 1 / k : S !== S && k !== k; } function m(S, k) { this.message = S, this.data = k && typeof k == "object" ? k : {}, this.stack = ""; } m.prototype = Error.prototype; function g(S) { if (process.env.NODE_ENV !== "production") var k = {}, H = 0; function Y($, M, E, q, te, D, se) { if (q = q || p, D = D || E, se !== n) { if (l) { var w = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types" ); throw w.name = "Invariant Violation", w; } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { var j = q + ":" + E; !k[j] && // Avoid spamming the console because they are often not actionable except for lib authors H < 3 && (r( "You are manually calling a React.PropTypes validation function for the `" + D + "` prop on `" + q + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details." ), k[j] = !0, H++); } } return M[E] == null ? $ ? M[E] === null ? new m("The " + te + " `" + D + "` is marked as required " + ("in `" + q + "`, but its value is `null`.")) : new m("The " + te + " `" + D + "` is marked as required in " + ("`" + q + "`, but its value is `undefined`.")) : null : S(M, E, q, te, D); } var T = Y.bind(null, !1); return T.isRequired = Y.bind(null, !0), T; } function v(S) { function k(H, Y, T, $, M, E) { var q = H[Y], te = U(q); if (te !== S) { var D = _(q); return new m( "Invalid " + $ + " `" + M + "` of type " + ("`" + D + "` supplied to `" + T + "`, expected ") + ("`" + S + "`."), { expectedType: S } ); } return null; } return g(k); } function G() { return g(a); } function Z(S) { function k(H, Y, T, $, M) { if (typeof S != "function") return new m("Property `" + M + "` of component `" + T + "` has invalid PropType notation inside arrayOf."); var E = H[Y]; if (!Array.isArray(E)) { var q = U(E); return new m("Invalid " + $ + " `" + M + "` of type " + ("`" + q + "` supplied to `" + T + "`, expected an array.")); } for (var te = 0; te < E.length; te++) { var D = S(E, te, T, $, M + "[" + te + "]", n); if (D instanceof Error) return D; } return null; } return g(k); } function R() { function S(k, H, Y, T, $) { var M = k[H]; if (!s(M)) { var E = U(M); return new m("Invalid " + T + " `" + $ + "` of type " + ("`" + E + "` supplied to `" + Y + "`, expected a single ReactElement.")); } return null; } return g(S); } function y() { function S(k, H, Y, T, $) { var M = k[H]; if (!e.isValidElementType(M)) { var E = U(M); return new m("Invalid " + T + " `" + $ + "` of type " + ("`" + E + "` supplied to `" + Y + "`, expected a single ReactElement type.")); } return null; } return g(S); } function N(S) { function k(H, Y, T, $, M) { if (!(H[Y] instanceof S)) { var E = S.name || p, q = J(H[Y]); return new m("Invalid " + $ + " `" + M + "` of type " + ("`" + q + "` supplied to `" + T + "`, expected ") + ("instance of `" + E + "`.")); } return null; } return g(k); } function W(S) { if (!Array.isArray(S)) return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? r( "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])." ) : r("Invalid argument supplied to oneOf, expected an array.")), a; function k(H, Y, T, $, M) { for (var E = H[Y], q = 0; q < S.length; q++) if (h(E, S[q])) return null; var te = JSON.stringify(S, function(se, w) { var j = _(w); return j === "symbol" ? String(w) : w; }); return new m("Invalid " + $ + " `" + M + "` of value `" + String(E) + "` " + ("supplied to `" + T + "`, expected one of " + te + ".")); } return g(k); } function C(S) { function k(H, Y, T, $, M) { if (typeof S != "function") return new m("Property `" + M + "` of component `" + T + "` has invalid PropType notation inside objectOf."); var E = H[Y], q = U(E); if (q !== "object") return new m("Invalid " + $ + " `" + M + "` of type " + ("`" + q + "` supplied to `" + T + "`, expected an object.")); for (var te in E) if (i(E, te)) { var D = S(E, te, T, $, M + "." + te, n); if (D instanceof Error) return D; } return null; } return g(k); } function I(S) { if (!Array.isArray(S)) return process.env.NODE_ENV !== "production" && r("Invalid argument supplied to oneOfType, expected an instance of array."), a; for (var k = 0; k < S.length; k++) { var H = S[k]; if (typeof H != "function") return r( "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + V(H) + " at index " + k + "." ), a; } function Y(T, $, M, E, q) { for (var te = [], D = 0; D < S.length; D++) { var se = S[D], w = se(T, $, M, E, q, n); if (w == null) return null; w.data && i(w.data, "expectedType") && te.push(w.data.expectedType); } var j = te.length > 0 ? ", expected one of type [" + te.join(", ") + "]" : ""; return new m("Invalid " + E + " `" + q + "` supplied to " + ("`" + M + "`" + j + ".")); } return g(Y); } function F() { function S(k, H, Y, T, $) { return z(k[H]) ? null : new m("Invalid " + T + " `" + $ + "` supplied to " + ("`" + Y + "`, expected a ReactNode.")); } return g(S); } function ee(S, k, H, Y, T) { return new m( (S || "React class") + ": " + k + " type `" + H + "." + Y + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + T + "`." ); } function Q(S) { function k(H, Y, T, $, M) { var E = H[Y], q = U(E); if (q !== "object") return new m("Invalid " + $ + " `" + M + "` of type `" + q + "` " + ("supplied to `" + T + "`, expected `object`.")); for (var te in S) { var D = S[te]; if (typeof D != "function") return ee(T, $, M, te, _(D)); var se = D(E, te, T, $, M + "." + te, n); if (se) return se; } return null; } return g(k); } function oe(S) { function k(H, Y, T, $, M) { var E = H[Y], q = U(E); if (q !== "object") return new m("Invalid " + $ + " `" + M + "` of type `" + q + "` " + ("supplied to `" + T + "`, expected `object`.")); var te = t({}, H[Y], S); for (var D in te) { var se = S[D]; if (i(S, D) && typeof se != "function") return ee(T, $, M, D, _(se)); if (!se) return new m( "Invalid " + $ + " `" + M + "` key `" + D + "` supplied to `" + T + "`.\nBad object: " + JSON.stringify(H[Y], null, " ") + ` Valid keys: ` + JSON.stringify(Object.keys(S), null, " ") ); var w = se(E, D, T, $, M + "." + D, n); if (w) return w; } return null; } return g(k); } function z(S) { switch (typeof S) { case "number": case "string": case "undefined": return !0; case "boolean": return !S; case "object": if (Array.isArray(S)) return S.every(z); if (S === null || s(S)) return !0; var k = u(S); if (k) { var H = k.call(S), Y; if (k !== S.entries) { for (; !(Y = H.next()).done; ) if (!z(Y.value)) return !1; } else for (; !(Y = H.next()).done; ) { var T = Y.value; if (T && !z(T[1])) return !1; } } else return !1; return !0; default: return !1; } } function O(S, k) { return S === "symbol" ? !0 : k ? k["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && k instanceof Symbol : !1; } function U(S) { var k = typeof S; return Array.isArray(S) ? "array" : S instanceof RegExp ? "object" : O(k, S) ? "symbol" : k; } function _(S) { if (typeof S > "u" || S === null) return "" + S; var k = U(S); if (k === "object") { if (S instanceof Date) return "date"; if (S instanceof RegExp) return "regexp"; } return k; } function V(S) { var k = _(S); switch (k) { case "array": case "object": return "an " + k; case "boolean": case "date": case "regexp": return "a " + k; default: return k; } } function J(S) { return !S.constructor || !S.constructor.name ? p : S.constructor.name; } return b.checkPropTypes = o, b.resetWarningCache = o.resetWarningCache, b.PropTypes = b, b; }, Dn; } var Bn, mo; function Zl() { if (mo) return Bn; mo = 1; var e = Ki(); function t() { } function n() { } return n.resetWarningCache = t, Bn = function() { function i(a, s, l, c, d, u) { if (u !== e) { var p = new Error( "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types" ); throw p.name = "Invariant Violation", p; } } i.isRequired = i; function o() { return i; } var r = { array: i, bigint: i, bool: i, func: i, number: i, object: i, string: i, symbol: i, any: i, arrayOf: o, element: i, elementType: i, instanceOf: o, node: i, objectOf: o, oneOf: o, oneOfType: o, shape: o, exact: o, checkPropTypes: n, resetWarningCache: t }; return r.PropTypes = r, r; }, Bn; } if (process.env.NODE_ENV !== "production") { var wl = Or(), Sl = !0; mi.exports = xl()(wl.isElement, Sl); } else mi.exports = Zl()(); var Rl = mi.exports; const le = /* @__PURE__ */ hl(Rl); var Te = function() { return Te = Object.assign || function(t) { for (var n, i = 1, o = arguments.length; i < o; i++) { n = arguments[i]; for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (t[r] = n[r]); } return t; }, Te.apply(this, arguments); }; function Mr(e, t) { var n = {}; for (var i in e) Object.prototype.hasOwnProperty.call(e, i) && t.indexOf(i) < 0 && (n[i] = e[i]); if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var o = 0, i = Object.getOwnPropertySymbols(e); o < i.length; o++) t.indexOf(i[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, i[o]) && (n[i[o]] = e[i[o]]); return n; } function rt(e, t, n, i) { function o(r) { return r instanceof n ? r : new n(function(a) { a(r); }); } return new (n || (n = Promise))(function(r, a) { function s(d) { try { c(i.next(d)); } catch (u) { a(u); } } function l(d) { try { c(i.throw(d)); } catch (u) { a(u); } } function c(d) { d.done ? r(d.value) : o(d.value).then(s, l); } c((i = i.apply(e, t || [])).next()); }); } function Gl(e, t, n) { if (n || arguments.length === 2) for (var i = 0, o = t.length, r; i < o; i++) (r || !(i in t)) && (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]); return e.concat(r || Array.prototype.slice.call(t)); } const Cl = /* @__PURE__ */ new Map([ // https://github.com/guzzle/psr7/blob/2d9260799e713f1c475d3c5fdc3d6561ff7441b2/src/MimeType.php ["1km", "application/vnd.1000minds.decision-model+xml"], ["3dml", "text/vnd.in3d.3dml"], ["3ds", "image/x-3ds"], ["3g2", "video/3gpp2"], ["3gp", "video/3gp"], ["3gpp", "video/3gpp"], ["3mf", "model/3mf"], ["7z", "application/x-7z-compressed"], ["7zip", "application/x-7z-compressed"], ["123", "application/vnd.lotus-1-2-3"], ["aab", "application/x-authorware-bin"], ["aac", "audio/x-acc"], ["aam", "application/x-authorware-map"], ["aas", "application/x-authorware-seg"], ["abw", "application/x-abiword"], ["ac", "application/vnd.nokia.n-gage.ac+xml"], ["ac3", "audio/ac3"], ["acc", "application/vnd.americandynamics.acc"], ["ace", "application/x-ace-compressed"], ["acu", "application/vnd.acucobol"], ["acutc", "application/vnd.acucorp"], ["adp", "audio/adpcm"], ["aep", "application/vnd.audiograph"], ["afm", "application/x-font-type1"], ["afp", "application/vnd.ibm.modcap"], ["ahead", "application/vnd.ahead.space"], ["ai", "application/pdf"], ["aif", "audio/x-aiff"], ["aifc", "audio/x-aiff"], ["aiff", "audio/x-aiff"], ["air", "application/vnd.adobe.air-application-installer-package+zip"], ["ait", "application/vnd.dvb.ait"], ["ami", "application/vnd.amiga.ami"], ["amr", "audio/amr"], ["apk", "application/vnd.android.package-archive"], ["apng", "image/apng"], ["appcache", "text/cache-manifest"], ["application", "application/x-ms-application"], ["apr", "application/vnd.lotus-approach"], ["arc", "application/x-freearc"], ["arj", "application/x-arj"], ["asc", "application/pgp-signature"], ["asf", "video/x-ms-asf"], ["asm", "text/x-asm"], ["aso", "application/vnd.accpac.simply.aso"], ["asx", "video/x-ms-asf"], ["atc", "application/vnd.acucorp"], ["atom", "application/atom+xml"], ["atomcat", "application/atomcat+xml"], ["atomdeleted", "application/atomdeleted+xml"], ["atomsvc", "application/atomsvc+xml"], ["atx", "application/vnd.antix.game-component"], ["au", "audio/x-au"], ["avi", "video/x-msvideo"], ["avif", "image/avif"], ["aw", "application/applixware"], ["azf", "application/vnd.airzip.filesecure.azf"], ["azs", "application/vnd.airzip.filesecure.azs"], ["azv", "image/vnd.airzip.accelerator.azv"], ["azw", "application/vnd.amazon.ebook"], ["b16", "image/vnd.pco.b16"], ["bat", "application/x-msdownload"], ["bcpio", "application/x-bcpio"], ["bdf", "application/x-font-bdf"], ["bdm", "application/vnd.syncml.dm+wbxml"], ["bdoc", "application/x-bdoc"], ["bed", "application/vnd.realvnc.bed"], ["bh2", "application/vnd.fujitsu.oasysprs"], ["bin", "application/octet-stream"], ["blb", "application/x-blorb"], ["blorb", "application/x-blorb"], ["bmi", "application/vnd.bmi"], ["bmml", "application/vnd.balsamiq.bmml+xml"], ["bmp", "image/bmp"], ["book", "application/vnd.framemaker"], ["box", "application/vnd.previewsystems.box"], ["boz", "application/x-bzip2"], ["bpk", "application/octet-stream"], ["bpmn", "application/octet-stream"], ["bsp", "model/vnd.valve.source.compiled-map"], ["btif", "image/prs.btif"], ["buffer", "application/octet-stream"], ["bz", "application/x-bzip"], ["bz2", "application/x-bzip2"], ["c", "text/x-c"], ["c4d", "application/vnd.clonk.c4group"], ["c4f", "application/vnd.clonk.c4group"], ["c4g", "application/vnd.clonk.c4group"], ["c4p", "application/vnd.clonk.c4group"], ["c4u", "application/vnd.clonk.c4group"], ["c11amc", "application/vnd.cluetrust.cartomobile-config"], ["c11amz", "application/vnd.cluetrust.cartomobile-config-pkg"], ["cab", "application/vnd.ms-cab-compressed"], ["caf", "audio/x-caf"], ["cap", "application/vnd.tcpdump.pcap"], ["car", "application/vnd.curl.car"], ["cat", "application/vnd.ms-pki.seccat"], ["cb7", "application/x-cbr"], ["cba", "application/x-cbr"], ["cbr", "application/x-cbr"], ["cbt", "application/x-cbr"], ["cbz", "application/x-cbr"], ["cc", "text/x-c"], ["cco", "application/x-cocoa"], ["cct", "application/x-director"], ["ccxml", "application/ccxml+xml"], ["cdbcmsg", "application/vnd.contact.cmsg"], ["cda", "application/x-cdf"], ["cdf", "application/x-netcdf"], ["cdfx", "application/cdfx+xml"], ["cdkey", "application/vnd.mediastation.cdkey"], ["cdmia", "application/cdmi-capability"], ["cdmic", "application/cdmi-container"], ["cdmid", "application/cdmi-domain"], ["cdmio", "application/cdmi-object"], ["cdmiq", "application/cdmi-queue"], ["cdr", "application/cdr"], ["cdx", "chemical/x-cdx"], ["cdxml", "application/vnd.chemdraw+xml"], ["cdy", "application/vnd.cinderella"], ["cer", "application/pkix-cert"], ["cfs", "application/x-cfs-compressed"], ["cgm", "image/cgm"], ["chat", "application/x-chat"], ["chm", "application/vnd.ms-htmlhelp"], ["chrt", "application/vnd.kde.kchart"], ["cif", "chemical/x-cif"], ["cii", "application/vnd.anser-web-certificate-issue-initiation"], ["cil", "application/vnd.ms-artgalry"], ["cjs", "application/node"], ["cla", "application/vnd.claymore"], ["class", "application/octet-stream"], ["clkk", "application/vnd.crick.clicker.keyboard"], ["clkp", "application/vnd.crick.clicker.palette"], ["clkt", "application/vnd.crick.clicker.template"], ["clkw", "application/vnd.crick.clicker.wordbank"], ["clkx", "application/vnd.crick.clicker"], ["clp", "application/x-msclip"], ["cmc", "application/vnd.cosmocaller"], ["cmdf", "chemical/x-cmdf"], ["cml", "chemical/x-cml"], ["cmp", "application/vnd.yellowriver-custom-menu"], ["cmx", "image/x-cmx"], ["cod", "application/vnd.rim.cod"], ["coffee", "text/coffeescript"], ["com", "application/x-msdownload"], ["conf", "text/plain"], ["cpio", "application/x-cpio"], ["cpp", "text/x-c"], ["cpt", "application/mac-compactpro"], ["crd", "application/x-mscardfile"], ["crl", "application/pkix-crl"], ["crt", "application/x-x509-ca-cert"], ["crx", "application/x-chrome-extension"], ["cryptonote", "application/vnd.rig.cryptonote"], ["csh", "application/x-csh"], ["csl", "application/vnd.citationstyles.style+xml"], ["csml", "chemical/x-csml"], ["csp", "application/vnd.commonspace"], ["csr", "application/octet-stream"], ["css", "text/css"], ["cst", "application/x-director"], ["csv", "text/csv"], ["cu", "application/cu-seeme"], ["curl", "text/vnd.curl"], ["cww", "application/prs.cww"], ["cxt", "application/x-director"], ["cxx", "text/x-c"], ["dae", "model/vnd.collada+xml"], ["daf", "application/vnd.mobius.daf"], ["dart", "application/vnd.dart"], ["dataless", "application/vnd.fdsn.seed"], ["davmount", "application/davmount+xml"], ["dbf", "application/vnd.dbf"], ["dbk", "application/docbook+xml"], ["dcr", "application/x-director"], ["dcurl", "text/vnd.curl.dcurl"], ["dd2", "application/vnd.oma.dd2+xml"], ["ddd", "application/vnd.fujixerox.ddd"], ["ddf", "application/vnd.syncml.dmddf+xml"], ["dds", "image/vnd.ms-dds"], ["deb", "application/x-debian-package"], ["def", "text/plain"], ["deploy", "application/octet-stream"], ["der", "application/x-x509-ca-cert"], ["dfac", "application/vnd.dreamfactory"], ["dgc", "application/x-dgc-compressed"], ["dic", "text/x-c"], ["dir", "application/x-director"], ["dis", "application/vnd.mobius.dis"], ["disposition-notification", "message/disposition-notification"], ["dist", "application/octet-stream"], ["distz", "application/octet-stream"], ["djv", "image/vnd.djvu"], ["djvu", "image/vnd.djvu"], ["dll", "application/octet-stream"], ["dmg", "application/x-apple-diskimage"], ["dmn", "application/octet-stream"], ["dmp", "application/vnd.tcpdump.pcap"], ["dms", "application/octet-stream"], ["dna", "application/vnd.dna"], ["doc", "application/msword"], ["docm", "application/vnd.ms-word.template.macroEnabled.12"], ["docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"], ["dot", "application/msword"], ["dotm", "application/vnd.ms-word.template.macroEnabled.12"], ["dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"], ["dp", "application/vnd.osgi.dp"], ["dpg", "application/vnd.dpgraph"], ["dra", "audio/vnd.dra"], ["drle", "image/dicom-rle"], ["dsc", "text/prs.lines.tag"], ["dssc", "application/dssc+der"], ["dtb", "application/x-dtbook+xml"], ["dtd", "application/xml-dtd"], ["dts", "audio/vnd.dts"], ["dtshd", "audio/vnd.dts.hd"], ["dump", "application/octet-stream"], ["dvb", "video/vnd.dvb.file"], ["dvi", "application/x-dvi"], ["dwd", "application/atsc-dwd+xml"], ["dwf", "model/vnd.dwf"], ["dwg", "image/vnd.dwg"], ["dxf", "image/vnd.dxf"], ["dxp", "application/vnd.spotfire.dxp"], ["dxr", "application/x-director"], ["ear", "application/java-archive"], ["ecelp4800", "audio/vnd.nuera.ecelp4800"], ["ecelp7470", "audio/vnd.nuera.ecelp7470"], ["ecelp9600", "audio/vnd.nuera.ecelp9600"], ["ecma", "application/ecmascript"], ["edm", "application/vnd.novadigm.edm"], ["edx", "application/vnd.novadigm.edx"], ["efif", "application/vnd.picsel"], ["ei6", "application/vnd.pg.osasli"], ["elc", "application/octet-stream"], ["emf", "image/emf"], ["eml", "message/rfc822"], ["emma", "application/emma+xml"], ["emotionml", "application/emotionml+xml"], ["emz", "application/x-msmetafile"], ["eol", "audio/vnd.digital-winds"], ["eot", "application/vnd.ms-fontobject"], ["eps", "application/postscript"], ["epub", "application/epub+zip"], ["es", "application/ecmascript"], ["es3", "application/vnd.eszigno3+xml"], ["esa", "application/vnd.osgi.subsystem"], ["esf", "application/vnd.epson.esf"], ["et3", "application/vnd.eszigno3+xml"], ["etx", "text/x-setext"], ["eva", "application/x-eva"], ["evy", "application/x-envoy"], ["exe", "application/octet-stream"], ["exi", "application/exi"], ["exp", "application/express"], ["exr", "image/aces"], ["ext", "application/vnd.novadigm.ext"], ["ez", "application/andrew-inset"], ["ez2", "application/vnd.ezpix-album"], ["ez3", "application/vnd.ezpix-package"], ["f", "text/x-fortran"], ["f4v", "video/mp4"], ["f77", "text/x-fortran"], ["f90", "text/x-fortran"], ["fbs", "image/vnd.fastbidsheet"], ["fcdt", "application/vnd.adobe.formscentral.fcdt"], ["fcs", "application/vnd.isac.fcs"], ["fdf", "application/vnd.fdf"], ["fdt", "application/fdt+xml"], ["fe_launch", "application/vnd.denovo.fcselayout-link"], ["fg5", "application/vnd.fujitsu.oasysgp"], ["fgd", "application/x-director"], ["fh", "image/x-freehand"], ["fh4", "image/x-freehand"], ["fh5", "image/x-freehand"], ["fh7", "image/x-freehand"], ["fhc", "image/x-freehand"], ["fig", "application/x-xfig"], ["fits", "image/fits"], ["flac", "audio/x-flac"], ["fli", "video/x-fli"], ["flo", "application/vnd.micrografx.flo"], ["flv", "video/x-flv"], ["flw", "application/vnd.kde.kivio"], ["flx", "text/vnd.fmi.flexstor"], ["fly", "text/vnd.fly"], ["fm", "application/vnd.framemaker"], ["fnc", "application/vnd.frogans.fnc"], ["fo", "application/vnd.software602.filler.form+xml"], ["for", "text/x-fortran"], ["fpx", "image/vnd.fpx"], ["frame", "application/vnd.framemaker"], ["fsc", "application/vnd.fsc.weblaunch"], ["fst", "image/vnd.fst"], ["ftc", "application/vnd.fluxtime.clip"], ["fti", "application/vnd.anser-web-funds-transfer-initiation"], ["fvt", "video/vnd.fvt"], ["fxp", "application/vnd.adobe.fxp"], ["fxpl", "application/vnd.adobe.fxp"], ["fzs", "application/vnd.fuzzysheet"], ["g2w", "application/vnd.geoplan"], ["g3", "image/g3fax"], ["g3w", "application/vnd.geospace"], ["gac", "application/vnd.groove-account"], ["gam", "application/x-tads"], ["gbr", "application/rpki-ghostbusters"], ["gca", "application/x-gca-compressed"], ["gdl", "model/vnd.gdl"], ["gdoc", "application/vnd.google-apps.document"], ["geo", "application/vnd.dynageo"], ["geojson", "application/geo+json"], ["gex", "application/vnd.geometry-explorer"], ["ggb", "application/vnd.geogebra.file"], ["ggt", "application/vnd.geogebra.tool"], ["ghf", "application/vnd.groove-help"], ["gif", "image/gif"], ["gim", "application/vnd.groove-identity-message"], ["glb", "model/gltf-binary"], ["gltf", "model/gltf+json"], ["gml", "application/gml+xml"], ["gmx", "application/vnd.gmx"], ["gnumeric", "application/x-gnumeric"], ["gpg", "application/gpg-keys"], ["gph", "application/vnd.flographit"], ["gpx", "application/gpx+xml"], ["gqf", "application/vnd.grafeq"], ["gqs", "application/vnd.grafeq"], ["gram", "application/srgs"], ["gramps", "application/x-gramps-xml"], ["gre", "application/vnd.geometry-explorer"], ["grv", "application/vnd.groove-injector"], ["grxml", "application/srgs+xml"], ["gsf", "application/x-font-ghostscript"], ["gsheet", "application/vnd.google-apps.spreadsheet"], ["gslides", "application/vnd.google-apps.presentation"], ["gtar", "application/x-gtar"], ["gtm", "application/vnd.groove-tool-message"], ["gtw", "model/vnd.gtw"], ["gv", "text/vnd.graphviz"], ["gxf", "application/gxf"], ["gxt", "application/vnd.geonext"], ["gz", "application/gzip"], ["gzip", "application/gzip"], ["h", "text/x-c"], ["h261", "video/h261"], ["h263", "video/h263"], ["h264", "video/h264"], ["hal", "application/vnd.hal+xml"], ["hbci", "application/vnd.hbci"], ["hbs", "text/x-handlebars-template"], ["hdd", "application/x-virtualbox-hdd"], ["hdf", "application/x-hdf"], ["heic", "image/heic"], ["heics", "image/heic-sequence"], ["heif", "image/heif"], ["heifs", "image/heif-sequence"], ["hej2", "image/hej2k"], ["held", "application/atsc-held+xml"], ["hh", "text/x-c"], ["hjson", "application/hjson"], ["hlp", "application/winhlp"], ["hpgl", "application/vnd.hp-hpgl"], ["hpid", "application/vnd.hp-hpid"], ["hps", "application/vnd.hp-hps"], ["hqx", "application/mac-binhex40"], ["hsj2", "image/hsj2"], ["htc", "text/x-component"], ["htke", "application/vnd.kenameaapp"], ["htm", "text/html"], ["html", "text/html"], ["hvd", "application/vnd.yamaha.hv-dic"], ["hvp", "application/vnd.yamaha.hv-voice"], ["hvs", "application/vnd.yamaha.hv-script"], ["i2g", "application/vnd.intergeo"], ["icc", "application/vnd.iccprofile"], ["ice", "x-conference/x-cooltalk"], ["icm", "application/vnd.iccprofile"], ["ico", "image/x-icon"], ["ics", "text/calendar"], ["ief", "image/ief"], ["ifb", "text/calendar"], ["ifm", "application/vnd.shana.informed.formdata"], ["iges", "model/iges"], ["igl", "application/vnd.igloader"], ["igm", "application/vnd.insors.igm"], ["igs", "model/iges"], ["igx", "application/vnd.micrografx.igx"], ["iif", "application/vnd.shana.informed.interchange"], ["img", "application/octet-stream"], ["imp", "application/vnd.accpac.simply.imp"], ["ims", "application/vnd.ms-ims"], ["in", "text/plain"], ["ini", "text/plain"], ["ink", "application/inkml+xml"], ["inkml", "application/inkml+xml"], ["install", "application/x-install-instructions"], ["iota", "application/vnd.astraea-software.iota"], ["ipfix", "application/ipfix"], ["ipk", "application/vnd.shana.informed.package"], ["irm", "application/vnd.ibm.rights-management"], ["irp", "application/vnd.irepository.package+xml"], ["iso", "application/x-iso9660-image"], ["itp", "application/vnd.shana.informed.formtemplate"], ["its", "application/its+xml"], ["ivp", "application/vnd.immervision-ivp"], ["ivu", "application/vnd.immervision-ivu"], ["jad", "text/vnd.sun.j2me.app-descriptor"], ["jade", "text/jade"], ["jam", "application/vnd.jam"], ["jar", "application/java-archive"], ["jardiff", "application/x-java-archive-diff"], ["java", "text/x-java-source"], ["jhc", "image/jphc"], ["jisp", "application/vnd.jisp"], ["jls", "image/jls"], ["jlt", "application/vnd.hp-jlyt"], ["jng", "image/x-jng"], ["jnlp", "application/x-java-jnlp-file"], ["joda", "application/vnd.joost.joda-archive"], ["jp2", "image/jp2"], ["jpe", "image/jpeg"], ["jpeg", "image/jpeg"], ["jpf", "image/jpx"], ["jpg", "image/jpeg"], ["jpg2", "image/jp2"], ["jpgm", "video/jpm"], ["jpgv", "video/jpeg"], ["jph", "image/jph"], ["jpm", "video/jpm"], ["jpx", "image/jpx"], ["js", "application/javascript"], ["json", "application/json"], ["json5", "application/json5"], ["jsonld", "application/ld+json"], // https://jsonlines.org/ ["jsonl", "application/jsonl"], ["jsonml", "application/jsonml+json"], ["jsx", "text/jsx"], ["jxr", "image/jxr"], ["jxra", "image/jxra"], ["jxrs", "image/jxrs"], ["jxs", "image/jxs"], ["jxsc", "image/jxsc"], ["jxsi", "image/jxsi"], ["jxss", "image/jxss"], ["kar", "audio/midi"], ["karbon", "application/vnd.kde.karbon"], ["kdb", "application/octet-stream"], ["kdbx", "application/x-keepass2"], ["key", "application/x-iwork-keynote-sffkey"], ["kfo", "application/vnd.kde.kformula"], ["kia", "application/vnd.kidspiration"], ["kml", "application/vnd.google-earth.kml+xml"], ["kmz", "application/vnd.google-earth.kmz"], ["kne", "application/vnd.kinar"], ["knp", "application/vnd.kinar"], ["kon", "application/vnd.kde.kontour"], ["kpr", "application/vnd.kde.kpresenter"], ["kpt", "application/vnd.kde.kpresenter"], ["kpxx", "application/vnd.ds-keypoint"], ["ksp", "application/vnd.kde.kspread"], ["ktr", "application/vnd.kahootz"], ["ktx", "image/ktx"], ["ktx2", "image/ktx2"], ["ktz", "application/vnd.kahootz"], ["kwd", "application/vnd.kde.kword"], ["kwt", "application/vnd.kde.kword"], ["lasxml", "application/vnd.las.las+xml"], ["latex", "application/x-latex"], ["lbd", "application/vnd.llamagraphics.life-balance.desktop"], ["lbe", "application/vnd.llamagraphics.life-balance.exchange+xml"], ["les", "application/vnd.hhe.lesson-player"], ["less", "text/less"], ["lgr", "application/lgr+xml"], ["lha", "application/octet-stream"], ["link66", "application/vnd.route66.link66+xml"], ["list", "text/plain"], ["list3820", "application/vnd.ibm.modcap"], ["listafp", "application/vnd.ibm.modcap"], ["litcoffee", "text/coffeescript"], ["lnk", "application/x-ms-shortcut"], ["log", "text/plain"], ["lostxml", "application/lost+xml"], ["lrf", "application/octet-stream"], ["lrm", "application/vnd.ms-lrm"], ["ltf", "application/vnd.frogans.ltf"], ["lua", "text/x-lua"], ["luac", "application/x-lua-bytecode"], ["lvp", "audio/vnd.lucent.voice"], ["lwp", "application/vnd.lotus-wordpro"], ["lzh", "application/octet-stream"], ["m1v", "video/mpeg"], ["m2a", "audio/mpeg"], ["m2v", "video/mpeg"], ["m3a", "audio/mpeg"], ["m3u", "text/plain"], ["m3u8", "application/vnd.apple.mpegurl"], ["m4a", "audio/x-m4a"], ["m4p", "application/mp4"], ["m4s", "video/iso.segment"], ["m4u", "application/vnd.mpegurl"], ["m4v", "video/x-m4v"], ["m13", "application/x-msmediaview"], ["m14", "application/x-msmediaview"], ["m21", "application/mp21"], ["ma", "application/mathematica"], ["mads", "application/mads+xml"], ["maei", "application/mmt-aei+xml"], ["mag", "application/vnd.ecowin.chart"], ["maker", "application/vnd.framemaker"], ["man", "text/troff"], ["manifest", "text/cache-manifest"], ["map", "application/json"], ["mar", "application/octet-stream"], ["markdown", "text/markdown"], ["mathml", "application/mathml+xml"], ["mb", "application/mathematica"], ["mbk", "application/vnd.mobius.mbk"], ["mbox", "application/mbox"], ["mc1", "application/vnd.medcalcdata"], ["mcd", "application/vnd.mcd"], ["mcurl", "text/vnd.curl.mcurl"], ["md", "text/markdown"], ["mdb", "application/x-msaccess"], ["mdi", "image/vnd.ms-modi"], ["mdx", "text/mdx"], ["me", "text/troff"], ["mesh", "model/mesh"], ["meta4", "application/metalink4+xml"], ["metalink", "application/metalink+xml"], ["mets", "application/mets+xml"], ["mfm", "application/vnd.mfmp"], ["mft", "application/rpki-manifest"], ["mgp", "application/vnd.osgeo.mapguide.package"], ["mgz", "application/vnd.proteus.magazine"], ["mid", "audio/midi"], ["midi", "audio/midi"], ["mie", "application/x-mie"], ["mif", "application/vnd.mif"], ["mime", "message/rfc822"], ["mj2", "video/mj2"], ["mjp2", "video/mj2"], ["mjs", "application/javascript"], ["mk3d", "video/x-matroska"], ["mka", "audio/x-matroska"], ["mkd", "text/x-markdown"], ["mks", "video/x-matroska"], ["mkv", "video/x-matroska"], ["mlp", "application/vnd.dolby.mlp"], ["mmd", "application/vnd.chipnuts.karaoke-mmd"], ["mmf", "application/vnd.smaf"], ["mml", "text/mathml"], ["mmr", "image/vnd.fujixerox.edmics-mmr"], ["mng", "video/x-mng"], ["mny", "application/x-msmoney"], ["mobi", "application/x-mobipocket-ebook"], ["mods", "application/mods+xml"], ["mov", "video/quicktime"], ["movie", "video/x-sgi-movie"], ["mp2", "audio/mpeg"], ["mp2a", "audio/mpeg"], ["mp3", "audio/mpeg"], ["mp4", "video/mp4"], ["mp4a", "audio/mp4"], ["mp4s", "application/mp4"], ["mp4v", "video/mp4"], ["mp21", "application/mp21"], ["mpc", "application/vnd.mophun.certificate"], ["mpd", "application/dash+xml"], ["mpe", "video/mpeg"], ["mpeg", "video/mpeg"], ["mpg", "video/mpeg"], ["mpg4", "video/mp4"], ["mpga", "audio/mpeg"], ["mpkg", "application/vnd.apple.installer+xml"], ["mpm", "application/vnd.blueice.multipass"], ["mpn", "application/vnd.mophun.application"], ["mpp", "application/vnd.ms-project"], ["mpt", "application/vnd.ms-project"], ["mpy", "application/vnd.ibm.minipay"], ["mqy", "application/vnd.mobius.mqy"], ["mrc", "application/marc"], ["mrcx", "application/marcxml+xml"], ["ms", "text/troff"], ["mscml", "application/mediaservercontrol+xml"], ["mseed", "application/vnd.fdsn.mseed"], ["mseq", "application/vnd.mseq"], ["msf", "application/vnd.epson.msf"], ["msg", "application/vnd.ms-outlook"], ["msh", "model/mesh"], ["msi", "application/x-msdownload"], ["msl", "application/vnd.mobius.msl"], ["msm", "application/octet-stream"], ["msp", "application/octet-stream"], ["msty", "application/vnd.muvee.style"], ["mtl", "model/mtl"], ["mts", "model/vnd.mts"], ["mus", "application/vnd.musician"], ["musd", "application/mmt-usd+xml"], ["musicxml", "application/vnd.recordare.musicxml+xml"], ["mvb", "application/x-msmediaview"], ["mvt", "application/vnd.mapbox-vector-tile"], ["mwf", "application/vnd.mfer"], ["mxf", "application/mxf"], ["mxl", "application/vnd.recordare.musicxml"], ["mxmf", "audio/mobile-xmf"], ["mxml", "application/xv+xml"], ["mxs", "application/vnd.triscape.mxs"], ["mxu", "video/vnd.mpegurl"], ["n-gage", "application/vnd.nokia.n-gage.symbian.install"], ["n3", "text/n3"], ["nb", "application/mathematica"], ["nbp", "application/vnd.wolfram.player"], ["nc", "application/x-netcdf"], ["ncx", "application/x-dtbncx+xml"], ["nfo", "text/x-nfo"], ["ngdat", "application/vnd.nokia.n-gage.data"], ["nitf", "application/vnd.nitf"], ["nlu", "application/vnd.neurolanguage.nlu"], ["nml", "application/vnd.enliven"], ["nnd", "application/vnd.noblenet-directory"], ["nns", "application/vnd.noblenet-sealer"], ["nnw", "application/vnd.noblenet-web"], ["npx", "image/vnd.net-fpx"], ["nq", "application/n-quads"], ["nsc", "application/x-conference"], ["nsf", "application/vnd.lotus-notes"], ["nt", "application/n-triples"], ["ntf", "application/vnd.nitf"], ["numbers", "application/x-iwork-numbers-sffnumbers"], ["nzb", "application/x-nzb"], ["oa2", "application/vnd.fujitsu.oasys2"], ["oa3", "application/vnd.fujitsu.oasys3"], ["oas", "application/vnd.fujitsu.oasys"], ["obd", "application/x-msbinder"], ["obgx", "application/vnd.openblox.game+xml"], ["obj", "model/obj"], ["oda", "application/oda"], ["odb", "application/vnd.oasis.opendocument.database"], ["odc", "application/vnd.oasis.opendocument.chart"], ["odf", "application/vnd.oasis.opendocument.formula"], ["odft", "application/vnd.oasis.opendocument.formula-template"], ["odg", "application/vnd.oasis.opendocument.graphics"], ["odi", "application/vnd.oasis.opendocument.image"], ["odm", "application/vnd.oasis.opendocument.text-master"], ["odp", "application/vnd.oasis.opendocument.presentation"], ["ods", "application/vnd.oasis.opendocument.spreadsheet"], ["odt", "application/vnd.oasis.opendocument.text"], ["oga", "audio/ogg"], ["ogex", "model/vnd.opengex"], ["ogg", "