var Fo = Object.defineProperty;
var Da = (e) => {
  throw TypeError(e);
};
var Do = (e, n, t) => n in e ? Fo(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
var S = (e, n, t) => Do(e, typeof n != "symbol" ? n + "" : n, t), La = (e, n, t) => n.has(e) || Da("Cannot " + t);
var ve = (e, n, t) => (La(e, n, "read from private field"), t ? t.call(e) : n.get(e)), on = (e, n, t) => n.has(e) ? Da("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(e) : n.set(e, t), rn = (e, n, t, a) => (La(e, n, "write to private field"), a ? a.call(e, t) : n.set(e, t), t);
import ia, { app as D, Tray as Lo, Menu as Po, clipboard as zo, Notification as Bo, BrowserWindow as Pa, screen as Kn, autoUpdater as ge, shell as za } from "electron";
import q from "node:path";
import Gn from "node:fs";
import "node:fs/promises";
import { fileURLToPath as sa } from "node:url";
import { execFile as as, execSync as qo } from "node:child_process";
import { promisify as Io } from "node:util";
import he from "path";
import Uo from "child_process";
import jn from "os";
import Be from "fs";
import qe, { TextEncoder as $o } from "util";
import is, { EventEmitter as Mo } from "events";
import Cn from "http";
import Rn from "https";
import ne, { Readable as Vo } from "stream";
import An from "url";
import Ho from "assert";
import Wo from "tty";
import me from "zlib";
function Jo(e) {
  try {
    const n = Number(e);
    return Number.isNaN(n) ? 0 : n;
  } catch {
    return 0;
  }
}
function ss(e) {
  const t = Jo(e);
  return new Promise((a) => {
    setTimeout(a, t);
  });
}
var J = /* @__PURE__ */ ((e) => (e.PREFS = "PREFS", e.PICKER = "PICKER", e.MAIN = "MAIN", e))(J || {});
function B(e) {
  return `Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `;
}
var Ko = typeof Symbol == "function" && Symbol.observable || "@@observable", Ba = Ko, Yn = () => Math.random().toString(36).substring(7).split("").join("."), Go = {
  INIT: `@@redux/INIT${/* @__PURE__ */ Yn()}`,
  REPLACE: `@@redux/REPLACE${/* @__PURE__ */ Yn()}`,
  PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${Yn()}`
}, Ee = Go;
function Xe(e) {
  if (typeof e != "object" || e === null)
    return !1;
  let n = e;
  for (; Object.getPrototypeOf(n) !== null; )
    n = Object.getPrototypeOf(n);
  return Object.getPrototypeOf(e) === n || Object.getPrototypeOf(e) === null;
}
function Yo(e) {
  if (e === void 0)
    return "undefined";
  if (e === null)
    return "null";
  const n = typeof e;
  switch (n) {
    case "boolean":
    case "string":
    case "number":
    case "symbol":
    case "function":
      return n;
  }
  if (Array.isArray(e))
    return "array";
  if (Zo(e))
    return "date";
  if (Qo(e))
    return "error";
  const t = Xo(e);
  switch (t) {
    case "Symbol":
    case "Promise":
    case "WeakMap":
    case "WeakSet":
    case "Map":
    case "Set":
      return t;
  }
  return Object.prototype.toString.call(e).slice(8, -1).toLowerCase().replace(/\s/g, "");
}
function Xo(e) {
  return typeof e.constructor == "function" ? e.constructor.name : null;
}
function Qo(e) {
  return e instanceof Error || typeof e.message == "string" && e.constructor && typeof e.constructor.stackTraceLimit == "number";
}
function Zo(e) {
  return e instanceof Date ? !0 : typeof e.toDateString == "function" && typeof e.getDate == "function" && typeof e.setDate == "function";
}
function ue(e) {
  let n = typeof e;
  return process.env.NODE_ENV !== "production" && (n = Yo(e)), n;
}
function os(e, n, t) {
  if (typeof e != "function")
    throw new Error(process.env.NODE_ENV === "production" ? B(2) : `Expected the root reducer to be a function. Instead, received: '${ue(e)}'`);
  if (typeof n == "function" && typeof t == "function" || typeof t == "function" && typeof arguments[3] == "function")
    throw new Error(process.env.NODE_ENV === "production" ? B(0) : "It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");
  if (typeof n == "function" && typeof t > "u" && (t = n, n = void 0), typeof t < "u") {
    if (typeof t != "function")
      throw new Error(process.env.NODE_ENV === "production" ? B(1) : `Expected the enhancer to be a function. Instead, received: '${ue(t)}'`);
    return t(os)(e, n);
  }
  let a = e, i = n, o = /* @__PURE__ */ new Map(), s = o, r = 0, c = !1;
  function l() {
    s === o && (s = /* @__PURE__ */ new Map(), o.forEach((f, b) => {
      s.set(b, f);
    }));
  }
  function p() {
    if (c)
      throw new Error(process.env.NODE_ENV === "production" ? B(3) : "You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");
    return i;
  }
  function u(f) {
    if (typeof f != "function")
      throw new Error(process.env.NODE_ENV === "production" ? B(4) : `Expected the listener to be a function. Instead, received: '${ue(f)}'`);
    if (c)
      throw new Error(process.env.NODE_ENV === "production" ? B(5) : "You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");
    let b = !0;
    l();
    const y = r++;
    return s.set(y, f), function() {
      if (b) {
        if (c)
          throw new Error(process.env.NODE_ENV === "production" ? B(6) : "You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");
        b = !1, l(), s.delete(y), o = null;
      }
    };
  }
  function d(f) {
    if (!Xe(f))
      throw new Error(process.env.NODE_ENV === "production" ? B(7) : `Actions must be plain objects. Instead, the actual type was: '${ue(f)}'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.`);
    if (typeof f.type > "u")
      throw new Error(process.env.NODE_ENV === "production" ? B(8) : 'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');
    if (typeof f.type != "string")
      throw new Error(process.env.NODE_ENV === "production" ? B(17) : `Action "type" property must be a string. Instead, the actual type was: '${ue(f.type)}'. Value was: '${f.type}' (stringified)`);
    if (c)
      throw new Error(process.env.NODE_ENV === "production" ? B(9) : "Reducers may not dispatch actions.");
    try {
      c = !0, i = a(i, f);
    } finally {
      c = !1;
    }
    return (o = s).forEach((y) => {
      y();
    }), f;
  }
  function x(f) {
    if (typeof f != "function")
      throw new Error(process.env.NODE_ENV === "production" ? B(10) : `Expected the nextReducer to be a function. Instead, received: '${ue(f)}`);
    a = f, d({
      type: Ee.REPLACE
    });
  }
  function h() {
    const f = u;
    return {
      /**
       * The minimal observable subscription method.
       * @param observer Any object that can be used as an observer.
       * The observer object should have a `next` method.
       * @returns An object with an `unsubscribe` method that can
       * be used to unsubscribe the observable from the store, and prevent further
       * emission of values from the observable.
       */
      subscribe(b) {
        if (typeof b != "object" || b === null)
          throw new Error(process.env.NODE_ENV === "production" ? B(11) : `Expected the observer to be an object. Instead, received: '${ue(b)}'`);
        function y() {
          const R = b;
          R.next && R.next(p());
        }
        return y(), {
          unsubscribe: f(y)
        };
      },
      [Ba]() {
        return this;
      }
    };
  }
  return d({
    type: Ee.INIT
  }), {
    dispatch: d,
    subscribe: u,
    getState: p,
    replaceReducer: x,
    [Ba]: h
  };
}
function qa(e) {
  typeof console < "u" && typeof console.error == "function" && console.error(e);
  try {
    throw new Error(e);
  } catch {
  }
}
function er(e, n, t, a) {
  const i = Object.keys(n), o = t && t.type === Ee.INIT ? "preloadedState argument passed to createStore" : "previous state received by the reducer";
  if (i.length === 0)
    return "Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.";
  if (!Xe(e))
    return `The ${o} has unexpected type of "${ue(e)}". Expected argument to be an object with the following keys: "${i.join('", "')}"`;
  const s = Object.keys(e).filter((r) => !n.hasOwnProperty(r) && !a[r]);
  if (s.forEach((r) => {
    a[r] = !0;
  }), !(t && t.type === Ee.REPLACE) && s.length > 0)
    return `Unexpected ${s.length > 1 ? "keys" : "key"} "${s.join('", "')}" found in ${o}. Expected to find one of the known reducer keys instead: "${i.join('", "')}". Unexpected keys will be ignored.`;
}
function nr(e) {
  Object.keys(e).forEach((n) => {
    const t = e[n];
    if (typeof t(void 0, {
      type: Ee.INIT
    }) > "u")
      throw new Error(process.env.NODE_ENV === "production" ? B(12) : `The slice reducer for key "${n}" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.`);
    if (typeof t(void 0, {
      type: Ee.PROBE_UNKNOWN_ACTION()
    }) > "u")
      throw new Error(process.env.NODE_ENV === "production" ? B(13) : `The slice reducer for key "${n}" returned undefined when probed with a random type. Don't try to handle '${Ee.INIT}' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.`);
  });
}
function rs(e) {
  const n = Object.keys(e), t = {};
  for (let s = 0; s < n.length; s++) {
    const r = n[s];
    process.env.NODE_ENV !== "production" && typeof e[r] > "u" && qa(`No reducer provided for key "${r}"`), typeof e[r] == "function" && (t[r] = e[r]);
  }
  const a = Object.keys(t);
  let i;
  process.env.NODE_ENV !== "production" && (i = {});
  let o;
  try {
    nr(t);
  } catch (s) {
    o = s;
  }
  return function(r = {}, c) {
    if (o)
      throw o;
    if (process.env.NODE_ENV !== "production") {
      const u = er(r, t, c, i);
      u && qa(u);
    }
    let l = !1;
    const p = {};
    for (let u = 0; u < a.length; u++) {
      const d = a[u], x = t[d], h = r[d], v = x(h, c);
      if (typeof v > "u") {
        const f = c && c.type;
        throw new Error(process.env.NODE_ENV === "production" ? B(14) : `When called with an action of type ${f ? `"${String(f)}"` : "(unknown type)"}, the slice reducer for key "${d}" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.`);
      }
      p[d] = v, l = l || v !== h;
    }
    return l = l || a.length !== Object.keys(r).length, l ? p : r;
  };
}
function vn(...e) {
  return e.length === 0 ? (n) => n : e.length === 1 ? e[0] : e.reduce((n, t) => (...a) => n(t(...a)));
}
function tr(...e) {
  return (n) => (t, a) => {
    const i = n(t, a);
    let o = () => {
      throw new Error(process.env.NODE_ENV === "production" ? B(15) : "Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.");
    };
    const s = {
      getState: i.getState,
      dispatch: (c, ...l) => o(c, ...l)
    }, r = e.map((c) => c(s));
    return o = vn(...r)(i.dispatch), {
      ...i,
      dispatch: o
    };
  };
}
function oa(e) {
  return Xe(e) && "type" in e && typeof e.type == "string";
}
var cs = Symbol.for("immer-nothing"), Ia = Symbol.for("immer-draftable"), X = Symbol.for("immer-state"), ar = process.env.NODE_ENV !== "production" ? [
  // All error codes, starting by 0:
  function(e) {
    return `The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`;
  },
  function(e) {
    return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`;
  },
  "This object has been frozen and should not be mutated",
  function(e) {
    return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + e;
  },
  "An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",
  "Immer forbids circular references",
  "The first or second argument to `produce` must be a function",
  "The third argument to `produce` must be a function or undefined",
  "First argument to `createDraft` must be a plain object, an array, or an immerable object",
  "First argument to `finishDraft` must be a draft returned by `createDraft`",
  function(e) {
    return `'current' expects a draft, got: ${e}`;
  },
  "Object.defineProperty() cannot be used on an Immer draft",
  "Object.setPrototypeOf() cannot be used on an Immer draft",
  "Immer only supports deleting array indices",
  "Immer only supports setting array indices and the 'length' property",
  function(e) {
    return `'original' expects a draft, got: ${e}`;
  }
  // Note: if more errors are added, the errorOffset in Patches.ts should be increased
  // See Patches.ts for additional errors
] : [];
function K(e, ...n) {
  if (process.env.NODE_ENV !== "production") {
    const t = ar[e], a = typeof t == "function" ? t.apply(null, n) : t;
    throw new Error(`[Immer] ${a}`);
  }
  throw new Error(
    `[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`
  );
}
var Pe = Object.getPrototypeOf;
function Se(e) {
  return !!e && !!e[X];
}
function ce(e) {
  var n;
  return e ? ps(e) || Array.isArray(e) || !!e[Ia] || !!((n = e.constructor) != null && n[Ia]) || Tn(e) || Fn(e) : !1;
}
var ir = Object.prototype.constructor.toString();
function ps(e) {
  if (!e || typeof e != "object")
    return !1;
  const n = Pe(e);
  if (n === null)
    return !0;
  const t = Object.hasOwnProperty.call(n, "constructor") && n.constructor;
  return t === Object ? !0 : typeof t == "function" && Function.toString.call(t) === ir;
}
function bn(e, n) {
  Nn(e) === 0 ? Reflect.ownKeys(e).forEach((t) => {
    n(t, e[t], e);
  }) : e.forEach((t, a) => n(a, t, e));
}
function Nn(e) {
  const n = e[X];
  return n ? n.type_ : Array.isArray(e) ? 1 : Tn(e) ? 2 : Fn(e) ? 3 : 0;
}
function zt(e, n) {
  return Nn(e) === 2 ? e.has(n) : Object.prototype.hasOwnProperty.call(e, n);
}
function ls(e, n, t) {
  const a = Nn(e);
  a === 2 ? e.set(n, t) : a === 3 ? e.add(t) : e[n] = t;
}
function sr(e, n) {
  return e === n ? e !== 0 || 1 / e === 1 / n : e !== e && n !== n;
}
function Tn(e) {
  return e instanceof Map;
}
function Fn(e) {
  return e instanceof Set;
}
function be(e) {
  return e.copy_ || e.base_;
}
function Bt(e, n) {
  if (Tn(e))
    return new Map(e);
  if (Fn(e))
    return new Set(e);
  if (Array.isArray(e))
    return Array.prototype.slice.call(e);
  const t = ps(e);
  if (n === !0 || n === "class_only" && !t) {
    const a = Object.getOwnPropertyDescriptors(e);
    delete a[X];
    let i = Reflect.ownKeys(a);
    for (let o = 0; o < i.length; o++) {
      const s = i[o], r = a[s];
      r.writable === !1 && (r.writable = !0, r.configurable = !0), (r.get || r.set) && (a[s] = {
        configurable: !0,
        writable: !0,
        // could live with !!desc.set as well here...
        enumerable: r.enumerable,
        value: e[s]
      });
    }
    return Object.create(Pe(e), a);
  } else {
    const a = Pe(e);
    if (a !== null && t)
      return { ...e };
    const i = Object.create(a);
    return Object.assign(i, e);
  }
}
function ra(e, n = !1) {
  return Dn(e) || Se(e) || !ce(e) || (Nn(e) > 1 && (e.set = e.add = e.clear = e.delete = or), Object.freeze(e), n && Object.entries(e).forEach(([t, a]) => ra(a, !0))), e;
}
function or() {
  K(2);
}
function Dn(e) {
  return Object.isFrozen(e);
}
var rr = {};
function Oe(e) {
  const n = rr[e];
  return n || K(0, e), n;
}
var He;
function us() {
  return He;
}
function cr(e, n) {
  return {
    drafts_: [],
    parent_: e,
    immer_: n,
    // Whenever the modified draft contains a draft from another scope, we
    // need to prevent auto-freezing so the unowned draft can be finalized.
    canAutoFreeze_: !0,
    unfinalizedDrafts_: 0
  };
}
function Ua(e, n) {
  n && (Oe("Patches"), e.patches_ = [], e.inversePatches_ = [], e.patchListener_ = n);
}
function qt(e) {
  It(e), e.drafts_.forEach(pr), e.drafts_ = null;
}
function It(e) {
  e === He && (He = e.parent_);
}
function $a(e) {
  return He = cr(He, e);
}
function pr(e) {
  const n = e[X];
  n.type_ === 0 || n.type_ === 1 ? n.revoke_() : n.revoked_ = !0;
}
function Ma(e, n) {
  n.unfinalizedDrafts_ = n.drafts_.length;
  const t = n.drafts_[0];
  return e !== void 0 && e !== t ? (t[X].modified_ && (qt(n), K(4)), ce(e) && (e = gn(n, e), n.parent_ || yn(n, e)), n.patches_ && Oe("Patches").generateReplacementPatches_(
    t[X].base_,
    e,
    n.patches_,
    n.inversePatches_
  )) : e = gn(n, t, []), qt(n), n.patches_ && n.patchListener_(n.patches_, n.inversePatches_), e !== cs ? e : void 0;
}
function gn(e, n, t) {
  if (Dn(n))
    return n;
  const a = n[X];
  if (!a)
    return bn(
      n,
      (i, o) => Va(e, a, n, i, o, t)
    ), n;
  if (a.scope_ !== e)
    return n;
  if (!a.modified_)
    return yn(e, a.base_, !0), a.base_;
  if (!a.finalized_) {
    a.finalized_ = !0, a.scope_.unfinalizedDrafts_--;
    const i = a.copy_;
    let o = i, s = !1;
    a.type_ === 3 && (o = new Set(i), i.clear(), s = !0), bn(
      o,
      (r, c) => Va(e, a, i, r, c, t, s)
    ), yn(e, i, !1), t && e.patches_ && Oe("Patches").generatePatches_(
      a,
      t,
      e.patches_,
      e.inversePatches_
    );
  }
  return a.copy_;
}
function Va(e, n, t, a, i, o, s) {
  if (process.env.NODE_ENV !== "production" && i === t && K(5), Se(i)) {
    const r = o && n && n.type_ !== 3 && // Set objects are atomic since they have no keys.
    !zt(n.assigned_, a) ? o.concat(a) : void 0, c = gn(e, i, r);
    if (ls(t, a, c), Se(c))
      e.canAutoFreeze_ = !1;
    else
      return;
  } else s && t.add(i);
  if (ce(i) && !Dn(i)) {
    if (!e.immer_.autoFreeze_ && e.unfinalizedDrafts_ < 1)
      return;
    gn(e, i), (!n || !n.scope_.parent_) && typeof a != "symbol" && Object.prototype.propertyIsEnumerable.call(t, a) && yn(e, i);
  }
}
function yn(e, n, t = !1) {
  !e.parent_ && e.immer_.autoFreeze_ && e.canAutoFreeze_ && ra(n, t);
}
function lr(e, n) {
  const t = Array.isArray(e), a = {
    type_: t ? 1 : 0,
    // Track which produce call this is associated with.
    scope_: n ? n.scope_ : us(),
    // True for both shallow and deep changes.
    modified_: !1,
    // Used during finalization.
    finalized_: !1,
    // Track which properties have been assigned (true) or deleted (false).
    assigned_: {},
    // The parent draft state.
    parent_: n,
    // The base state.
    base_: e,
    // The base proxy.
    draft_: null,
    // set below
    // The base copy with any updated values.
    copy_: null,
    // Called by the `produce` function.
    revoke_: null,
    isManual_: !1
  };
  let i = a, o = ca;
  t && (i = [a], o = We);
  const { revoke: s, proxy: r } = Proxy.revocable(i, o);
  return a.draft_ = r, a.revoke_ = s, r;
}
var ca = {
  get(e, n) {
    if (n === X)
      return e;
    const t = be(e);
    if (!zt(t, n))
      return ur(e, t, n);
    const a = t[n];
    return e.finalized_ || !ce(a) ? a : a === Xn(e.base_, n) ? (Qn(e), e.copy_[n] = $t(a, e)) : a;
  },
  has(e, n) {
    return n in be(e);
  },
  ownKeys(e) {
    return Reflect.ownKeys(be(e));
  },
  set(e, n, t) {
    const a = ds(be(e), n);
    if (a != null && a.set)
      return a.set.call(e.draft_, t), !0;
    if (!e.modified_) {
      const i = Xn(be(e), n), o = i == null ? void 0 : i[X];
      if (o && o.base_ === t)
        return e.copy_[n] = t, e.assigned_[n] = !1, !0;
      if (sr(t, i) && (t !== void 0 || zt(e.base_, n)))
        return !0;
      Qn(e), Ut(e);
    }
    return e.copy_[n] === t && // special case: handle new props with value 'undefined'
    (t !== void 0 || n in e.copy_) || // special case: NaN
    Number.isNaN(t) && Number.isNaN(e.copy_[n]) || (e.copy_[n] = t, e.assigned_[n] = !0), !0;
  },
  deleteProperty(e, n) {
    return Xn(e.base_, n) !== void 0 || n in e.base_ ? (e.assigned_[n] = !1, Qn(e), Ut(e)) : delete e.assigned_[n], e.copy_ && delete e.copy_[n], !0;
  },
  // Note: We never coerce `desc.value` into an Immer draft, because we can't make
  // the same guarantee in ES5 mode.
  getOwnPropertyDescriptor(e, n) {
    const t = be(e), a = Reflect.getOwnPropertyDescriptor(t, n);
    return a && {
      writable: !0,
      configurable: e.type_ !== 1 || n !== "length",
      enumerable: a.enumerable,
      value: t[n]
    };
  },
  defineProperty() {
    K(11);
  },
  getPrototypeOf(e) {
    return Pe(e.base_);
  },
  setPrototypeOf() {
    K(12);
  }
}, We = {};
bn(ca, (e, n) => {
  We[e] = function() {
    return arguments[0] = arguments[0][0], n.apply(this, arguments);
  };
});
We.deleteProperty = function(e, n) {
  return process.env.NODE_ENV !== "production" && isNaN(parseInt(n)) && K(13), We.set.call(this, e, n, void 0);
};
We.set = function(e, n, t) {
  return process.env.NODE_ENV !== "production" && n !== "length" && isNaN(parseInt(n)) && K(14), ca.set.call(this, e[0], n, t, e[0]);
};
function Xn(e, n) {
  const t = e[X];
  return (t ? be(t) : e)[n];
}
function ur(e, n, t) {
  var i;
  const a = ds(n, t);
  return a ? "value" in a ? a.value : (
    // This is a very special case, if the prop is a getter defined by the
    // prototype, we should invoke it with the draft as context!
    (i = a.get) == null ? void 0 : i.call(e.draft_)
  ) : void 0;
}
function ds(e, n) {
  if (!(n in e))
    return;
  let t = Pe(e);
  for (; t; ) {
    const a = Object.getOwnPropertyDescriptor(t, n);
    if (a)
      return a;
    t = Pe(t);
  }
}
function Ut(e) {
  e.modified_ || (e.modified_ = !0, e.parent_ && Ut(e.parent_));
}
function Qn(e) {
  e.copy_ || (e.copy_ = Bt(
    e.base_,
    e.scope_.immer_.useStrictShallowCopy_
  ));
}
var dr = class {
  constructor(e) {
    this.autoFreeze_ = !0, this.useStrictShallowCopy_ = !1, this.produce = (n, t, a) => {
      if (typeof n == "function" && typeof t != "function") {
        const o = t;
        t = n;
        const s = this;
        return function(c = o, ...l) {
          return s.produce(c, (p) => t.call(this, p, ...l));
        };
      }
      typeof t != "function" && K(6), a !== void 0 && typeof a != "function" && K(7);
      let i;
      if (ce(n)) {
        const o = $a(this), s = $t(n, void 0);
        let r = !0;
        try {
          i = t(s), r = !1;
        } finally {
          r ? qt(o) : It(o);
        }
        return Ua(o, a), Ma(i, o);
      } else if (!n || typeof n != "object") {
        if (i = t(n), i === void 0 && (i = n), i === cs && (i = void 0), this.autoFreeze_ && ra(i, !0), a) {
          const o = [], s = [];
          Oe("Patches").generateReplacementPatches_(n, i, o, s), a(o, s);
        }
        return i;
      } else
        K(1, n);
    }, this.produceWithPatches = (n, t) => {
      if (typeof n == "function")
        return (s, ...r) => this.produceWithPatches(s, (c) => n(c, ...r));
      let a, i;
      return [this.produce(n, t, (s, r) => {
        a = s, i = r;
      }), a, i];
    }, typeof (e == null ? void 0 : e.autoFreeze) == "boolean" && this.setAutoFreeze(e.autoFreeze), typeof (e == null ? void 0 : e.useStrictShallowCopy) == "boolean" && this.setUseStrictShallowCopy(e.useStrictShallowCopy);
  }
  createDraft(e) {
    ce(e) || K(8), Se(e) && (e = mr(e));
    const n = $a(this), t = $t(e, void 0);
    return t[X].isManual_ = !0, It(n), t;
  }
  finishDraft(e, n) {
    const t = e && e[X];
    (!t || !t.isManual_) && K(9);
    const { scope_: a } = t;
    return Ua(a, n), Ma(void 0, a);
  }
  /**
   * Pass true to automatically freeze all copies created by Immer.
   *
   * By default, auto-freezing is enabled.
   */
  setAutoFreeze(e) {
    this.autoFreeze_ = e;
  }
  /**
   * Pass true to enable strict shallow copy.
   *
   * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.
   */
  setUseStrictShallowCopy(e) {
    this.useStrictShallowCopy_ = e;
  }
  applyPatches(e, n) {
    let t;
    for (t = n.length - 1; t >= 0; t--) {
      const i = n[t];
      if (i.path.length === 0 && i.op === "replace") {
        e = i.value;
        break;
      }
    }
    t > -1 && (n = n.slice(t + 1));
    const a = Oe("Patches").applyPatches_;
    return Se(e) ? a(e, n) : this.produce(
      e,
      (i) => a(i, n)
    );
  }
};
function $t(e, n) {
  const t = Tn(e) ? Oe("MapSet").proxyMap_(e, n) : Fn(e) ? Oe("MapSet").proxySet_(e, n) : lr(e, n);
  return (n ? n.scope_ : us()).drafts_.push(t), t;
}
function mr(e) {
  return Se(e) || K(10, e), ms(e);
}
function ms(e) {
  if (!ce(e) || Dn(e))
    return e;
  const n = e[X];
  let t;
  if (n) {
    if (!n.modified_)
      return n.base_;
    n.finalized_ = !0, t = Bt(e, n.scope_.immer_.useStrictShallowCopy_);
  } else
    t = Bt(e, !0);
  return bn(t, (a, i) => {
    ls(t, a, ms(i));
  }), n && (n.finalized_ = !1), t;
}
var Q = new dr(), pa = Q.produce;
Q.produceWithPatches.bind(
  Q
);
Q.setAutoFreeze.bind(Q);
Q.setUseStrictShallowCopy.bind(Q);
Q.applyPatches.bind(Q);
Q.createDraft.bind(Q);
Q.finishDraft.bind(Q);
function fs(e) {
  return ({ dispatch: t, getState: a }) => (i) => (o) => typeof o == "function" ? o(t, a, e) : i(o);
}
var fr = fs(), hr = fs, xr = typeof window < "u" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function() {
  if (arguments.length !== 0)
    return typeof arguments[0] == "object" ? vn : vn.apply(null, arguments);
}, vr = (e) => e && typeof e.match == "function";
function br(e, n) {
  function t(...a) {
    return {
      type: e,
      payload: a[0]
    };
  }
  return t.toString = () => `${e}`, t.type = e, t.match = (a) => oa(a) && a.type === e, t;
}
function gr(e) {
  return typeof e == "function" && "type" in e && // hasMatchFunction only wants Matchers but I don't see the point in rewriting it
  vr(e);
}
function yr(e) {
  return oa(e) && Object.keys(e).every(wr);
}
function wr(e) {
  return ["type", "payload", "error", "meta"].indexOf(e) > -1;
}
function Er(e) {
  const n = e ? `${e}`.split("/") : [], t = n[n.length - 1] || "actionCreator";
  return `Detected an action creator with type "${e || "unknown"}" being dispatched. 
Make sure you're calling the action creator before dispatching, i.e. \`dispatch(${t}())\` instead of \`dispatch(${t})\`. This is necessary even if the action has no payload.`;
}
function _r(e = {}) {
  if (process.env.NODE_ENV === "production")
    return () => (t) => (a) => t(a);
  const {
    isActionCreator: n = gr
  } = e;
  return () => (t) => (a) => (n(a) && console.warn(Er(a.type)), t(a));
}
function hs(e, n) {
  let t = 0;
  return {
    measureTime(a) {
      const i = Date.now();
      try {
        return a();
      } finally {
        const o = Date.now();
        t += o - i;
      }
    },
    warnIfExceeded() {
      t > e && console.warn(`${n} took ${t}ms, which is more than the warning threshold of ${e}ms. 
If your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.
It is disabled in production builds, so you don't need to worry about that.`);
    }
  };
}
var xs = class Ve extends Array {
  constructor(...n) {
    super(...n), Object.setPrototypeOf(this, Ve.prototype);
  }
  static get [Symbol.species]() {
    return Ve;
  }
  concat(...n) {
    return super.concat.apply(this, n);
  }
  prepend(...n) {
    return n.length === 1 && Array.isArray(n[0]) ? new Ve(...n[0].concat(this)) : new Ve(...n.concat(this));
  }
};
function Ha(e) {
  return ce(e) ? pa(e, () => {
  }) : e;
}
function kr(e) {
  return typeof e != "object" || e == null || Object.isFrozen(e);
}
function Sr(e, n, t) {
  const a = vs(e, n, t);
  return {
    detectMutations() {
      return bs(e, n, a, t);
    }
  };
}
function vs(e, n = [], t, a = "", i = /* @__PURE__ */ new Set()) {
  const o = {
    value: t
  };
  if (!e(t) && !i.has(t)) {
    i.add(t), o.children = {};
    for (const s in t) {
      const r = a ? a + "." + s : s;
      n.length && n.indexOf(r) !== -1 || (o.children[s] = vs(e, n, t[s], r));
    }
  }
  return o;
}
function bs(e, n = [], t, a, i = !1, o = "") {
  const s = t ? t.value : void 0, r = s === a;
  if (i && !r && !Number.isNaN(a))
    return {
      wasMutated: !0,
      path: o
    };
  if (e(s) || e(a))
    return {
      wasMutated: !1
    };
  const c = {};
  for (let p in t.children)
    c[p] = !0;
  for (let p in a)
    c[p] = !0;
  const l = n.length > 0;
  for (let p in c) {
    const u = o ? o + "." + p : p;
    if (l && n.some((h) => h instanceof RegExp ? h.test(u) : u === h))
      continue;
    const d = bs(e, n, t.children[p], a[p], r, u);
    if (d.wasMutated)
      return d;
  }
  return {
    wasMutated: !1
  };
}
function Or(e = {}) {
  if (process.env.NODE_ENV === "production")
    return () => (n) => (t) => n(t);
  {
    let n = function(r, c, l, p) {
      return JSON.stringify(r, t(c, p), l);
    }, t = function(r, c) {
      let l = [], p = [];
      return c || (c = function(u, d) {
        return l[0] === d ? "[Circular ~]" : "[Circular ~." + p.slice(0, l.indexOf(d)).join(".") + "]";
      }), function(u, d) {
        if (l.length > 0) {
          var x = l.indexOf(this);
          ~x ? l.splice(x + 1) : l.push(this), ~x ? p.splice(x, 1 / 0, u) : p.push(u), ~l.indexOf(d) && (d = c.call(this, u, d));
        } else l.push(d);
        return r == null ? d : r.call(this, u, d);
      };
    }, {
      isImmutable: a = kr,
      ignoredPaths: i,
      warnAfter: o = 32
    } = e;
    const s = Sr.bind(null, a, i);
    return ({
      getState: r
    }) => {
      let c = r(), l = s(c), p;
      return (u) => (d) => {
        const x = hs(o, "ImmutableStateInvariantMiddleware");
        x.measureTime(() => {
          if (c = r(), p = l.detectMutations(), l = s(c), p.wasMutated)
            throw new Error(process.env.NODE_ENV === "production" ? M(19) : `A state mutation was detected between dispatches, in the path '${p.path || ""}'.  This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`);
        });
        const h = u(d);
        return x.measureTime(() => {
          if (c = r(), p = l.detectMutations(), l = s(c), p.wasMutated)
            throw new Error(process.env.NODE_ENV === "production" ? M(20) : `A state mutation was detected inside a dispatch, in the path: ${p.path || ""}. Take a look at the reducer(s) handling the action ${n(d)}. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)`);
        }), x.warnIfExceeded(), h;
      };
    };
  }
}
function gs(e) {
  const n = typeof e;
  return e == null || n === "string" || n === "boolean" || n === "number" || Array.isArray(e) || Xe(e);
}
function Mt(e, n = "", t = gs, a, i = [], o) {
  let s;
  if (!t(e))
    return {
      keyPath: n || "<root>",
      value: e
    };
  if (typeof e != "object" || e === null || o != null && o.has(e)) return !1;
  const r = a != null ? a(e) : Object.entries(e), c = i.length > 0;
  for (const [l, p] of r) {
    const u = n ? n + "." + l : l;
    if (!(c && i.some((x) => x instanceof RegExp ? x.test(u) : u === x))) {
      if (!t(p))
        return {
          keyPath: u,
          value: p
        };
      if (typeof p == "object" && (s = Mt(p, u, t, a, i, o), s))
        return s;
    }
  }
  return o && ys(e) && o.add(e), !1;
}
function ys(e) {
  if (!Object.isFrozen(e)) return !1;
  for (const n of Object.values(e))
    if (!(typeof n != "object" || n === null) && !ys(n))
      return !1;
  return !0;
}
function jr(e = {}) {
  if (process.env.NODE_ENV === "production")
    return () => (n) => (t) => n(t);
  {
    const {
      isSerializable: n = gs,
      getEntries: t,
      ignoredActions: a = [],
      ignoredActionPaths: i = ["meta.arg", "meta.baseQueryMeta"],
      ignoredPaths: o = [],
      warnAfter: s = 32,
      ignoreState: r = !1,
      ignoreActions: c = !1,
      disableCache: l = !1
    } = e, p = !l && WeakSet ? /* @__PURE__ */ new WeakSet() : void 0;
    return (u) => (d) => (x) => {
      if (!oa(x))
        return d(x);
      const h = d(x), v = hs(s, "SerializableStateInvariantMiddleware");
      return !c && !(a.length && a.indexOf(x.type) !== -1) && v.measureTime(() => {
        const f = Mt(x, "", n, t, i, p);
        if (f) {
          const {
            keyPath: b,
            value: y
          } = f;
          console.error(`A non-serializable value was detected in an action, in the path: \`${b}\`. Value:`, y, `
Take a look at the logic that dispatched this action: `, x, `
(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)`, `
(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)`);
        }
      }), r || (v.measureTime(() => {
        const f = u.getState(), b = Mt(f, "", n, t, o, p);
        if (b) {
          const {
            keyPath: y,
            value: w
          } = b;
          console.error(`A non-serializable value was detected in the state, in the path: \`${y}\`. Value:`, w, `
Take a look at the reducer(s) handling this action type: ${x.type}.
(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)`);
        }
      }), v.warnIfExceeded()), h;
    };
  }
}
function cn(e) {
  return typeof e == "boolean";
}
var Cr = () => function(n) {
  const {
    thunk: t = !0,
    immutableCheck: a = !0,
    serializableCheck: i = !0,
    actionCreatorCheck: o = !0
  } = n ?? {};
  let s = new xs();
  if (t && (cn(t) ? s.push(fr) : s.push(hr(t.extraArgument))), process.env.NODE_ENV !== "production") {
    if (a) {
      let r = {};
      cn(a) || (r = a), s.unshift(Or(r));
    }
    if (i) {
      let r = {};
      cn(i) || (r = i), s.push(jr(r));
    }
    if (o) {
      let r = {};
      cn(o) || (r = o), s.unshift(_r(r));
    }
  }
  return s;
}, Rr = "RTK_autoBatch", ws = (e) => (n) => {
  setTimeout(n, e);
}, Ar = typeof window < "u" && window.requestAnimationFrame ? window.requestAnimationFrame : ws(10), Nr = (e = {
  type: "raf"
}) => (n) => (...t) => {
  const a = n(...t);
  let i = !0, o = !1, s = !1;
  const r = /* @__PURE__ */ new Set(), c = e.type === "tick" ? queueMicrotask : e.type === "raf" ? Ar : e.type === "callback" ? e.queueNotification : ws(e.timeout), l = () => {
    s = !1, o && (o = !1, r.forEach((p) => p()));
  };
  return Object.assign({}, a, {
    // Override the base `store.subscribe` method to keep original listeners
    // from running if we're delaying notifications
    subscribe(p) {
      const u = () => i && p(), d = a.subscribe(u);
      return r.add(p), () => {
        d(), r.delete(p);
      };
    },
    // Override the base `store.dispatch` method so that we can check actions
    // for the `shouldAutoBatch` flag and determine if batching is active
    dispatch(p) {
      var u;
      try {
        return i = !((u = p == null ? void 0 : p.meta) != null && u[Rr]), o = !i, o && (s || (s = !0, c(l))), a.dispatch(p);
      } finally {
        i = !0;
      }
    }
  });
}, Tr = (e) => function(t) {
  const {
    autoBatch: a = !0
  } = t ?? {};
  let i = new xs(e);
  return a && i.push(Nr(typeof a == "object" ? a : void 0)), i;
};
function Fr(e) {
  const n = Cr(), {
    reducer: t = void 0,
    middleware: a,
    devTools: i = !0,
    preloadedState: o = void 0,
    enhancers: s = void 0
  } = e || {};
  let r;
  if (typeof t == "function")
    r = t;
  else if (Xe(t))
    r = rs(t);
  else
    throw new Error(process.env.NODE_ENV === "production" ? M(1) : "`reducer` is a required argument, and must be a function or an object of functions that can be passed to combineReducers");
  if (process.env.NODE_ENV !== "production" && a && typeof a != "function")
    throw new Error(process.env.NODE_ENV === "production" ? M(2) : "`middleware` field must be a callback");
  let c;
  if (typeof a == "function") {
    if (c = a(n), process.env.NODE_ENV !== "production" && !Array.isArray(c))
      throw new Error(process.env.NODE_ENV === "production" ? M(3) : "when using a middleware builder function, an array of middleware must be returned");
  } else
    c = n();
  if (process.env.NODE_ENV !== "production" && c.some((h) => typeof h != "function"))
    throw new Error(process.env.NODE_ENV === "production" ? M(4) : "each middleware provided to configureStore must be a function");
  let l = vn;
  i && (l = xr({
    // Enable capture of stack traces for dispatched Redux actions
    trace: process.env.NODE_ENV !== "production",
    ...typeof i == "object" && i
  }));
  const p = tr(...c), u = Tr(p);
  if (process.env.NODE_ENV !== "production" && s && typeof s != "function")
    throw new Error(process.env.NODE_ENV === "production" ? M(5) : "`enhancers` field must be a callback");
  let d = typeof s == "function" ? s(u) : u();
  if (process.env.NODE_ENV !== "production" && !Array.isArray(d))
    throw new Error(process.env.NODE_ENV === "production" ? M(6) : "`enhancers` callback must return an array");
  if (process.env.NODE_ENV !== "production" && d.some((h) => typeof h != "function"))
    throw new Error(process.env.NODE_ENV === "production" ? M(7) : "each enhancer provided to configureStore must be a function");
  process.env.NODE_ENV !== "production" && c.length && !d.includes(p) && console.error("middlewares were provided, but middleware enhancer was not included in final enhancers - make sure to call `getDefaultEnhancers`");
  const x = l(...d);
  return os(r, o, x);
}
function Dr(e) {
  const n = {}, t = [];
  let a;
  const i = {
    addCase(o, s) {
      if (process.env.NODE_ENV !== "production") {
        if (t.length > 0)
          throw new Error(process.env.NODE_ENV === "production" ? M(26) : "`builder.addCase` should only be called before calling `builder.addMatcher`");
        if (a)
          throw new Error(process.env.NODE_ENV === "production" ? M(27) : "`builder.addCase` should only be called before calling `builder.addDefaultCase`");
      }
      const r = typeof o == "string" ? o : o.type;
      if (!r)
        throw new Error(process.env.NODE_ENV === "production" ? M(28) : "`builder.addCase` cannot be called with an empty action type");
      if (r in n)
        throw new Error(process.env.NODE_ENV === "production" ? M(29) : `\`builder.addCase\` cannot be called with two reducers for the same action type '${r}'`);
      return n[r] = s, i;
    },
    addMatcher(o, s) {
      if (process.env.NODE_ENV !== "production" && a)
        throw new Error(process.env.NODE_ENV === "production" ? M(30) : "`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");
      return t.push({
        matcher: o,
        reducer: s
      }), i;
    },
    addDefaultCase(o) {
      if (process.env.NODE_ENV !== "production" && a)
        throw new Error(process.env.NODE_ENV === "production" ? M(31) : "`builder.addDefaultCase` can only be called once");
      return a = o, i;
    }
  };
  return e(i), [n, t, a];
}
function Lr(e) {
  return typeof e == "function";
}
function Es(e, n) {
  if (process.env.NODE_ENV !== "production" && typeof n == "object")
    throw new Error(process.env.NODE_ENV === "production" ? M(8) : "The object notation for `createReducer` has been removed. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer");
  let [t, a, i] = Dr(n), o;
  if (Lr(e))
    o = () => Ha(e());
  else {
    const r = Ha(e);
    o = () => r;
  }
  function s(r = o(), c) {
    let l = [t[c.type], ...a.filter(({
      matcher: p
    }) => p(c)).map(({
      reducer: p
    }) => p)];
    return l.filter((p) => !!p).length === 0 && (l = [i]), l.reduce((p, u) => {
      if (u)
        if (Se(p)) {
          const x = u(p, c);
          return x === void 0 ? p : x;
        } else {
          if (ce(p))
            return pa(p, (d) => u(d, c));
          {
            const d = u(p, c);
            if (d === void 0) {
              if (p === null)
                return p;
              throw Error("A case reducer on a non-draftable value must not return undefined");
            }
            return d;
          }
        }
      return p;
    }, r);
  }
  return s.getInitialState = o, s;
}
function M(e) {
  return `Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `;
}
function Qe(e) {
  return (n) => br(`${e}/${n}`);
}
const te = Qe("main"), wn = te("app/readied"), la = te("url/opened"), _s = te(
  "picker-window-bounds/changed"
), ks = te("installed-apps/scanning"), Ln = te("installed-apps/retrieved"), ua = te(
  "sync-reducers"
), Ss = te("default-browser-status/got"), Os = te("app-icons/got"), Vt = te("update/available"), js = te("update/downloading"), Cs = te("update/downloaded"), Rs = Qe("tray"), As = Rs("restore-picker/clicked"), Ns = Rs("open-prefs/clicked"), Pr = pa((e, n) => {
  e.meta || (e.meta = {}), e.meta.channel = n;
}), da = (e) => yr(e), zr = (e) => () => (n) => (t) => {
  var i;
  if (!da(t)) return n(t);
  const a = (i = t.meta) != null && i.channel ? t : Pr(t, e);
  return n(a);
};
function Pn(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var ma = { exports: {} };
let En = process || {}, Wa = En.argv || [], pn = En.env || {}, Br = !(pn.NO_COLOR || Wa.includes("--no-color")) && (!!pn.FORCE_COLOR || Wa.includes("--color") || En.platform === "win32" || (En.stdout || {}).isTTY && pn.TERM !== "dumb" || !!pn.CI), qr = (e, n, t = e) => (a) => {
  let i = "" + a, o = i.indexOf(n, e.length);
  return ~o ? e + Ir(i, n, t, o) + n : e + i + n;
}, Ir = (e, n, t, a) => {
  let i = "", o = 0;
  do
    i += e.substring(o, a) + t, o = a + n.length, a = e.indexOf(n, o);
  while (~a);
  return i + e.substring(o);
}, Ts = (e = Br) => {
  let n = e ? qr : () => String;
  return {
    isColorSupported: e,
    reset: n("\x1B[0m", "\x1B[0m"),
    bold: n("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
    dim: n("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
    italic: n("\x1B[3m", "\x1B[23m"),
    underline: n("\x1B[4m", "\x1B[24m"),
    inverse: n("\x1B[7m", "\x1B[27m"),
    hidden: n("\x1B[8m", "\x1B[28m"),
    strikethrough: n("\x1B[9m", "\x1B[29m"),
    black: n("\x1B[30m", "\x1B[39m"),
    red: n("\x1B[31m", "\x1B[39m"),
    green: n("\x1B[32m", "\x1B[39m"),
    yellow: n("\x1B[33m", "\x1B[39m"),
    blue: n("\x1B[34m", "\x1B[39m"),
    magenta: n("\x1B[35m", "\x1B[39m"),
    cyan: n("\x1B[36m", "\x1B[39m"),
    white: n("\x1B[37m", "\x1B[39m"),
    gray: n("\x1B[90m", "\x1B[39m"),
    bgBlack: n("\x1B[40m", "\x1B[49m"),
    bgRed: n("\x1B[41m", "\x1B[49m"),
    bgGreen: n("\x1B[42m", "\x1B[49m"),
    bgYellow: n("\x1B[43m", "\x1B[49m"),
    bgBlue: n("\x1B[44m", "\x1B[49m"),
    bgMagenta: n("\x1B[45m", "\x1B[49m"),
    bgCyan: n("\x1B[46m", "\x1B[49m"),
    bgWhite: n("\x1B[47m", "\x1B[49m"),
    blackBright: n("\x1B[90m", "\x1B[39m"),
    redBright: n("\x1B[91m", "\x1B[39m"),
    greenBright: n("\x1B[92m", "\x1B[39m"),
    yellowBright: n("\x1B[93m", "\x1B[39m"),
    blueBright: n("\x1B[94m", "\x1B[39m"),
    magentaBright: n("\x1B[95m", "\x1B[39m"),
    cyanBright: n("\x1B[96m", "\x1B[39m"),
    whiteBright: n("\x1B[97m", "\x1B[39m"),
    bgBlackBright: n("\x1B[100m", "\x1B[49m"),
    bgRedBright: n("\x1B[101m", "\x1B[49m"),
    bgGreenBright: n("\x1B[102m", "\x1B[49m"),
    bgYellowBright: n("\x1B[103m", "\x1B[49m"),
    bgBlueBright: n("\x1B[104m", "\x1B[49m"),
    bgMagentaBright: n("\x1B[105m", "\x1B[49m"),
    bgCyanBright: n("\x1B[106m", "\x1B[49m"),
    bgWhiteBright: n("\x1B[107m", "\x1B[49m")
  };
};
ma.exports = Ts();
ma.exports.createColors = Ts;
var re = ma.exports;
const Ur = {
  [J.MAIN]: re.bgYellow,
  [J.PREFS]: re.bgBlue,
  [J.PICKER]: re.bgMagenta
};
function $r(e) {
  var r;
  const n = (r = e.meta) == null ? void 0 : r.channel, [t] = e.type.split("/"), a = e.type.replace(`${t}/`, ""), i = re.bold(Ur[n](re.black(n.padEnd(6)))), o = re.bold(re.green(t)), s = re.bold(re.white(a));
  console.log(`${i} ${o}/${s}`), e.payload && console.log(
    re.gray(
      JSON.stringify(
        e.payload,
        (c, l) => typeof l == "string" && l.length > 100 ? `${l.slice(0, 100)}…` : l,
        2
      )
    )
  );
}
const Mr = () => () => (e) => (n) => (process.env.NODE_ENV === "development" && da(n) && $r(n), e(n)), Vr = "https://www.buymeacoffee.com/wstone", Hr = "https://github.com/will-stone/browserosaurus", Wr = "https://github.com/will-stone/browserosaurus/issues", Ce = Qe("picker"), Fs = Ce("started"), Jr = Ce("app/clicked"), Kr = Ce("key/pressed"), Gr = Ce("url-bar/clicked"), Ds = Ce("update-bar/clicked"), Ls = Ce("donate/clicked"), Yr = Ce("maybe-later/clicked"), ae = Qe("prefs"), Ps = ae("started"), Xr = ae("tab-button/clicked"), Qr = ae(
  "set-as-default-browser-button/clicked"
), Zr = ae("rescan-apps/clicked"), ec = ae("update-button/clicked"), nc = ae("update-restart-button/clicked"), fa = ae("reset/confirmed"), tc = ae(
  "hot-code/updated"
), ac = ae(
  "app/reordered"
), ic = ae("homepage-button/clicked"), sc = ae("open-issue-button/clicked"), oc = Qe("renderer"), rc = oc("got-key-layout-map"), Ht = {
  activeAppIndex: 0,
  icons: {},
  isDefaultProtocolClient: !0,
  keyCodeMap: {},
  pickerStarted: !1,
  prefsStarted: !1,
  prefsTab: "general",
  scanStatus: "init",
  updateStatus: "no-update",
  url: "",
  version: ""
}, cc = Es(
  Ht,
  (e) => e.addCase(ua, (n, t) => t.payload.data).addCase(fa, () => Ht).addCase(ks, (n) => {
    n.scanStatus = "scanning";
  }).addCase(Ln, (n) => {
    n.scanStatus = "scanned";
  }).addCase(Fs, (n) => {
    n.pickerStarted = !0;
  }).addCase(Ps, (n) => {
    n.prefsStarted = !0;
  }).addCase(Ss, (n, t) => {
    n.isDefaultProtocolClient = t.payload;
  }).addCase(Vt, (n) => {
    n.updateStatus = "available";
  }).addCase(js, (n) => {
    n.updateStatus = "downloading";
  }).addCase(Cs, (n) => {
    n.updateStatus = "downloaded";
  }).addCase(la, (n, t) => {
    n.url = t.payload;
  }).addCase(Ls, (n) => {
    n.url = Vr;
  }).addCase(Xr, (n, t) => {
    n.prefsTab = t.payload;
  }).addCase(rc, (n, t) => {
    n.keyCodeMap = t.payload;
  }).addCase(Os, (n, t) => {
    n.icons = t.payload;
  }).addCase(Ds, (n) => {
    n.prefsTab = "general";
  })
), ye = {
  apps: [],
  height: 200,
  isSetup: !1,
  supportMessage: 0
}, pc = Es(
  ye,
  (e) => e.addCase(wn, (n) => {
    n.isSetup = !0;
  }).addCase(fa, () => ye).addCase(
    ua,
    (n, t) => t.payload.storage
  ).addCase(Ln, (n, t) => {
    const a = t.payload;
    for (const i of n.apps)
      i.isInstalled = a.includes(i.name);
    for (const i of a)
      n.apps.some(
        ({ name: s }) => s === i
      ) || n.apps.push({
        hotCode: null,
        isInstalled: !0,
        name: i
      });
  }).addCase(tc, (n, t) => {
    const a = t.payload.value, i = n.apps.findIndex(
      (s) => s.hotCode === a
    );
    i !== -1 && (n.apps[i].hotCode = null);
    const o = n.apps.findIndex(
      (s) => s.name === t.payload.appName
    );
    n.apps[o].hotCode = a;
  }).addCase(Ls, (n) => {
    n.supportMessage = -1;
  }).addCase(Yr, (n) => {
    n.supportMessage = Date.now();
  }).addCase(_s, (n, t) => {
    n.height = t.payload.height;
  }).addCase(ac, (n, t) => {
    const a = n.apps.findIndex(
      (s) => s.name === t.payload.sourceName
    ), i = n.apps.findIndex(
      (s) => s.name === t.payload.destinationName
    ), [o] = n.apps.splice(a, 1);
    n.apps.splice(i, 0, o);
  })
), lc = rs({ data: cc, storage: pc });
function uc(e, n) {
  if (e === void 0)
    throw new Error("lowdb: missing adapter");
  if (n === void 0)
    throw new Error("lowdb: missing default data");
}
class dc {
  constructor(n, t) {
    S(this, "adapter");
    S(this, "data");
    uc(n, t), this.adapter = n, this.data = t;
  }
  read() {
    const n = this.adapter.read();
    n && (this.data = n);
  }
  write() {
    this.data && this.adapter.write(this.data);
  }
}
var Fe, De;
class mc {
  constructor(n) {
    on(this, Fe);
    on(this, De);
    rn(this, De, n);
    const t = n.toString();
    rn(this, Fe, q.join(q.dirname(t), `.${q.basename(t)}.tmp`));
  }
  read() {
    let n;
    try {
      n = Gn.readFileSync(ve(this, De), "utf-8");
    } catch (t) {
      if (t.code === "ENOENT")
        return null;
      throw t;
    }
    return n;
  }
  write(n) {
    Gn.writeFileSync(ve(this, Fe), n), Gn.renameSync(ve(this, Fe), ve(this, De));
  }
}
Fe = new WeakMap(), De = new WeakMap();
var Le;
class fc {
  constructor(n) {
    on(this, Le);
    rn(this, Le, new mc(n));
  }
  read() {
    const n = ve(this, Le).read();
    return n === null ? null : JSON.parse(n);
  }
  write(n) {
    ve(this, Le).write(JSON.stringify(n, null, 2));
  }
}
Le = new WeakMap();
const hc = Object.keys, xc = q.join(D.getPath("userData"), "store.json"), vc = new fc(xc), $ = new dc(vc, ye), zn = {
  get: (e) => zn.getAll()[e],
  set: (e, n) => {
    $.read(), $.data === null && ($.data = ye), $.data[e] = n, $.write();
  },
  getAll: () => {
    if ($.read(), $.data === null)
      return ye;
    for (const e of hc($.data))
      ye[e] === void 0 && delete $.data[e];
    return Array.isArray($.data.apps) && ($.data = {
      ...$.data,
      apps: $.data.apps.filter((e) => !!e.name)
    }), {
      ...ye,
      ...$.data
    };
  },
  setAll: (e) => {
    $.data = e, $.write();
  }
};
var bc = function e(n, t) {
  if (n === t) return !0;
  if (n && t && typeof n == "object" && typeof t == "object") {
    if (n.constructor !== t.constructor) return !1;
    var a, i, o;
    if (Array.isArray(n)) {
      if (a = n.length, a != t.length) return !1;
      for (i = a; i-- !== 0; )
        if (!e(n[i], t[i])) return !1;
      return !0;
    }
    if (n.constructor === RegExp) return n.source === t.source && n.flags === t.flags;
    if (n.valueOf !== Object.prototype.valueOf) return n.valueOf() === t.valueOf();
    if (n.toString !== Object.prototype.toString) return n.toString() === t.toString();
    if (o = Object.keys(n), a = o.length, a !== Object.keys(t).length) return !1;
    for (i = a; i-- !== 0; )
      if (!Object.prototype.hasOwnProperty.call(t, o[i])) return !1;
    for (i = a; i-- !== 0; ) {
      var s = o[i];
      if (!e(n[s], t[s])) return !1;
    }
    return !0;
  }
  return n !== n && t !== t;
};
const gc = /* @__PURE__ */ Pn(bc), Ja = q.dirname(sa(import.meta.url));
let ln;
function yc() {
  ln = new Lo(q.join(Ja, "/icon/tray_iconTemplate.png")), ln.setPressedImage(q.join(Ja, "/icon/tray_iconHighlight.png")), ln.setToolTip("Browserosaurus"), ln.setContextMenu(
    Po.buildFromTemplate([
      {
        click: () => H(As()),
        label: "Restore recently closed URL"
      },
      {
        type: "separator"
      },
      {
        click: () => H(Ns()),
        label: "Preferences..."
      },
      {
        type: "separator"
      },
      {
        click: () => D.exit(),
        label: "Quit"
      }
    ])
  );
}
const Ka = (e) => e ? (zo.writeText(e), new Bo({
  body: "URL copied to clipboard",
  silent: !0,
  title: "Browserosaurus"
}).show(), !0) : !1;
var fn = { exports: {} }, Zn = { exports: {} }, Ga;
function zs() {
  return Ga || (Ga = 1, function(e) {
    let n = {};
    try {
      n = require("electron");
    } catch {
    }
    n.ipcRenderer && t(n), e.exports = t;
    function t({ contextBridge: a, ipcRenderer: i }) {
      if (!i)
        return;
      i.on("__ELECTRON_LOG_IPC__", (s, r) => {
        window.postMessage({ cmd: "message", ...r });
      }), i.invoke("__ELECTRON_LOG__", { cmd: "getOptions" }).catch((s) => console.error(new Error(
        `electron-log isn't initialized in the main process. Please call log.initialize() before. ${s.message}`
      )));
      const o = {
        sendToMain(s) {
          try {
            i.send("__ELECTRON_LOG__", s);
          } catch (r) {
            console.error("electronLog.sendToMain ", r, "data:", s), i.send("__ELECTRON_LOG__", {
              cmd: "errorHandler",
              error: { message: r == null ? void 0 : r.message, stack: r == null ? void 0 : r.stack },
              errorName: "sendToMain"
            });
          }
        },
        log(...s) {
          o.sendToMain({ data: s, level: "info" });
        }
      };
      for (const s of ["error", "warn", "info", "verbose", "debug", "silly"])
        o[s] = (...r) => o.sendToMain({
          data: r,
          level: s
        });
      if (a && process.contextIsolated)
        try {
          a.exposeInMainWorld("__electronLog", o);
        } catch {
        }
      typeof window == "object" ? window.__electronLog = o : __electronLog = o;
    }
  }(Zn)), Zn.exports;
}
var et = { exports: {} }, nt, Ya;
function wc() {
  if (Ya) return nt;
  Ya = 1, nt = e;
  function e(n) {
    return Object.defineProperties(t, {
      defaultLabel: { value: "", writable: !0 },
      labelPadding: { value: !0, writable: !0 },
      maxLabelLength: { value: 0, writable: !0 },
      labelLength: {
        get() {
          switch (typeof t.labelPadding) {
            case "boolean":
              return t.labelPadding ? t.maxLabelLength : 0;
            case "number":
              return t.labelPadding;
            default:
              return 0;
          }
        }
      }
    });
    function t(a) {
      t.maxLabelLength = Math.max(t.maxLabelLength, a.length);
      const i = {};
      for (const o of [...n.levels, "log"])
        i[o] = (...s) => n.logData(s, { level: o, scope: a });
      return i;
    }
  }
  return nt;
}
var tt, Xa;
function Bs() {
  if (Xa) return tt;
  Xa = 1;
  const e = wc(), t = class t {
    constructor({
      allowUnknownLevel: i = !1,
      dependencies: o = {},
      errorHandler: s,
      eventLogger: r,
      initializeFn: c,
      isDev: l = !1,
      levels: p = ["error", "warn", "info", "verbose", "debug", "silly"],
      logId: u,
      transportFactories: d = {},
      variables: x
    } = {}) {
      S(this, "dependencies", {});
      S(this, "errorHandler", null);
      S(this, "eventLogger", null);
      S(this, "functions", {});
      S(this, "hooks", []);
      S(this, "isDev", !1);
      S(this, "levels", null);
      S(this, "logId", null);
      S(this, "scope", null);
      S(this, "transports", {});
      S(this, "variables", {});
      this.addLevel = this.addLevel.bind(this), this.create = this.create.bind(this), this.initialize = this.initialize.bind(this), this.logData = this.logData.bind(this), this.processMessage = this.processMessage.bind(this), this.allowUnknownLevel = i, this.dependencies = o, this.initializeFn = c, this.isDev = l, this.levels = p, this.logId = u, this.transportFactories = d, this.variables = x || {}, this.scope = e(this);
      for (const h of this.levels)
        this.addLevel(h, !1);
      this.log = this.info, this.functions.log = this.log, this.errorHandler = s, s == null || s.setOptions({ ...o, logFn: this.error }), this.eventLogger = r, r == null || r.setOptions({ ...o, logger: this });
      for (const [h, v] of Object.entries(d))
        this.transports[h] = v(this, o);
      t.instances[u] = this;
    }
    static getInstance({ logId: i }) {
      return this.instances[i] || this.instances.default;
    }
    addLevel(i, o = this.levels.length) {
      o !== !1 && this.levels.splice(o, 0, i), this[i] = (...s) => this.logData(s, { level: i }), this.functions[i] = this[i];
    }
    catchErrors(i) {
      return this.processMessage(
        {
          data: ["log.catchErrors is deprecated. Use log.errorHandler instead"],
          level: "warn"
        },
        { transports: ["console"] }
      ), this.errorHandler.startCatching(i);
    }
    create(i) {
      return typeof i == "string" && (i = { logId: i }), new t({
        dependencies: this.dependencies,
        errorHandler: this.errorHandler,
        initializeFn: this.initializeFn,
        isDev: this.isDev,
        transportFactories: this.transportFactories,
        variables: { ...this.variables },
        ...i
      });
    }
    compareLevels(i, o, s = this.levels) {
      const r = s.indexOf(i), c = s.indexOf(o);
      return c === -1 || r === -1 ? !0 : c <= r;
    }
    initialize(i = {}) {
      this.initializeFn({ logger: this, ...this.dependencies, ...i });
    }
    logData(i, o = {}) {
      this.processMessage({ data: i, ...o });
    }
    processMessage(i, { transports: o = this.transports } = {}) {
      if (i.cmd === "errorHandler") {
        this.errorHandler.handle(i.error, {
          errorName: i.errorName,
          processType: "renderer",
          showDialog: !!i.showDialog
        });
        return;
      }
      let s = i.level;
      this.allowUnknownLevel || (s = this.levels.includes(i.level) ? i.level : "info");
      const r = {
        date: /* @__PURE__ */ new Date(),
        ...i,
        level: s,
        variables: {
          ...this.variables,
          ...i.variables
        }
      };
      for (const [c, l] of this.transportEntries(o))
        if (!(typeof l != "function" || l.level === !1) && this.compareLevels(l.level, i.level))
          try {
            const p = this.hooks.reduce((u, d) => u && d(u, l, c), r);
            p && l({ ...p, data: [...p.data] });
          } catch (p) {
            this.processInternalErrorFn(p);
          }
    }
    processInternalErrorFn(i) {
    }
    transportEntries(i = this.transports) {
      return (Array.isArray(i) ? i : Object.entries(i)).map((s) => {
        switch (typeof s) {
          case "string":
            return this.transports[s] ? [s, this.transports[s]] : null;
          case "function":
            return [s.name, s];
          default:
            return Array.isArray(s) ? s : null;
        }
      }).filter(Boolean);
    }
  };
  S(t, "instances", {});
  let n = t;
  return tt = n, tt;
}
var at, Qa;
function Ec() {
  if (Qa) return at;
  Qa = 1;
  const e = console.error;
  class n {
    constructor({ logFn: a = null } = {}) {
      S(this, "logFn", null);
      S(this, "onError", null);
      S(this, "showDialog", !1);
      S(this, "preventDefault", !0);
      this.handleError = this.handleError.bind(this), this.handleRejection = this.handleRejection.bind(this), this.startCatching = this.startCatching.bind(this), this.logFn = a;
    }
    handle(a, {
      logFn: i = this.logFn,
      errorName: o = "",
      onError: s = this.onError,
      showDialog: r = this.showDialog
    } = {}) {
      try {
        (s == null ? void 0 : s({ error: a, errorName: o, processType: "renderer" })) !== !1 && i({ error: a, errorName: o, showDialog: r });
      } catch {
        e(a);
      }
    }
    setOptions({ logFn: a, onError: i, preventDefault: o, showDialog: s }) {
      typeof a == "function" && (this.logFn = a), typeof i == "function" && (this.onError = i), typeof o == "boolean" && (this.preventDefault = o), typeof s == "boolean" && (this.showDialog = s);
    }
    startCatching({ onError: a, showDialog: i } = {}) {
      this.isActive || (this.isActive = !0, this.setOptions({ onError: a, showDialog: i }), window.addEventListener("error", (o) => {
        var s;
        this.preventDefault && ((s = o.preventDefault) == null || s.call(o)), this.handleError(o.error || o);
      }), window.addEventListener("unhandledrejection", (o) => {
        var s;
        this.preventDefault && ((s = o.preventDefault) == null || s.call(o)), this.handleRejection(o.reason || o);
      }));
    }
    handleError(a) {
      this.handle(a, { errorName: "Unhandled" });
    }
    handleRejection(a) {
      const i = a instanceof Error ? a : new Error(JSON.stringify(a));
      this.handle(i, { errorName: "Unhandled rejection" });
    }
  }
  return at = n, at;
}
var it, Za;
function _c() {
  if (Za) return it;
  Za = 1, it = n;
  const e = {
    error: console.error,
    warn: console.warn,
    info: console.info,
    verbose: console.info,
    debug: console.debug,
    silly: console.debug,
    log: console.log
  };
  function n(t) {
    return Object.assign(a, {
      format: "{h}:{i}:{s}.{ms}{scope} › {text}",
      formatDataFn({
        data: i = [],
        date: o = /* @__PURE__ */ new Date(),
        format: s = a.format,
        logId: r = t.logId,
        scope: c = t.scopeName,
        ...l
      }) {
        return typeof s == "function" ? s({ ...l, data: i, date: o, logId: r, scope: c }) : (typeof s != "string" || (i.unshift(s), typeof i[1] == "string" && i[1].match(/%[1cdfiOos]/) && (i = [`${i[0]} ${i[1]}`, ...i.slice(2)]), i[0] = i[0].replace(/\{(\w+)}/g, (p, u) => {
          var d;
          switch (u) {
            case "level":
              return l.level;
            case "logId":
              return r;
            case "scope":
              return c ? ` (${c})` : "";
            case "text":
              return "";
            case "y":
              return o.getFullYear().toString(10);
            case "m":
              return (o.getMonth() + 1).toString(10).padStart(2, "0");
            case "d":
              return o.getDate().toString(10).padStart(2, "0");
            case "h":
              return o.getHours().toString(10).padStart(2, "0");
            case "i":
              return o.getMinutes().toString(10).padStart(2, "0");
            case "s":
              return o.getSeconds().toString(10).padStart(2, "0");
            case "ms":
              return o.getMilliseconds().toString(10).padStart(3, "0");
            case "iso":
              return o.toISOString();
            default:
              return ((d = l.variables) == null ? void 0 : d[u]) || p;
          }
        }).trim()), i);
      },
      writeFn({ message: { level: i, data: o } }) {
        const s = e[i] || e.info;
        setTimeout(() => s(...o));
      }
    });
    function a(i) {
      a.writeFn({
        message: { ...i, data: a.formatDataFn(i) }
      });
    }
  }
  return it;
}
var st, ei;
function kc() {
  if (ei) return st;
  ei = 1, st = n;
  const e = /* @__PURE__ */ new Set([Promise, WeakMap, WeakSet]);
  function n(a) {
    return Object.assign(i, {
      depth: 5,
      serializeFn(o, { depth: s = 5, seen: r = /* @__PURE__ */ new WeakSet() } = {}) {
        return r.has(o) ? "[Circular]" : s < 1 ? t(o) ? o : Array.isArray(o) ? "[Array]" : `[${typeof o}]` : ["function", "symbol"].includes(typeof o) ? o.toString() : t(o) ? o : e.has(o.constructor) ? `[${o.constructor.name}]` : Array.isArray(o) ? o.map((c) => i.serializeFn(
          c,
          { depth: s - 1, seen: r }
        )) : o instanceof Date ? o.toISOString() : o instanceof Error ? o.stack : o instanceof Map ? new Map(
          Array.from(o).map(([c, l]) => [
            i.serializeFn(c, { depth: s - 1, seen: r }),
            i.serializeFn(l, { depth: s - 1, seen: r })
          ])
        ) : o instanceof Set ? new Set(
          Array.from(o).map(
            (c) => i.serializeFn(c, { depth: s - 1, seen: r })
          )
        ) : (r.add(o), Object.fromEntries(
          Object.entries(o).map(
            ([c, l]) => [
              c,
              i.serializeFn(l, { depth: s - 1, seen: r })
            ]
          )
        ));
      }
    });
    function i(o) {
      if (!window.__electronLog) {
        a.processMessage(
          {
            data: ["electron-log: logger isn't initialized in the main process"],
            level: "error"
          },
          { transports: ["console"] }
        );
        return;
      }
      try {
        __electronLog.sendToMain(i.serializeFn(o, {
          depth: i.depth
        }));
      } catch (s) {
        a.transports.console({
          data: ["electronLog.transports.ipc", s, "data:", o.data],
          level: "error"
        });
      }
    }
  }
  function t(a) {
    return Object(a) !== a;
  }
  return st;
}
var ni;
function Sc() {
  return ni || (ni = 1, function(e) {
    const n = Bs(), t = Ec(), a = _c(), i = kc();
    e.exports = o(), e.exports.Logger = n, e.exports.default = e.exports;
    function o() {
      const s = new n({
        allowUnknownLevel: !0,
        errorHandler: new t(),
        initializeFn: () => {
        },
        logId: "default",
        transportFactories: {
          console: a,
          ipc: i
        },
        variables: {
          processType: "renderer"
        }
      });
      return s.errorHandler.setOptions({
        logFn({ error: r, errorName: c, showDialog: l }) {
          s.transports.console({
            data: [c, r].filter(Boolean),
            level: "error"
          }), s.transports.ipc({
            cmd: "errorHandler",
            error: {
              cause: r == null ? void 0 : r.cause,
              code: r == null ? void 0 : r.code,
              name: r == null ? void 0 : r.name,
              message: r == null ? void 0 : r.message,
              stack: r == null ? void 0 : r.stack
            },
            errorName: c,
            logId: s.logId,
            showDialog: l
          });
        }
      }), typeof window == "object" && window.addEventListener("message", (r) => {
        const { cmd: c, logId: l, ...p } = r.data || {}, u = n.getInstance({ logId: l });
        c === "message" && u.processMessage(p, { transports: ["console"] });
      }), new Proxy(s, {
        get(r, c) {
          return typeof r[c] < "u" ? r[c] : (...l) => s.logData(l, { level: c });
        }
      });
    }
  }(et)), et.exports;
}
var ot, ti;
function Oc() {
  if (ti) return ot;
  ti = 1;
  const e = Be, n = he;
  ot = {
    findAndReadPackageJson: t,
    tryReadJsonAt: a
  };
  function t() {
    return a(s()) || a(o()) || a(process.resourcesPath, "app.asar") || a(process.resourcesPath, "app") || a(process.cwd()) || { name: void 0, version: void 0 };
  }
  function a(...r) {
    if (r[0])
      try {
        const c = n.join(...r), l = i("package.json", c);
        if (!l)
          return;
        const p = JSON.parse(e.readFileSync(l, "utf8")), u = (p == null ? void 0 : p.productName) || (p == null ? void 0 : p.name);
        return !u || u.toLowerCase() === "electron" ? void 0 : u ? { name: u, version: p == null ? void 0 : p.version } : void 0;
      } catch {
        return;
      }
  }
  function i(r, c) {
    let l = c;
    for (; ; ) {
      const p = n.parse(l), u = p.root, d = p.dir;
      if (e.existsSync(n.join(l, r)))
        return n.resolve(n.join(l, r));
      if (l === u)
        return null;
      l = d;
    }
  }
  function o() {
    const r = process.argv.filter((l) => l.indexOf("--user-data-dir=") === 0);
    return r.length === 0 || typeof r[0] != "string" ? null : r[0].replace("--user-data-dir=", "");
  }
  function s() {
    var r;
    try {
      return (r = require.main) == null ? void 0 : r.filename;
    } catch {
      return;
    }
  }
  return ot;
}
var rt, ai;
function qs() {
  if (ai) return rt;
  ai = 1;
  const e = Uo, n = jn, t = he, a = Oc();
  class i {
    constructor() {
      S(this, "appName");
      S(this, "appPackageJson");
      S(this, "platform", process.platform);
    }
    getAppLogPath(s = this.getAppName()) {
      return this.platform === "darwin" ? t.join(this.getSystemPathHome(), "Library/Logs", s) : t.join(this.getAppUserDataPath(s), "logs");
    }
    getAppName() {
      var r;
      const s = this.appName || ((r = this.getAppPackageJson()) == null ? void 0 : r.name);
      if (!s)
        throw new Error(
          "electron-log can't determine the app name. It tried these methods:\n1. Use `electron.app.name`\n2. Use productName or name from the nearest package.json`\nYou can also set it through log.transports.file.setAppName()"
        );
      return s;
    }
    /**
     * @private
     * @returns {undefined}
     */
    getAppPackageJson() {
      return typeof this.appPackageJson != "object" && (this.appPackageJson = a.findAndReadPackageJson()), this.appPackageJson;
    }
    getAppUserDataPath(s = this.getAppName()) {
      return s ? t.join(this.getSystemPathAppData(), s) : void 0;
    }
    getAppVersion() {
      var s;
      return (s = this.getAppPackageJson()) == null ? void 0 : s.version;
    }
    getElectronLogPath() {
      return this.getAppLogPath();
    }
    getMacOsVersion() {
      const s = Number(n.release().split(".")[0]);
      return s <= 19 ? `10.${s - 4}` : s - 9;
    }
    /**
     * @protected
     * @returns {string}
     */
    getOsVersion() {
      let s = n.type().replace("_", " "), r = n.release();
      return s === "Darwin" && (s = "macOS", r = this.getMacOsVersion()), `${s} ${r}`;
    }
    /**
     * @return {PathVariables}
     */
    getPathVariables() {
      const s = this.getAppName(), r = this.getAppVersion(), c = this;
      return {
        appData: this.getSystemPathAppData(),
        appName: s,
        appVersion: r,
        get electronDefaultDir() {
          return c.getElectronLogPath();
        },
        home: this.getSystemPathHome(),
        libraryDefaultDir: this.getAppLogPath(s),
        libraryTemplate: this.getAppLogPath("{appName}"),
        temp: this.getSystemPathTemp(),
        userData: this.getAppUserDataPath(s)
      };
    }
    getSystemPathAppData() {
      const s = this.getSystemPathHome();
      switch (this.platform) {
        case "darwin":
          return t.join(s, "Library/Application Support");
        case "win32":
          return process.env.APPDATA || t.join(s, "AppData/Roaming");
        default:
          return process.env.XDG_CONFIG_HOME || t.join(s, ".config");
      }
    }
    getSystemPathHome() {
      var s;
      return ((s = n.homedir) == null ? void 0 : s.call(n)) || process.env.HOME;
    }
    getSystemPathTemp() {
      return n.tmpdir();
    }
    getVersions() {
      return {
        app: `${this.getAppName()} ${this.getAppVersion()}`,
        electron: void 0,
        os: this.getOsVersion()
      };
    }
    isDev() {
      return process.env.NODE_ENV === "development" || process.env.ELECTRON_IS_DEV === "1";
    }
    isElectron() {
      return !!process.versions.electron;
    }
    onAppEvent(s, r) {
    }
    onAppReady(s) {
      s();
    }
    onEveryWebContentsEvent(s, r) {
    }
    /**
     * Listen to async messages sent from opposite process
     * @param {string} channel
     * @param {function} listener
     */
    onIpc(s, r) {
    }
    onIpcInvoke(s, r) {
    }
    /**
     * @param {string} url
     * @param {Function} [logFunction]
     */
    openUrl(s, r = console.error) {
      const l = { darwin: "open", win32: "start", linux: "xdg-open" }[process.platform] || "xdg-open";
      e.exec(`${l} ${s}`, {}, (p) => {
        p && r(p);
      });
    }
    setAppName(s) {
      this.appName = s;
    }
    setPlatform(s) {
      this.platform = s;
    }
    setPreloadFileForSessions({
      filePath: s,
      // eslint-disable-line no-unused-vars
      includeFutureSession: r = !0,
      // eslint-disable-line no-unused-vars
      getSessions: c = () => []
      // eslint-disable-line no-unused-vars
    }) {
    }
    /**
     * Sent a message to opposite process
     * @param {string} channel
     * @param {any} message
     */
    sendIpc(s, r) {
    }
    showErrorBox(s, r) {
    }
  }
  return rt = i, rt;
}
var ct, ii;
function jc() {
  if (ii) return ct;
  ii = 1;
  const e = he, n = qs();
  class t extends n {
    /**
     * @param {object} options
     * @param {typeof Electron} [options.electron]
     */
    constructor({ electron: o } = {}) {
      super();
      /**
       * @type {typeof Electron}
       */
      S(this, "electron");
      this.electron = o;
    }
    getAppName() {
      var s, r;
      let o;
      try {
        o = this.appName || ((s = this.electron.app) == null ? void 0 : s.name) || ((r = this.electron.app) == null ? void 0 : r.getName());
      } catch {
      }
      return o || super.getAppName();
    }
    getAppUserDataPath(o) {
      return this.getPath("userData") || super.getAppUserDataPath(o);
    }
    getAppVersion() {
      var s;
      let o;
      try {
        o = (s = this.electron.app) == null ? void 0 : s.getVersion();
      } catch {
      }
      return o || super.getAppVersion();
    }
    getElectronLogPath() {
      return this.getPath("logs") || super.getElectronLogPath();
    }
    /**
     * @private
     * @param {any} name
     * @returns {string|undefined}
     */
    getPath(o) {
      var s;
      try {
        return (s = this.electron.app) == null ? void 0 : s.getPath(o);
      } catch {
        return;
      }
    }
    getVersions() {
      return {
        app: `${this.getAppName()} ${this.getAppVersion()}`,
        electron: `Electron ${process.versions.electron}`,
        os: this.getOsVersion()
      };
    }
    getSystemPathAppData() {
      return this.getPath("appData") || super.getSystemPathAppData();
    }
    isDev() {
      var o;
      return ((o = this.electron.app) == null ? void 0 : o.isPackaged) !== void 0 ? !this.electron.app.isPackaged : typeof process.execPath == "string" ? e.basename(process.execPath).toLowerCase().startsWith("electron") : super.isDev();
    }
    onAppEvent(o, s) {
      var r;
      return (r = this.electron.app) == null || r.on(o, s), () => {
        var c;
        (c = this.electron.app) == null || c.off(o, s);
      };
    }
    onAppReady(o) {
      var s, r, c;
      (s = this.electron.app) != null && s.isReady() ? o() : (r = this.electron.app) != null && r.once ? (c = this.electron.app) == null || c.once("ready", o) : o();
    }
    onEveryWebContentsEvent(o, s) {
      var c, l, p;
      return (l = (c = this.electron.webContents) == null ? void 0 : c.getAllWebContents()) == null || l.forEach((u) => {
        u.on(o, s);
      }), (p = this.electron.app) == null || p.on("web-contents-created", r), () => {
        var u, d;
        (u = this.electron.webContents) == null || u.getAllWebContents().forEach((x) => {
          x.off(o, s);
        }), (d = this.electron.app) == null || d.off("web-contents-created", r);
      };
      function r(u, d) {
        d.on(o, s);
      }
    }
    /**
     * Listen to async messages sent from opposite process
     * @param {string} channel
     * @param {function} listener
     */
    onIpc(o, s) {
      var r;
      (r = this.electron.ipcMain) == null || r.on(o, s);
    }
    onIpcInvoke(o, s) {
      var r, c;
      (c = (r = this.electron.ipcMain) == null ? void 0 : r.handle) == null || c.call(r, o, s);
    }
    /**
     * @param {string} url
     * @param {Function} [logFunction]
     */
    openUrl(o, s = console.error) {
      var r;
      (r = this.electron.shell) == null || r.openExternal(o).catch(s);
    }
    setPreloadFileForSessions({
      filePath: o,
      includeFutureSession: s = !0,
      getSessions: r = () => {
        var c;
        return [(c = this.electron.session) == null ? void 0 : c.defaultSession];
      }
    }) {
      for (const l of r().filter(Boolean))
        c(l);
      s && this.onAppEvent("session-created", (l) => {
        c(l);
      });
      function c(l) {
        l.setPreloads([...l.getPreloads(), o]);
      }
    }
    /**
     * Sent a message to opposite process
     * @param {string} channel
     * @param {any} message
     */
    sendIpc(o, s) {
      var r, c;
      (c = (r = this.electron.BrowserWindow) == null ? void 0 : r.getAllWindows()) == null || c.forEach((l) => {
        var p;
        ((p = l.webContents) == null ? void 0 : p.isDestroyed()) === !1 && l.webContents.send(o, s);
      });
    }
    showErrorBox(o, s) {
      var r;
      (r = this.electron.dialog) == null || r.showErrorBox(o, s);
    }
  }
  return ct = t, ct;
}
var pt, si;
function Cc() {
  if (si) return pt;
  si = 1;
  const e = Be, n = jn, t = he, a = zs();
  pt = {
    initialize({
      externalApi: s,
      getSessions: r,
      includeFutureSession: c,
      logger: l,
      preload: p = !0,
      spyRendererConsole: u = !1
    }) {
      s.onAppReady(() => {
        try {
          p && i({
            externalApi: s,
            getSessions: r,
            includeFutureSession: c,
            preloadOption: p
          }), u && o({ externalApi: s, logger: l });
        } catch (d) {
          l.warn(d);
        }
      });
    }
  };
  function i({
    externalApi: s,
    getSessions: r,
    includeFutureSession: c,
    preloadOption: l
  }) {
    let p = typeof l == "string" ? l : void 0;
    try {
      p = t.resolve(
        __dirname,
        "../renderer/electron-log-preload.js"
      );
    } catch {
    }
    if (!p || !e.existsSync(p)) {
      p = t.join(
        s.getAppUserDataPath() || n.tmpdir(),
        "electron-log-preload.js"
      );
      const u = `
      try {
        (${a.toString()})(require('electron'));
      } catch(e) {
        console.error(e);
      }
    `;
      e.writeFileSync(p, u, "utf8");
    }
    s.setPreloadFileForSessions({
      filePath: p,
      includeFutureSession: c,
      getSessions: r
    });
  }
  function o({ externalApi: s, logger: r }) {
    const c = ["verbose", "info", "warning", "error"];
    s.onEveryWebContentsEvent(
      "console-message",
      (l, p, u) => {
        r.processMessage({
          data: [u],
          level: c[p],
          variables: { processType: "renderer" }
        });
      }
    );
  }
  return pt;
}
var lt, oi;
function Rc() {
  if (oi) return lt;
  oi = 1;
  class e {
    constructor({
      externalApi: a,
      logFn: i = void 0,
      onError: o = void 0,
      showDialog: s = void 0
    } = {}) {
      S(this, "externalApi");
      S(this, "isActive", !1);
      S(this, "logFn");
      S(this, "onError");
      S(this, "showDialog", !0);
      this.createIssue = this.createIssue.bind(this), this.handleError = this.handleError.bind(this), this.handleRejection = this.handleRejection.bind(this), this.setOptions({ externalApi: a, logFn: i, onError: o, showDialog: s }), this.startCatching = this.startCatching.bind(this), this.stopCatching = this.stopCatching.bind(this);
    }
    handle(a, {
      logFn: i = this.logFn,
      onError: o = this.onError,
      processType: s = "browser",
      showDialog: r = this.showDialog,
      errorName: c = ""
    } = {}) {
      var l;
      a = n(a);
      try {
        if (typeof o == "function") {
          const p = ((l = this.externalApi) == null ? void 0 : l.getVersions()) || {}, u = this.createIssue;
          if (o({
            createIssue: u,
            error: a,
            errorName: c,
            processType: s,
            versions: p
          }) === !1)
            return;
        }
        c ? i(c, a) : i(a), r && !c.includes("rejection") && this.externalApi && this.externalApi.showErrorBox(
          `A JavaScript error occurred in the ${s} process`,
          a.stack
        );
      } catch {
        console.error(a);
      }
    }
    setOptions({ externalApi: a, logFn: i, onError: o, showDialog: s }) {
      typeof a == "object" && (this.externalApi = a), typeof i == "function" && (this.logFn = i), typeof o == "function" && (this.onError = o), typeof s == "boolean" && (this.showDialog = s);
    }
    startCatching({ onError: a, showDialog: i } = {}) {
      this.isActive || (this.isActive = !0, this.setOptions({ onError: a, showDialog: i }), process.on("uncaughtException", this.handleError), process.on("unhandledRejection", this.handleRejection));
    }
    stopCatching() {
      this.isActive = !1, process.removeListener("uncaughtException", this.handleError), process.removeListener("unhandledRejection", this.handleRejection);
    }
    createIssue(a, i) {
      var o;
      (o = this.externalApi) == null || o.openUrl(
        `${a}?${new URLSearchParams(i).toString()}`
      );
    }
    handleError(a) {
      this.handle(a, { errorName: "Unhandled" });
    }
    handleRejection(a) {
      const i = a instanceof Error ? a : new Error(JSON.stringify(a));
      this.handle(i, { errorName: "Unhandled rejection" });
    }
  }
  function n(t) {
    if (t instanceof Error)
      return t;
    if (t && typeof t == "object") {
      if (t.message)
        return Object.assign(new Error(t.message), t);
      try {
        return new Error(JSON.stringify(t));
      } catch (a) {
        return new Error(`Couldn't normalize error ${String(t)}: ${a}`);
      }
    }
    return new Error(`Can't normalize error ${String(t)}`);
  }
  return lt = e, lt;
}
var ut, ri;
function Ac() {
  if (ri) return ut;
  ri = 1;
  class e {
    constructor(t = {}) {
      S(this, "disposers", []);
      S(this, "format", "{eventSource}#{eventName}:");
      S(this, "formatters", {
        app: {
          "certificate-error": ({ args: t }) => this.arrayToObject(t.slice(1, 4), [
            "url",
            "error",
            "certificate"
          ]),
          "child-process-gone": ({ args: t }) => t.length === 1 ? t[0] : t,
          "render-process-gone": ({ args: [t, a] }) => a && typeof a == "object" ? { ...a, ...this.getWebContentsDetails(t) } : []
        },
        webContents: {
          "console-message": ({ args: [t, a, i, o] }) => {
            if (!(t < 3))
              return { message: a, source: `${o}:${i}` };
          },
          "did-fail-load": ({ args: t }) => this.arrayToObject(t, [
            "errorCode",
            "errorDescription",
            "validatedURL",
            "isMainFrame",
            "frameProcessId",
            "frameRoutingId"
          ]),
          "did-fail-provisional-load": ({ args: t }) => this.arrayToObject(t, [
            "errorCode",
            "errorDescription",
            "validatedURL",
            "isMainFrame",
            "frameProcessId",
            "frameRoutingId"
          ]),
          "plugin-crashed": ({ args: t }) => this.arrayToObject(t, ["name", "version"]),
          "preload-error": ({ args: t }) => this.arrayToObject(t, ["preloadPath", "error"])
        }
      });
      S(this, "events", {
        app: {
          "certificate-error": !0,
          "child-process-gone": !0,
          "render-process-gone": !0
        },
        webContents: {
          // 'console-message': true,
          "did-fail-load": !0,
          "did-fail-provisional-load": !0,
          "plugin-crashed": !0,
          "preload-error": !0,
          unresponsive: !0
        }
      });
      S(this, "externalApi");
      S(this, "level", "error");
      S(this, "scope", "");
      this.setOptions(t);
    }
    setOptions({
      events: t,
      externalApi: a,
      level: i,
      logger: o,
      format: s,
      formatters: r,
      scope: c
    }) {
      typeof t == "object" && (this.events = t), typeof a == "object" && (this.externalApi = a), typeof i == "string" && (this.level = i), typeof o == "object" && (this.logger = o), (typeof s == "string" || typeof s == "function") && (this.format = s), typeof r == "object" && (this.formatters = r), typeof c == "string" && (this.scope = c);
    }
    startLogging(t = {}) {
      this.setOptions(t), this.disposeListeners();
      for (const a of this.getEventNames(this.events.app))
        this.disposers.push(
          this.externalApi.onAppEvent(a, (...i) => {
            this.handleEvent({ eventSource: "app", eventName: a, handlerArgs: i });
          })
        );
      for (const a of this.getEventNames(this.events.webContents))
        this.disposers.push(
          this.externalApi.onEveryWebContentsEvent(
            a,
            (...i) => {
              this.handleEvent(
                { eventSource: "webContents", eventName: a, handlerArgs: i }
              );
            }
          )
        );
    }
    stopLogging() {
      this.disposeListeners();
    }
    arrayToObject(t, a) {
      const i = {};
      return a.forEach((o, s) => {
        i[o] = t[s];
      }), t.length > a.length && (i.unknownArgs = t.slice(a.length)), i;
    }
    disposeListeners() {
      this.disposers.forEach((t) => t()), this.disposers = [];
    }
    formatEventLog({ eventName: t, eventSource: a, handlerArgs: i }) {
      var u;
      const [o, ...s] = i;
      if (typeof this.format == "function")
        return this.format({ args: s, event: o, eventName: t, eventSource: a });
      const r = (u = this.formatters[a]) == null ? void 0 : u[t];
      let c = s;
      if (typeof r == "function" && (c = r({ args: s, event: o, eventName: t, eventSource: a })), !c)
        return;
      const l = {};
      return Array.isArray(c) ? l.args = c : typeof c == "object" && Object.assign(l, c), a === "webContents" && Object.assign(l, this.getWebContentsDetails(o == null ? void 0 : o.sender)), [this.format.replace("{eventSource}", a === "app" ? "App" : "WebContents").replace("{eventName}", t), l];
    }
    getEventNames(t) {
      return !t || typeof t != "object" ? [] : Object.entries(t).filter(([a, i]) => i).map(([a]) => a);
    }
    getWebContentsDetails(t) {
      if (!(t != null && t.loadURL))
        return {};
      try {
        return {
          webContents: {
            id: t.id,
            url: t.getURL()
          }
        };
      } catch {
        return {};
      }
    }
    handleEvent({ eventName: t, eventSource: a, handlerArgs: i }) {
      var s;
      const o = this.formatEventLog({ eventName: t, eventSource: a, handlerArgs: i });
      if (o) {
        const r = this.scope ? this.logger.scope(this.scope) : this.logger;
        (s = r == null ? void 0 : r[this.level]) == null || s.call(r, ...o);
      }
    }
  }
  return ut = e, ut;
}
var dt, ci;
function Ze() {
  if (ci) return dt;
  ci = 1, dt = { transform: e };
  function e({
    logger: n,
    message: t,
    transport: a,
    initialData: i = (t == null ? void 0 : t.data) || [],
    transforms: o = a == null ? void 0 : a.transforms
  }) {
    return o.reduce((s, r) => typeof r == "function" ? r({ data: s, logger: n, message: t, transport: a }) : s, i);
  }
  return dt;
}
var mt, pi;
function Is() {
  if (pi) return mt;
  pi = 1;
  const { transform: e } = Ze();
  mt = {
    concatFirstStringElements: n,
    formatScope: a,
    formatText: o,
    formatVariables: i,
    timeZoneFromOffset: t,
    format({ message: s, logger: r, transport: c, data: l = s == null ? void 0 : s.data }) {
      switch (typeof c.format) {
        case "string":
          return e({
            message: s,
            logger: r,
            transforms: [i, a, o],
            transport: c,
            initialData: [c.format, ...l]
          });
        case "function":
          return c.format({
            data: l,
            level: (s == null ? void 0 : s.level) || "info",
            logger: r,
            message: s,
            transport: c
          });
        default:
          return l;
      }
    }
  };
  function n({ data: s }) {
    return typeof s[0] != "string" || typeof s[1] != "string" || s[0].match(/%[1cdfiOos]/) ? s : [`${s[0]} ${s[1]}`, ...s.slice(2)];
  }
  function t(s) {
    const r = Math.abs(s), c = s >= 0 ? "-" : "+", l = Math.floor(r / 60).toString().padStart(2, "0"), p = (r % 60).toString().padStart(2, "0");
    return `${c}${l}:${p}`;
  }
  function a({ data: s, logger: r, message: c }) {
    const { defaultLabel: l, labelLength: p } = (r == null ? void 0 : r.scope) || {}, u = s[0];
    let d = c.scope;
    d || (d = l);
    let x;
    return d === "" ? x = p > 0 ? "".padEnd(p + 3) : "" : typeof d == "string" ? x = ` (${d})`.padEnd(p + 3) : x = "", s[0] = u.replace("{scope}", x), s;
  }
  function i({ data: s, message: r }) {
    let c = s[0];
    if (typeof c != "string")
      return s;
    c = c.replace("{level}]", `${r.level}]`.padEnd(6, " "));
    const l = r.date || /* @__PURE__ */ new Date();
    return s[0] = c.replace(/\{(\w+)}/g, (p, u) => {
      var d;
      switch (u) {
        case "level":
          return r.level || "info";
        case "logId":
          return r.logId;
        case "y":
          return l.getFullYear().toString(10);
        case "m":
          return (l.getMonth() + 1).toString(10).padStart(2, "0");
        case "d":
          return l.getDate().toString(10).padStart(2, "0");
        case "h":
          return l.getHours().toString(10).padStart(2, "0");
        case "i":
          return l.getMinutes().toString(10).padStart(2, "0");
        case "s":
          return l.getSeconds().toString(10).padStart(2, "0");
        case "ms":
          return l.getMilliseconds().toString(10).padStart(3, "0");
        case "z":
          return t(l.getTimezoneOffset());
        case "iso":
          return l.toISOString();
        default:
          return ((d = r.variables) == null ? void 0 : d[u]) || p;
      }
    }).trim(), s;
  }
  function o({ data: s }) {
    const r = s[0];
    if (typeof r != "string")
      return s;
    if (r.lastIndexOf("{text}") === r.length - 6)
      return s[0] = r.replace(/\s?{text}/, ""), s[0] === "" && s.shift(), s;
    const l = r.split("{text}");
    let p = [];
    return l[0] !== "" && p.push(l[0]), p = p.concat(s.slice(1)), l[1] !== "" && p.push(l[1]), p;
  }
  return mt;
}
var ft = { exports: {} }, li;
function Bn() {
  return li || (li = 1, function(e) {
    const n = qe;
    e.exports = {
      serialize: a,
      maxDepth({ data: i, transport: o, depth: s = (o == null ? void 0 : o.depth) ?? 6 }) {
        if (!i)
          return i;
        if (s < 1)
          return Array.isArray(i) ? "[array]" : typeof i == "object" && i ? "[object]" : i;
        if (Array.isArray(i))
          return i.map((c) => e.exports.maxDepth({
            data: c,
            depth: s - 1
          }));
        if (typeof i != "object" || i && typeof i.toISOString == "function")
          return i;
        if (i === null)
          return null;
        if (i instanceof Error)
          return i;
        const r = {};
        for (const c in i)
          Object.prototype.hasOwnProperty.call(i, c) && (r[c] = e.exports.maxDepth({
            data: i[c],
            depth: s - 1
          }));
        return r;
      },
      toJSON({ data: i }) {
        return JSON.parse(JSON.stringify(i, t()));
      },
      toString({ data: i, transport: o }) {
        const s = (o == null ? void 0 : o.inspectOptions) || {}, r = i.map((c) => {
          if (c !== void 0)
            try {
              const l = JSON.stringify(c, t(), "  ");
              return l === void 0 ? void 0 : JSON.parse(l);
            } catch {
              return c;
            }
        });
        return n.formatWithOptions(s, ...r);
      }
    };
    function t(i = {}) {
      const o = /* @__PURE__ */ new WeakSet();
      return function(s, r) {
        if (typeof r == "object" && r !== null) {
          if (o.has(r))
            return;
          o.add(r);
        }
        return a(s, r, i);
      };
    }
    function a(i, o, s = {}) {
      const r = (s == null ? void 0 : s.serializeMapAndSet) !== !1;
      return o instanceof Error ? o.stack : o && (typeof o == "function" ? `[function] ${o.toString()}` : o instanceof Date ? o.toISOString() : r && o instanceof Map && Object.fromEntries ? Object.fromEntries(o) : r && o instanceof Set && Array.from ? Array.from(o) : o);
    }
  }(ft)), ft.exports;
}
var ht, ui;
function ha() {
  if (ui) return ht;
  ui = 1, ht = {
    transformStyles: a,
    applyAnsiStyles({ data: i }) {
      return a(i, n, t);
    },
    removeStyles({ data: i }) {
      return a(i, () => "");
    }
  };
  const e = {
    unset: "\x1B[0m",
    black: "\x1B[30m",
    red: "\x1B[31m",
    green: "\x1B[32m",
    yellow: "\x1B[33m",
    blue: "\x1B[34m",
    magenta: "\x1B[35m",
    cyan: "\x1B[36m",
    white: "\x1B[37m"
  };
  function n(i) {
    const o = i.replace(/color:\s*(\w+).*/, "$1").toLowerCase();
    return e[o] || "";
  }
  function t(i) {
    return i + e.unset;
  }
  function a(i, o, s) {
    const r = {};
    return i.reduce((c, l, p, u) => {
      if (r[p])
        return c;
      if (typeof l == "string") {
        let d = p, x = !1;
        l = l.replace(/%[1cdfiOos]/g, (h) => {
          if (d += 1, h !== "%c")
            return h;
          const v = u[d];
          return typeof v == "string" ? (r[d] = !0, x = !0, o(v, l)) : h;
        }), x && s && (l = s(l));
      }
      return c.push(l), c;
    }, []);
  }
  return ht;
}
var xt, di;
function Nc() {
  if (di) return xt;
  di = 1;
  const { concatFirstStringElements: e, format: n } = Is(), { maxDepth: t, toJSON: a } = Bn(), { applyAnsiStyles: i, removeStyles: o } = ha(), { transform: s } = Ze(), r = {
    error: console.error,
    warn: console.warn,
    info: console.info,
    verbose: console.info,
    debug: console.debug,
    silly: console.debug,
    log: console.log
  };
  xt = p;
  const l = `%c{h}:{i}:{s}.{ms}{scope}%c ${process.platform === "win32" ? ">" : "›"} {text}`;
  Object.assign(p, {
    DEFAULT_FORMAT: l
  });
  function p(v) {
    return Object.assign(f, {
      format: l,
      level: "silly",
      transforms: [
        u,
        n,
        x,
        e,
        t,
        a
      ],
      useStyles: process.env.FORCE_STYLES,
      writeFn({ message: b }) {
        (r[b.level] || r.info)(...b.data);
      }
    });
    function f(b) {
      const y = s({ logger: v, message: b, transport: f });
      f.writeFn({
        message: { ...b, data: y }
      });
    }
  }
  function u({ data: v, message: f, transport: b }) {
    return b.format !== l ? v : [`color:${h(f.level)}`, "color:unset", ...v];
  }
  function d(v, f) {
    if (typeof v == "boolean")
      return v;
    const y = f === "error" || f === "warn" ? process.stderr : process.stdout;
    return y && y.isTTY;
  }
  function x(v) {
    const { message: f, transport: b } = v;
    return (d(b.useStyles, f.level) ? i : o)(v);
  }
  function h(v) {
    const f = { error: "red", warn: "yellow", info: "cyan", default: "unset" };
    return f[v] || f.default;
  }
  return xt;
}
var vt, mi;
function Us() {
  if (mi) return vt;
  mi = 1;
  const e = is, n = Be, t = jn;
  class a extends e {
    constructor({
      path: r,
      writeOptions: c = { encoding: "utf8", flag: "a", mode: 438 },
      writeAsync: l = !1
    }) {
      super();
      S(this, "asyncWriteQueue", []);
      S(this, "bytesWritten", 0);
      S(this, "hasActiveAsyncWriting", !1);
      S(this, "path", null);
      S(this, "initialSize");
      S(this, "writeOptions", null);
      S(this, "writeAsync", !1);
      this.path = r, this.writeOptions = c, this.writeAsync = l;
    }
    get size() {
      return this.getSize();
    }
    clear() {
      try {
        return n.writeFileSync(this.path, "", {
          mode: this.writeOptions.mode,
          flag: "w"
        }), this.reset(), !0;
      } catch (r) {
        return r.code === "ENOENT" ? !0 : (this.emit("error", r, this), !1);
      }
    }
    crop(r) {
      try {
        const c = i(this.path, r || 4096);
        this.clear(), this.writeLine(`[log cropped]${t.EOL}${c}`);
      } catch (c) {
        this.emit(
          "error",
          new Error(`Couldn't crop file ${this.path}. ${c.message}`),
          this
        );
      }
    }
    getSize() {
      if (this.initialSize === void 0)
        try {
          const r = n.statSync(this.path);
          this.initialSize = r.size;
        } catch {
          this.initialSize = 0;
        }
      return this.initialSize + this.bytesWritten;
    }
    increaseBytesWrittenCounter(r) {
      this.bytesWritten += Buffer.byteLength(r, this.writeOptions.encoding);
    }
    isNull() {
      return !1;
    }
    nextAsyncWrite() {
      const r = this;
      if (this.hasActiveAsyncWriting || this.asyncWriteQueue.length === 0)
        return;
      const c = this.asyncWriteQueue.join("");
      this.asyncWriteQueue = [], this.hasActiveAsyncWriting = !0, n.writeFile(this.path, c, this.writeOptions, (l) => {
        r.hasActiveAsyncWriting = !1, l ? r.emit(
          "error",
          new Error(`Couldn't write to ${r.path}. ${l.message}`),
          this
        ) : r.increaseBytesWrittenCounter(c), r.nextAsyncWrite();
      });
    }
    reset() {
      this.initialSize = void 0, this.bytesWritten = 0;
    }
    toString() {
      return this.path;
    }
    writeLine(r) {
      if (r += t.EOL, this.writeAsync) {
        this.asyncWriteQueue.push(r), this.nextAsyncWrite();
        return;
      }
      try {
        n.writeFileSync(this.path, r, this.writeOptions), this.increaseBytesWrittenCounter(r);
      } catch (c) {
        this.emit(
          "error",
          new Error(`Couldn't write to ${this.path}. ${c.message}`),
          this
        );
      }
    }
  }
  vt = a;
  function i(o, s) {
    const r = Buffer.alloc(s), c = n.statSync(o), l = Math.min(c.size, s), p = Math.max(0, c.size - s), u = n.openSync(o, "r"), d = n.readSync(u, r, 0, l, p);
    return n.closeSync(u), r.toString("utf8", 0, d);
  }
  return vt;
}
var bt, fi;
function Tc() {
  if (fi) return bt;
  fi = 1;
  const e = Us();
  class n extends e {
    clear() {
    }
    crop() {
    }
    getSize() {
      return 0;
    }
    isNull() {
      return !0;
    }
    writeLine() {
    }
  }
  return bt = n, bt;
}
var gt, hi;
function Fc() {
  if (hi) return gt;
  hi = 1;
  const e = is, n = Be, t = he, a = Us(), i = Tc();
  class o extends e {
    constructor() {
      super();
      S(this, "store", {});
      this.emitError = this.emitError.bind(this);
    }
    /**
     * Provide a File object corresponding to the filePath
     * @param {string} filePath
     * @param {WriteOptions} [writeOptions]
     * @param {boolean} [writeAsync]
     * @return {File}
     */
    provide({ filePath: c, writeOptions: l = {}, writeAsync: p = !1 }) {
      let u;
      try {
        if (c = t.resolve(c), this.store[c])
          return this.store[c];
        u = this.createFile({ filePath: c, writeOptions: l, writeAsync: p });
      } catch (d) {
        u = new i({ path: c }), this.emitError(d, u);
      }
      return u.on("error", this.emitError), this.store[c] = u, u;
    }
    /**
     * @param {string} filePath
     * @param {WriteOptions} writeOptions
     * @param {boolean} async
     * @return {File}
     * @private
     */
    createFile({ filePath: c, writeOptions: l, writeAsync: p }) {
      return this.testFileWriting({ filePath: c, writeOptions: l }), new a({ path: c, writeOptions: l, writeAsync: p });
    }
    /**
     * @param {Error} error
     * @param {File} file
     * @private
     */
    emitError(c, l) {
      this.emit("error", c, l);
    }
    /**
     * @param {string} filePath
     * @param {WriteOptions} writeOptions
     * @private
     */
    testFileWriting({ filePath: c, writeOptions: l }) {
      n.mkdirSync(t.dirname(c), { recursive: !0 }), n.writeFileSync(c, "", { flag: "a", mode: l.mode });
    }
  }
  return gt = o, gt;
}
var yt, xi;
function Dc() {
  if (xi) return yt;
  xi = 1;
  const e = Be, n = jn, t = he, a = Fc(), { transform: i } = Ze(), { removeStyles: o } = ha(), {
    format: s,
    concatFirstStringElements: r
  } = Is(), { toString: c } = Bn();
  yt = p;
  const l = new a();
  function p(d, { registry: x = l, externalApi: h } = {}) {
    let v;
    return x.listenerCount("error") < 1 && x.on("error", (E, j) => {
      y(`Can't write to ${j}`, E);
    }), Object.assign(f, {
      fileName: u(d.variables.processType),
      format: "[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}]{scope} {text}",
      getFile: w,
      inspectOptions: { depth: 5 },
      level: "silly",
      maxSize: 1024 ** 2,
      readAllLogs: R,
      sync: !0,
      transforms: [o, s, r, c],
      writeOptions: { flag: "a", mode: 438, encoding: "utf8" },
      archiveLogFn(E) {
        const j = E.toString(), A = t.parse(j);
        try {
          e.renameSync(j, t.join(A.dir, `${A.name}.old${A.ext}`));
        } catch (L) {
          y("Could not rotate log", L);
          const Z = Math.round(f.maxSize / 4);
          E.crop(Math.min(Z, 256 * 1024));
        }
      },
      resolvePathFn(E) {
        return t.join(E.libraryDefaultDir, E.fileName);
      },
      setAppName(E) {
        d.dependencies.externalApi.setAppName(E);
      }
    });
    function f(E) {
      const j = w(E);
      f.maxSize > 0 && j.size > f.maxSize && (f.archiveLogFn(j), j.reset());
      const L = i({ logger: d, message: E, transport: f });
      j.writeLine(L);
    }
    function b() {
      v || (v = Object.create(
        Object.prototype,
        {
          ...Object.getOwnPropertyDescriptors(
            h.getPathVariables()
          ),
          fileName: {
            get() {
              return f.fileName;
            },
            enumerable: !0
          }
        }
      ), typeof f.archiveLog == "function" && (f.archiveLogFn = f.archiveLog, y("archiveLog is deprecated. Use archiveLogFn instead")), typeof f.resolvePath == "function" && (f.resolvePathFn = f.resolvePath, y("resolvePath is deprecated. Use resolvePathFn instead")));
    }
    function y(E, j = null, A = "error") {
      const L = [`electron-log.transports.file: ${E}`];
      j && L.push(j), d.transports.console({ data: L, date: /* @__PURE__ */ new Date(), level: A });
    }
    function w(E) {
      b();
      const j = f.resolvePathFn(v, E);
      return x.provide({
        filePath: j,
        writeAsync: !f.sync,
        writeOptions: f.writeOptions
      });
    }
    function R({ fileFilter: E = (j) => j.endsWith(".log") } = {}) {
      b();
      const j = t.dirname(f.resolvePathFn(v));
      return e.existsSync(j) ? e.readdirSync(j).map((A) => t.join(j, A)).filter(E).map((A) => {
        try {
          return {
            path: A,
            lines: e.readFileSync(A, "utf8").split(n.EOL)
          };
        } catch {
          return null;
        }
      }).filter(Boolean) : [];
    }
  }
  function u(d = process.type) {
    switch (d) {
      case "renderer":
        return "renderer.log";
      case "worker":
        return "worker.log";
      default:
        return "main.log";
    }
  }
  return yt;
}
var wt, vi;
function Lc() {
  if (vi) return wt;
  vi = 1;
  const { maxDepth: e, toJSON: n } = Bn(), { transform: t } = Ze();
  wt = a;
  function a(i, { externalApi: o }) {
    return Object.assign(s, {
      depth: 3,
      eventId: "__ELECTRON_LOG_IPC__",
      level: i.isDev ? "silly" : !1,
      transforms: [n, e]
    }), o != null && o.isElectron() ? s : void 0;
    function s(r) {
      var c;
      ((c = r == null ? void 0 : r.variables) == null ? void 0 : c.processType) !== "renderer" && (o == null || o.sendIpc(s.eventId, {
        ...r,
        data: t({ logger: i, message: r, transport: s })
      }));
    }
  }
  return wt;
}
var Et, bi;
function Pc() {
  if (bi) return Et;
  bi = 1;
  const e = Cn, n = Rn, { transform: t } = Ze(), { removeStyles: a } = ha(), { toJSON: i, maxDepth: o } = Bn();
  Et = s;
  function s(r) {
    return Object.assign(c, {
      client: { name: "electron-application" },
      depth: 6,
      level: !1,
      requestOptions: {},
      transforms: [a, i, o],
      makeBodyFn({ message: l }) {
        return JSON.stringify({
          client: c.client,
          data: l.data,
          date: l.date.getTime(),
          level: l.level,
          scope: l.scope,
          variables: l.variables
        });
      },
      processErrorFn({ error: l }) {
        r.processMessage(
          {
            data: [`electron-log: can't POST ${c.url}`, l],
            level: "warn"
          },
          { transports: ["console", "file"] }
        );
      },
      sendRequestFn({ serverUrl: l, requestOptions: p, body: u }) {
        const x = (l.startsWith("https:") ? n : e).request(l, {
          method: "POST",
          ...p,
          headers: {
            "Content-Type": "application/json",
            "Content-Length": u.length,
            ...p.headers
          }
        });
        return x.write(u), x.end(), x;
      }
    });
    function c(l) {
      if (!c.url)
        return;
      const p = c.makeBodyFn({
        logger: r,
        message: { ...l, data: t({ logger: r, message: l, transport: c }) },
        transport: c
      }), u = c.sendRequestFn({
        serverUrl: c.url,
        requestOptions: c.requestOptions,
        body: Buffer.from(p, "utf8")
      });
      u.on("error", (d) => c.processErrorFn({
        error: d,
        logger: r,
        message: l,
        request: u,
        transport: c
      }));
    }
  }
  return Et;
}
var _t, gi;
function $s() {
  if (gi) return _t;
  gi = 1;
  const e = Bs(), n = Rc(), t = Ac(), a = Nc(), i = Dc(), o = Lc(), s = Pc();
  _t = r;
  function r({ dependencies: c, initializeFn: l }) {
    var u;
    const p = new e({
      dependencies: c,
      errorHandler: new n(),
      eventLogger: new t(),
      initializeFn: l,
      isDev: (u = c.externalApi) == null ? void 0 : u.isDev(),
      logId: "default",
      transportFactories: {
        console: a,
        file: i,
        ipc: o,
        remote: s
      },
      variables: {
        processType: "main"
      }
    });
    return p.default = p, p.Logger = e, p.processInternalErrorFn = (d) => {
      p.transports.console.writeFn({
        message: {
          data: ["Unhandled electron-log error", d],
          level: "error"
        }
      });
    }, p;
  }
  return _t;
}
var kt, yi;
function zc() {
  if (yi) return kt;
  yi = 1;
  const e = ia, n = jc(), { initialize: t } = Cc(), a = $s(), i = new n({ electron: e }), o = a({
    dependencies: { externalApi: i },
    initializeFn: t
  });
  kt = o, i.onIpc("__ELECTRON_LOG__", (r, c) => {
    c.scope && o.Logger.getInstance(c).scope(c.scope);
    const l = new Date(c.date);
    s({
      ...c,
      date: l.getTime() ? l : /* @__PURE__ */ new Date()
    });
  }), i.onIpcInvoke("__ELECTRON_LOG__", (r, { cmd: c = "", logId: l }) => {
    switch (c) {
      case "getOptions":
        return {
          levels: o.Logger.getInstance({ logId: l }).levels,
          logId: l
        };
      default:
        return s({ data: [`Unknown cmd '${c}'`], level: "error" }), {};
    }
  });
  function s(r) {
    var c;
    (c = o.Logger.getInstance(r)) == null || c.processMessage(r);
  }
  return kt;
}
var St, wi;
function Bc() {
  if (wi) return St;
  wi = 1;
  const e = qs(), n = $s(), t = new e();
  return St = n({
    dependencies: { externalApi: t }
  }), St;
}
const qc = typeof process > "u" || process.type === "renderer" || process.type === "worker", Ic = typeof process == "object" && process.type === "browser";
qc ? (zs(), fn.exports = Sc()) : Ic ? fn.exports = zc() : fn.exports = Bc();
var Uc = fn.exports;
const Ei = /* @__PURE__ */ Pn(Uc), $c = q.dirname(sa(import.meta.url)), Mc = Io(as), Vc = q.join(
  $c,
  "..",
  "..",
  "node_modules",
  "file-icon",
  "file-icon"
), Hc = 1024 * 1024 * 100;
async function Wc(e, n) {
  try {
    const { stdout: t } = await Mc(
      Vc,
      [JSON.stringify([{ appOrPID: e, size: n }])],
      { encoding: null, maxBuffer: Hc }
    );
    return `data:image/png;base64,${t.toString("base64")}`;
  } catch (t) {
    throw t instanceof Error && console.log(`Error reading ${e}`), t;
  }
}
async function Jc(e) {
  try {
    const n = {};
    for await (const t of e)
      try {
        const a = await Wc(t.name, 64);
        n[t.name] = a;
      } catch (a) {
        Ei.warn(a);
      }
    H(Os(n));
  } catch (n) {
    Ei.error(n), console.error("[getAppIcon error]", n);
  }
}
const Kc = (e) => e, Ms = Kc({
  Arc: {},
  Basilisk: {},
  Blisk: {},
  "Brave Browser": {
    privateArg: "--incognito"
  },
  "Brave Browser Beta": {
    privateArg: "--incognito"
  },
  "Brave Browser Nightly": {
    privateArg: "--incognito"
  },
  "Brave Dev": {
    privateArg: "--incognito"
  },
  Chromium: {
    privateArg: "--incognito"
  },
  "Chromium-Gost": {
    privateArg: "--incognito"
  },
  Discord: {
    convertUrl: (e) => e.replace(
      /^https?:\/\/(?:(?:ptb|canary)\.)?discord\.com\//u,
      "discord://-/"
    )
  },
  "Discord Canary": {
    convertUrl: (e) => e.replace(
      /^https?:\/\/(?:(?:ptb|canary)\.)?discord\.com\//u,
      "discord://-/"
    )
  },
  "Discord PTB": {
    convertUrl: (e) => e.replace(
      /^https?:\/\/(?:(?:ptb|canary)\.)?discord\.com\//u,
      "discord://-/"
    )
  },
  Dissenter: {},
  DuckDuckGo: {},
  Epic: {},
  Figma: {},
  "Figma Beta": {},
  Finicky: {},
  Firefox: {
    privateArg: "--private-window"
  },
  "Firefox Developer Edition": {
    privateArg: "--private-window"
  },
  "Firefox Nightly": {
    privateArg: "--private-window"
  },
  Floorp: {},
  Framer: {},
  FreeTube: {},
  "Google Chrome": {
    privateArg: "--incognito"
  },
  "Google Chrome Beta": {
    privateArg: "--incognito"
  },
  "Google Chrome Canary": {
    privateArg: "--incognito"
  },
  "Google Chrome Dev": {
    privateArg: "--incognito"
  },
  IceCat: {
    privateArg: "--private-window"
  },
  Iridium: {},
  Island: {},
  Lagrange: {},
  LibreWolf: {
    privateArg: "--private-window"
  },
  Linear: {},
  Maxthon: {},
  "Microsoft Edge": {
    privateArg: "--inprivate"
  },
  "Microsoft Edge Beta": {
    privateArg: "--inprivate"
  },
  "Microsoft Edge Canary": {
    privateArg: "--inprivate"
  },
  "Microsoft Edge Dev": {
    privateArg: "--inprivate"
  },
  "Microsoft Teams": {
    convertUrl: (e) => e.replace("https://teams.microsoft.com/", "msteams:/")
  },
  "Microsoft Teams (work or school)": {
    convertUrl: (e) => e.replace("https://teams.microsoft.com/", "msteams:/")
  },
  "Microsoft Teams classic": {
    convertUrl: (e) => e.replace("https://teams.microsoft.com/", "msteams:/")
  },
  Min: {},
  Miro: {},
  "Mullvad Browser": {
    privateArg: "--private-window"
  },
  "NAVER Whale": {},
  Notion: {},
  Opera: {},
  "Opera Beta": {},
  "Opera CD": {},
  "Opera Crypto": {},
  "Opera Dev": {},
  "Opera Developer": {},
  "Opera GX": {},
  "Opera Neon": {},
  Orion: {},
  "Orion RC": {},
  "Pale Moon": {},
  Pocket: {
    convertUrl: (e) => `pocket://add?url=${e}`
  },
  Polypane: {},
  PrivateWindow: {},
  PublicWindow: {},
  qutebrowser: {},
  Safari: {},
  "Safari Technology Preview": {},
  Sidekick: {
    privateArg: "--incognito"
  },
  SigmaOS: {},
  Sizzy: {},
  Slack: {},
  Spotify: {},
  Thorium: {
    privateArg: "--incognito"
  },
  "Tor Browser": {},
  Twilight: {
    privateArg: "--incognito"
  },
  Twitter: {},
  Ulaa: {
    privateArg: "--incognito"
  },
  Vivaldi: {},
  "Vivaldi Snapshot": {},
  Waterfox: {},
  Wavebox: {
    privateArg: "--incognito"
  },
  Whist: {},
  Yandex: {},
  Yattee: {},
  Zen: {
    privateArg: "--incognito"
  },
  "Zen Browser": {},
  "zoom.us": {}
});
function Gc() {
  return qo(
    'find ~/Applications /Applications -iname "*.app" -prune -not -path "*/.*" 2>/dev/null ||true'
  ).toString().trim().split(`
`).map((n) => q.parse(n).name);
}
async function Wt() {
  H(ks());
  const e = Gc(), n = Object.keys(Ms).filter(
    (t) => e.includes(t)
  );
  n.length === 0 ? (await ss(500), Wt()) : H(Ln(n));
}
const Yc = "browserosaurus", Xc = "20.11.0", Qc = "The browser prompter for macOS", Zc = [
  "macOS",
  "Electron",
  "Browser chooser"
], ep = "https://wstone.io/browserosaurus", np = {
  url: "https://github.com/will-stone/browserosaurus/issues"
}, tp = "https://github.com/will-stone/browserosaurus", ap = "GPL-3.0-only", ip = "Will Stone", sp = "module", op = ".vite/build/main.js", rp = {
  doctor: "npm run lint && npm run typecheck && npm run test",
  icns: "cd ./src/shared/static/icon && ../../../../scripts/png2icns.sh icon.png",
  lint: "eslint .",
  "list-apps": "ts-node ./scripts/list-installed-apps",
  make: "electron-forge make --arch=x64,arm64",
  "make:arm": "electron-forge make --arch=arm64",
  "make:intel": "electron-forge make --arch=x64",
  prepackage: "rimraf out",
  package: "NODE_ENV=production electron-forge package --platform=darwin --arch=x64,arm64",
  "package:arm": "NODE_ENV=production electron-forge package --platform=darwin --arch=arm64",
  "package:intel": "NODE_ENV=production electron-forge package --platform=darwin --arch=x64",
  prepare: "husky",
  release: 'npm run doctor && bump --commit "chore: release v" && npm run make',
  start: "ELECTRON_DISABLE_SECURITY_WARNINGS=true electron-forge start",
  test: "jest",
  typecheck: "tsc --noEmit --skipLibCheck",
  "website-css:build": "npx tailwindcss -i node_modules/tailwindcss/tailwind.css -o ./docs/style.css --content docs/index.html -m",
  "website-css:watch": "npx tailwindcss -i node_modules/tailwindcss/tailwind.css -o ./docs/style.css --content docs/index.html -m --watch"
}, cp = {
  "file-icon": "^5.1.1"
}, pp = {
  "@commitlint/cli": "^19.5.0",
  "@commitlint/config-conventional": "^19.5.0",
  "@dnd-kit/core": "^6.1.0",
  "@dnd-kit/sortable": "^8.0.0",
  "@dnd-kit/utilities": "^3.2.2",
  "@electron-forge/cli": "~7.2.0",
  "@electron-forge/maker-zip": "~7.2.0",
  "@electron-forge/plugin-base": "~7.2.0",
  "@electron-forge/plugin-vite": "~7.2.0",
  "@electron-forge/plugin-webpack": "~7.2.0",
  "@electron-forge/shared-types": "~7.2.0",
  "@reduxjs/toolkit": "^2.3.0",
  "@testing-library/jest-dom": "^6.6.2",
  "@testing-library/react": "^16.0.1",
  "@timfish/forge-externals-plugin": "^0.2.1",
  "@types/jest": "^29.5.13",
  "@types/lodash": "^4.17.10",
  "@types/node": "^20.16.0",
  "@types/react": "^18.3.11",
  "@types/react-dom": "^18.3.1",
  "@types/react-redux": "^7.1.34",
  "@vercel/webpack-asset-relocator-loader": "^1.7.4",
  "@will-stone/eslint-config": "^12.0.0",
  "@will-stone/prettier-config": "^8.0.1",
  "app-exists": "^2.1.1",
  axios: "^1.7.7",
  clsx: "^2.1.1",
  "cross-env": "^7.0.3",
  cssnano: "^7.0.6",
  electron: "^33.0.1",
  "electron-log": "^5.2.0",
  eslint: "^9.12.0",
  "fast-deep-equal": "^3.1.3",
  husky: "^9.1.6",
  immer: "^10.1.1",
  jest: "^29.7.0",
  "jest-environment-jsdom": "^29.7.0",
  "lint-staged": "^15.2.10",
  lodash: "^4.17.21",
  lowdb: "^6.0.1",
  picocolors: "^1.1.1",
  postcss: "^8.4.47",
  "postcss-cli": "^11.0.0",
  "postcss-import": "^16.1.0",
  prettier: "^3.3.3",
  react: "^18.3.1",
  "react-dom": "^18.3.1",
  "react-redux": "^9.1.2",
  redux: "^5.0.1",
  rimraf: "^6.0.1",
  tailwindcss: "^3.4.14",
  tings: "^9.1.0",
  "ts-jest": "^29.2.5",
  "ts-node": "^10.9.2",
  typescript: "^5.6.3",
  "version-bump-prompt": "^6.1.0",
  vite: "^5.4.9"
}, lp = {
  node: ">=16.0.0"
}, up = {
  eslint: "^9.12.0",
  vite: "^5.4.9"
}, dp = "Browserosaurus", _i = {
  name: Yc,
  version: Xc,
  description: Qc,
  keywords: Zc,
  homepage: ep,
  bugs: np,
  repository: tp,
  license: ap,
  author: ip,
  type: sp,
  main: op,
  scripts: rp,
  dependencies: cp,
  devDependencies: pp,
  engines: lp,
  overrides: up,
  productName: dp
}, mp = (e) => `\x1B[34m${e}\x1B[0m`, fp = (e) => `\x1B[2m${e}\x1B[0m`;
function hp(e, n) {
  console.log(`${mp(e)} ${fp("›")}`, n);
}
const Ae = q.dirname(sa(import.meta.url));
let _, N;
async function xp() {
  N = new Pa({
    // Only show on demand
    show: !1,
    // Chrome
    center: !0,
    fullscreen: !1,
    fullscreenable: !1,
    height: 500,
    maximizable: !1,
    minimizable: !1,
    resizable: !1,
    titleBarStyle: "hidden",
    transparent: !0,
    vibrancy: "window",
    width: 600,
    // Meta
    icon: q.join(Ae, "/icon/icon.png"),
    title: "Preferences",
    webPreferences: {
      contextIsolation: !0,
      nodeIntegration: !1,
      nodeIntegrationInSubFrames: !1,
      nodeIntegrationInWorker: !1,
      preload: q.join(Ae, "preload.js")
    }
  }), N.on("hide", () => {
    N == null || N.hide();
  }), N.on("close", (n) => {
    n.preventDefault(), N == null || N.hide();
  }), N.on("show", () => {
    H(Ss(D.isDefaultProtocolClient("http")));
  });
  const e = zn.get("height");
  _ = new Pa({
    alwaysOnTop: !0,
    center: !0,
    frame: !0,
    fullscreen: !1,
    fullscreenable: !1,
    hasShadow: !0,
    height: e,
    icon: q.join(Ae, "/icon/icon.png"),
    maximizable: !1,
    maxWidth: 250,
    minHeight: 112,
    minimizable: !1,
    minWidth: 250,
    movable: !1,
    resizable: !0,
    show: !1,
    title: "Browserosaurus",
    titleBarStyle: "hidden",
    transparent: !0,
    vibrancy: "popover",
    visualEffectState: "active",
    webPreferences: {
      contextIsolation: !0,
      nodeIntegration: !1,
      nodeIntegrationInSubFrames: !1,
      nodeIntegrationInWorker: !1,
      preload: q.join(Ae, "preload.js")
    },
    width: 250
  }), _.setWindowButtonVisibility(!1), _.setVisibleOnAllWorkspaces(!0, { visibleOnFullScreen: !0 }), _.on("hide", () => {
    _ == null || _.hide();
  }), _.on("close", (n) => {
    n.preventDefault(), _ == null || _.hide();
  }), _.on("resize", () => {
    _ && H(_s(_.getBounds()));
  }), _.on("blur", () => {
    _ == null || _.hide();
  }), await Promise.all([
    N.loadFile(
      q.join(
        Ae,
        "../renderer/prefs_window/index.html"
      )
    ),
    _.loadFile(
      q.join(
        Ae,
        "../renderer/picker_window/index.html"
      )
    )
  ]);
}
function ki() {
  if (_) {
    const e = Kn.getDisplayNearestPoint(
      Kn.getCursorScreenPoint()
    ).bounds, n = {
      x: e.x + e.width,
      y: e.y + e.height
    }, t = Kn.getCursorScreenPoint(), a = _.getBounds(), i = {
      x: -125,
      y: -30
    }, o = {
      x: t.x + a.width + i.x > n.x ? n.x - a.width : t.x + i.x,
      y: t.y + a.height + i.y > n.y ? n.y - a.height : t.y + i.y
    };
    _.setPosition(o.x, o.y, !1), _.show();
  }
}
function Si() {
  N == null || N.show();
}
function Vs() {
  return `https://update.electronjs.org/will-stone/browserosaurus/darwin-${process.arch}/${D.getVersion()}`;
}
function Hs(e, n) {
  return function() {
    return e.apply(n, arguments);
  };
}
const { toString: vp } = Object.prototype, { getPrototypeOf: xa } = Object, qn = /* @__PURE__ */ ((e) => (n) => {
  const t = vp.call(n);
  return e[t] || (e[t] = t.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null)), ie = (e) => (e = e.toLowerCase(), (n) => qn(n) === e), In = (e) => (n) => typeof n === e, { isArray: Ie } = Array, Je = In("undefined");
function bp(e) {
  return e !== null && !Je(e) && e.constructor !== null && !Je(e.constructor) && Y(e.constructor.isBuffer) && e.constructor.isBuffer(e);
}
const Ws = ie("ArrayBuffer");
function gp(e) {
  let n;
  return typeof ArrayBuffer < "u" && ArrayBuffer.isView ? n = ArrayBuffer.isView(e) : n = e && e.buffer && Ws(e.buffer), n;
}
const yp = In("string"), Y = In("function"), Js = In("number"), Un = (e) => e !== null && typeof e == "object", wp = (e) => e === !0 || e === !1, hn = (e) => {
  if (qn(e) !== "object")
    return !1;
  const n = xa(e);
  return (n === null || n === Object.prototype || Object.getPrototypeOf(n) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e);
}, Ep = ie("Date"), _p = ie("File"), kp = ie("Blob"), Sp = ie("FileList"), Op = (e) => Un(e) && Y(e.pipe), jp = (e) => {
  let n;
  return e && (typeof FormData == "function" && e instanceof FormData || Y(e.append) && ((n = qn(e)) === "formdata" || // detect form-data instance
  n === "object" && Y(e.toString) && e.toString() === "[object FormData]"));
}, Cp = ie("URLSearchParams"), [Rp, Ap, Np, Tp] = ["ReadableStream", "Request", "Response", "Headers"].map(ie), Fp = (e) => e.trim ? e.trim() : e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function en(e, n, { allOwnKeys: t = !1 } = {}) {
  if (e === null || typeof e > "u")
    return;
  let a, i;
  if (typeof e != "object" && (e = [e]), Ie(e))
    for (a = 0, i = e.length; a < i; a++)
      n.call(null, e[a], a, e);
  else {
    const o = t ? Object.getOwnPropertyNames(e) : Object.keys(e), s = o.length;
    let r;
    for (a = 0; a < s; a++)
      r = o[a], n.call(null, e[r], r, e);
  }
}
function Ks(e, n) {
  n = n.toLowerCase();
  const t = Object.keys(e);
  let a = t.length, i;
  for (; a-- > 0; )
    if (i = t[a], n === i.toLowerCase())
      return i;
  return null;
}
const we = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, Gs = (e) => !Je(e) && e !== we;
function Jt() {
  const { caseless: e } = Gs(this) && this || {}, n = {}, t = (a, i) => {
    const o = e && Ks(n, i) || i;
    hn(n[o]) && hn(a) ? n[o] = Jt(n[o], a) : hn(a) ? n[o] = Jt({}, a) : Ie(a) ? n[o] = a.slice() : n[o] = a;
  };
  for (let a = 0, i = arguments.length; a < i; a++)
    arguments[a] && en(arguments[a], t);
  return n;
}
const Dp = (e, n, t, { allOwnKeys: a } = {}) => (en(n, (i, o) => {
  t && Y(i) ? e[o] = Hs(i, t) : e[o] = i;
}, { allOwnKeys: a }), e), Lp = (e) => (e.charCodeAt(0) === 65279 && (e = e.slice(1)), e), Pp = (e, n, t, a) => {
  e.prototype = Object.create(n.prototype, a), e.prototype.constructor = e, Object.defineProperty(e, "super", {
    value: n.prototype
  }), t && Object.assign(e.prototype, t);
}, zp = (e, n, t, a) => {
  let i, o, s;
  const r = {};
  if (n = n || {}, e == null) return n;
  do {
    for (i = Object.getOwnPropertyNames(e), o = i.length; o-- > 0; )
      s = i[o], (!a || a(s, e, n)) && !r[s] && (n[s] = e[s], r[s] = !0);
    e = t !== !1 && xa(e);
  } while (e && (!t || t(e, n)) && e !== Object.prototype);
  return n;
}, Bp = (e, n, t) => {
  e = String(e), (t === void 0 || t > e.length) && (t = e.length), t -= n.length;
  const a = e.indexOf(n, t);
  return a !== -1 && a === t;
}, qp = (e) => {
  if (!e) return null;
  if (Ie(e)) return e;
  let n = e.length;
  if (!Js(n)) return null;
  const t = new Array(n);
  for (; n-- > 0; )
    t[n] = e[n];
  return t;
}, Ip = /* @__PURE__ */ ((e) => (n) => e && n instanceof e)(typeof Uint8Array < "u" && xa(Uint8Array)), Up = (e, n) => {
  const a = (e && e[Symbol.iterator]).call(e);
  let i;
  for (; (i = a.next()) && !i.done; ) {
    const o = i.value;
    n.call(e, o[0], o[1]);
  }
}, $p = (e, n) => {
  let t;
  const a = [];
  for (; (t = e.exec(n)) !== null; )
    a.push(t);
  return a;
}, Mp = ie("HTMLFormElement"), Vp = (e) => e.toLowerCase().replace(
  /[-_\s]([a-z\d])(\w*)/g,
  function(t, a, i) {
    return a.toUpperCase() + i;
  }
), Oi = (({ hasOwnProperty: e }) => (n, t) => e.call(n, t))(Object.prototype), Hp = ie("RegExp"), Ys = (e, n) => {
  const t = Object.getOwnPropertyDescriptors(e), a = {};
  en(t, (i, o) => {
    let s;
    (s = n(i, o, e)) !== !1 && (a[o] = s || i);
  }), Object.defineProperties(e, a);
}, Wp = (e) => {
  Ys(e, (n, t) => {
    if (Y(e) && ["arguments", "caller", "callee"].indexOf(t) !== -1)
      return !1;
    const a = e[t];
    if (Y(a)) {
      if (n.enumerable = !1, "writable" in n) {
        n.writable = !1;
        return;
      }
      n.set || (n.set = () => {
        throw Error("Can not rewrite read-only method '" + t + "'");
      });
    }
  });
}, Jp = (e, n) => {
  const t = {}, a = (i) => {
    i.forEach((o) => {
      t[o] = !0;
    });
  };
  return Ie(e) ? a(e) : a(String(e).split(n)), t;
}, Kp = () => {
}, Gp = (e, n) => e != null && Number.isFinite(e = +e) ? e : n, Ot = "abcdefghijklmnopqrstuvwxyz", ji = "0123456789", Xs = {
  DIGIT: ji,
  ALPHA: Ot,
  ALPHA_DIGIT: Ot + Ot.toUpperCase() + ji
}, Yp = (e = 16, n = Xs.ALPHA_DIGIT) => {
  let t = "";
  const { length: a } = n;
  for (; e--; )
    t += n[Math.random() * a | 0];
  return t;
};
function Xp(e) {
  return !!(e && Y(e.append) && e[Symbol.toStringTag] === "FormData" && e[Symbol.iterator]);
}
const Qp = (e) => {
  const n = new Array(10), t = (a, i) => {
    if (Un(a)) {
      if (n.indexOf(a) >= 0)
        return;
      if (!("toJSON" in a)) {
        n[i] = a;
        const o = Ie(a) ? [] : {};
        return en(a, (s, r) => {
          const c = t(s, i + 1);
          !Je(c) && (o[r] = c);
        }), n[i] = void 0, o;
      }
    }
    return a;
  };
  return t(e, 0);
}, Zp = ie("AsyncFunction"), el = (e) => e && (Un(e) || Y(e)) && Y(e.then) && Y(e.catch), Qs = ((e, n) => e ? setImmediate : n ? ((t, a) => (we.addEventListener("message", ({ source: i, data: o }) => {
  i === we && o === t && a.length && a.shift()();
}, !1), (i) => {
  a.push(i), we.postMessage(t, "*");
}))(`axios@${Math.random()}`, []) : (t) => setTimeout(t))(
  typeof setImmediate == "function",
  Y(we.postMessage)
), nl = typeof queueMicrotask < "u" ? queueMicrotask.bind(we) : typeof process < "u" && process.nextTick || Qs, m = {
  isArray: Ie,
  isArrayBuffer: Ws,
  isBuffer: bp,
  isFormData: jp,
  isArrayBufferView: gp,
  isString: yp,
  isNumber: Js,
  isBoolean: wp,
  isObject: Un,
  isPlainObject: hn,
  isReadableStream: Rp,
  isRequest: Ap,
  isResponse: Np,
  isHeaders: Tp,
  isUndefined: Je,
  isDate: Ep,
  isFile: _p,
  isBlob: kp,
  isRegExp: Hp,
  isFunction: Y,
  isStream: Op,
  isURLSearchParams: Cp,
  isTypedArray: Ip,
  isFileList: Sp,
  forEach: en,
  merge: Jt,
  extend: Dp,
  trim: Fp,
  stripBOM: Lp,
  inherits: Pp,
  toFlatObject: zp,
  kindOf: qn,
  kindOfTest: ie,
  endsWith: Bp,
  toArray: qp,
  forEachEntry: Up,
  matchAll: $p,
  isHTMLForm: Mp,
  hasOwnProperty: Oi,
  hasOwnProp: Oi,
  // an alias to avoid ESLint no-prototype-builtins detection
  reduceDescriptors: Ys,
  freezeMethods: Wp,
  toObjectSet: Jp,
  toCamelCase: Vp,
  noop: Kp,
  toFiniteNumber: Gp,
  findKey: Ks,
  global: we,
  isContextDefined: Gs,
  ALPHABET: Xs,
  generateString: Yp,
  isSpecCompliantForm: Xp,
  toJSONObject: Qp,
  isAsyncFn: Zp,
  isThenable: el,
  setImmediate: Qs,
  asap: nl
};
function g(e, n, t, a, i) {
  Error.call(this), Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : this.stack = new Error().stack, this.message = e, this.name = "AxiosError", n && (this.code = n), t && (this.config = t), a && (this.request = a), i && (this.response = i, this.status = i.status ? i.status : null);
}
m.inherits(g, Error, {
  toJSON: function() {
    return {
      // Standard
      message: this.message,
      name: this.name,
      // Microsoft
      description: this.description,
      number: this.number,
      // Mozilla
      fileName: this.fileName,
      lineNumber: this.lineNumber,
      columnNumber: this.columnNumber,
      stack: this.stack,
      // Axios
      config: m.toJSONObject(this.config),
      code: this.code,
      status: this.status
    };
  }
});
const Zs = g.prototype, eo = {};
[
  "ERR_BAD_OPTION_VALUE",
  "ERR_BAD_OPTION",
  "ECONNABORTED",
  "ETIMEDOUT",
  "ERR_NETWORK",
  "ERR_FR_TOO_MANY_REDIRECTS",
  "ERR_DEPRECATED",
  "ERR_BAD_RESPONSE",
  "ERR_BAD_REQUEST",
  "ERR_CANCELED",
  "ERR_NOT_SUPPORT",
  "ERR_INVALID_URL"
  // eslint-disable-next-line func-names
].forEach((e) => {
  eo[e] = { value: e };
});
Object.defineProperties(g, eo);
Object.defineProperty(Zs, "isAxiosError", { value: !0 });
g.from = (e, n, t, a, i, o) => {
  const s = Object.create(Zs);
  return m.toFlatObject(e, s, function(c) {
    return c !== Error.prototype;
  }, (r) => r !== "isAxiosError"), g.call(s, e.message, n, t, a, i), s.cause = e, s.name = e.name, o && Object.assign(s, o), s;
};
var no = ne.Stream, tl = qe, al = se;
function se() {
  this.source = null, this.dataSize = 0, this.maxDataSize = 1024 * 1024, this.pauseStream = !0, this._maxDataSizeExceeded = !1, this._released = !1, this._bufferedEvents = [];
}
tl.inherits(se, no);
se.create = function(e, n) {
  var t = new this();
  n = n || {};
  for (var a in n)
    t[a] = n[a];
  t.source = e;
  var i = e.emit;
  return e.emit = function() {
    return t._handleEmit(arguments), i.apply(e, arguments);
  }, e.on("error", function() {
  }), t.pauseStream && e.pause(), t;
};
Object.defineProperty(se.prototype, "readable", {
  configurable: !0,
  enumerable: !0,
  get: function() {
    return this.source.readable;
  }
});
se.prototype.setEncoding = function() {
  return this.source.setEncoding.apply(this.source, arguments);
};
se.prototype.resume = function() {
  this._released || this.release(), this.source.resume();
};
se.prototype.pause = function() {
  this.source.pause();
};
se.prototype.release = function() {
  this._released = !0, this._bufferedEvents.forEach((function(e) {
    this.emit.apply(this, e);
  }).bind(this)), this._bufferedEvents = [];
};
se.prototype.pipe = function() {
  var e = no.prototype.pipe.apply(this, arguments);
  return this.resume(), e;
};
se.prototype._handleEmit = function(e) {
  if (this._released) {
    this.emit.apply(this, e);
    return;
  }
  e[0] === "data" && (this.dataSize += e[1].length, this._checkIfMaxDataSizeExceeded()), this._bufferedEvents.push(e);
};
se.prototype._checkIfMaxDataSizeExceeded = function() {
  if (!this._maxDataSizeExceeded && !(this.dataSize <= this.maxDataSize)) {
    this._maxDataSizeExceeded = !0;
    var e = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
    this.emit("error", new Error(e));
  }
};
var il = qe, to = ne.Stream, Ci = al, sl = T;
function T() {
  this.writable = !1, this.readable = !0, this.dataSize = 0, this.maxDataSize = 2 * 1024 * 1024, this.pauseStreams = !0, this._released = !1, this._streams = [], this._currentStream = null, this._insideLoop = !1, this._pendingNext = !1;
}
il.inherits(T, to);
T.create = function(e) {
  var n = new this();
  e = e || {};
  for (var t in e)
    n[t] = e[t];
  return n;
};
T.isStreamLike = function(e) {
  return typeof e != "function" && typeof e != "string" && typeof e != "boolean" && typeof e != "number" && !Buffer.isBuffer(e);
};
T.prototype.append = function(e) {
  var n = T.isStreamLike(e);
  if (n) {
    if (!(e instanceof Ci)) {
      var t = Ci.create(e, {
        maxDataSize: 1 / 0,
        pauseStream: this.pauseStreams
      });
      e.on("data", this._checkDataSize.bind(this)), e = t;
    }
    this._handleErrors(e), this.pauseStreams && e.pause();
  }
  return this._streams.push(e), this;
};
T.prototype.pipe = function(e, n) {
  return to.prototype.pipe.call(this, e, n), this.resume(), e;
};
T.prototype._getNext = function() {
  if (this._currentStream = null, this._insideLoop) {
    this._pendingNext = !0;
    return;
  }
  this._insideLoop = !0;
  try {
    do
      this._pendingNext = !1, this._realGetNext();
    while (this._pendingNext);
  } finally {
    this._insideLoop = !1;
  }
};
T.prototype._realGetNext = function() {
  var e = this._streams.shift();
  if (typeof e > "u") {
    this.end();
    return;
  }
  if (typeof e != "function") {
    this._pipeNext(e);
    return;
  }
  var n = e;
  n((function(t) {
    var a = T.isStreamLike(t);
    a && (t.on("data", this._checkDataSize.bind(this)), this._handleErrors(t)), this._pipeNext(t);
  }).bind(this));
};
T.prototype._pipeNext = function(e) {
  this._currentStream = e;
  var n = T.isStreamLike(e);
  if (n) {
    e.on("end", this._getNext.bind(this)), e.pipe(this, { end: !1 });
    return;
  }
  var t = e;
  this.write(t), this._getNext();
};
T.prototype._handleErrors = function(e) {
  var n = this;
  e.on("error", function(t) {
    n._emitError(t);
  });
};
T.prototype.write = function(e) {
  this.emit("data", e);
};
T.prototype.pause = function() {
  this.pauseStreams && (this.pauseStreams && this._currentStream && typeof this._currentStream.pause == "function" && this._currentStream.pause(), this.emit("pause"));
};
T.prototype.resume = function() {
  this._released || (this._released = !0, this.writable = !0, this._getNext()), this.pauseStreams && this._currentStream && typeof this._currentStream.resume == "function" && this._currentStream.resume(), this.emit("resume");
};
T.prototype.end = function() {
  this._reset(), this.emit("end");
};
T.prototype.destroy = function() {
  this._reset(), this.emit("close");
};
T.prototype._reset = function() {
  this.writable = !1, this._streams = [], this._currentStream = null;
};
T.prototype._checkDataSize = function() {
  if (this._updateDataSize(), !(this.dataSize <= this.maxDataSize)) {
    var e = "DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
    this._emitError(new Error(e));
  }
};
T.prototype._updateDataSize = function() {
  this.dataSize = 0;
  var e = this;
  this._streams.forEach(function(n) {
    n.dataSize && (e.dataSize += n.dataSize);
  }), this._currentStream && this._currentStream.dataSize && (this.dataSize += this._currentStream.dataSize);
};
T.prototype._emitError = function(e) {
  this._reset(), this.emit("error", e);
};
var ao = {};
const ol = {
  "application/1d-interleaved-parityfec": {
    source: "iana"
  },
  "application/3gpdash-qoe-report+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/3gpp-ims+xml": {
    source: "iana",
    compressible: !0
  },
  "application/3gpphal+json": {
    source: "iana",
    compressible: !0
  },
  "application/3gpphalforms+json": {
    source: "iana",
    compressible: !0
  },
  "application/a2l": {
    source: "iana"
  },
  "application/ace+cbor": {
    source: "iana"
  },
  "application/activemessage": {
    source: "iana"
  },
  "application/activity+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-costmap+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-costmapfilter+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-directory+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-endpointcost+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-endpointcostparams+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-endpointprop+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-endpointpropparams+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-error+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-networkmap+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-networkmapfilter+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-updatestreamcontrol+json": {
    source: "iana",
    compressible: !0
  },
  "application/alto-updatestreamparams+json": {
    source: "iana",
    compressible: !0
  },
  "application/aml": {
    source: "iana"
  },
  "application/andrew-inset": {
    source: "iana",
    extensions: [
      "ez"
    ]
  },
  "application/applefile": {
    source: "iana"
  },
  "application/applixware": {
    source: "apache",
    extensions: [
      "aw"
    ]
  },
  "application/at+jwt": {
    source: "iana"
  },
  "application/atf": {
    source: "iana"
  },
  "application/atfx": {
    source: "iana"
  },
  "application/atom+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "atom"
    ]
  },
  "application/atomcat+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "atomcat"
    ]
  },
  "application/atomdeleted+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "atomdeleted"
    ]
  },
  "application/atomicmail": {
    source: "iana"
  },
  "application/atomsvc+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "atomsvc"
    ]
  },
  "application/atsc-dwd+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "dwd"
    ]
  },
  "application/atsc-dynamic-event-message": {
    source: "iana"
  },
  "application/atsc-held+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "held"
    ]
  },
  "application/atsc-rdt+json": {
    source: "iana",
    compressible: !0
  },
  "application/atsc-rsat+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rsat"
    ]
  },
  "application/atxml": {
    source: "iana"
  },
  "application/auth-policy+xml": {
    source: "iana",
    compressible: !0
  },
  "application/bacnet-xdd+zip": {
    source: "iana",
    compressible: !1
  },
  "application/batch-smtp": {
    source: "iana"
  },
  "application/bdoc": {
    compressible: !1,
    extensions: [
      "bdoc"
    ]
  },
  "application/beep+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/calendar+json": {
    source: "iana",
    compressible: !0
  },
  "application/calendar+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xcs"
    ]
  },
  "application/call-completion": {
    source: "iana"
  },
  "application/cals-1840": {
    source: "iana"
  },
  "application/captive+json": {
    source: "iana",
    compressible: !0
  },
  "application/cbor": {
    source: "iana"
  },
  "application/cbor-seq": {
    source: "iana"
  },
  "application/cccex": {
    source: "iana"
  },
  "application/ccmp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/ccxml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ccxml"
    ]
  },
  "application/cdfx+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "cdfx"
    ]
  },
  "application/cdmi-capability": {
    source: "iana",
    extensions: [
      "cdmia"
    ]
  },
  "application/cdmi-container": {
    source: "iana",
    extensions: [
      "cdmic"
    ]
  },
  "application/cdmi-domain": {
    source: "iana",
    extensions: [
      "cdmid"
    ]
  },
  "application/cdmi-object": {
    source: "iana",
    extensions: [
      "cdmio"
    ]
  },
  "application/cdmi-queue": {
    source: "iana",
    extensions: [
      "cdmiq"
    ]
  },
  "application/cdni": {
    source: "iana"
  },
  "application/cea": {
    source: "iana"
  },
  "application/cea-2018+xml": {
    source: "iana",
    compressible: !0
  },
  "application/cellml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/cfw": {
    source: "iana"
  },
  "application/city+json": {
    source: "iana",
    compressible: !0
  },
  "application/clr": {
    source: "iana"
  },
  "application/clue+xml": {
    source: "iana",
    compressible: !0
  },
  "application/clue_info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/cms": {
    source: "iana"
  },
  "application/cnrp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/coap-group+json": {
    source: "iana",
    compressible: !0
  },
  "application/coap-payload": {
    source: "iana"
  },
  "application/commonground": {
    source: "iana"
  },
  "application/conference-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/cose": {
    source: "iana"
  },
  "application/cose-key": {
    source: "iana"
  },
  "application/cose-key-set": {
    source: "iana"
  },
  "application/cpl+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "cpl"
    ]
  },
  "application/csrattrs": {
    source: "iana"
  },
  "application/csta+xml": {
    source: "iana",
    compressible: !0
  },
  "application/cstadata+xml": {
    source: "iana",
    compressible: !0
  },
  "application/csvm+json": {
    source: "iana",
    compressible: !0
  },
  "application/cu-seeme": {
    source: "apache",
    extensions: [
      "cu"
    ]
  },
  "application/cwt": {
    source: "iana"
  },
  "application/cybercash": {
    source: "iana"
  },
  "application/dart": {
    compressible: !0
  },
  "application/dash+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mpd"
    ]
  },
  "application/dash-patch+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mpp"
    ]
  },
  "application/dashdelta": {
    source: "iana"
  },
  "application/davmount+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "davmount"
    ]
  },
  "application/dca-rft": {
    source: "iana"
  },
  "application/dcd": {
    source: "iana"
  },
  "application/dec-dx": {
    source: "iana"
  },
  "application/dialog-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/dicom": {
    source: "iana"
  },
  "application/dicom+json": {
    source: "iana",
    compressible: !0
  },
  "application/dicom+xml": {
    source: "iana",
    compressible: !0
  },
  "application/dii": {
    source: "iana"
  },
  "application/dit": {
    source: "iana"
  },
  "application/dns": {
    source: "iana"
  },
  "application/dns+json": {
    source: "iana",
    compressible: !0
  },
  "application/dns-message": {
    source: "iana"
  },
  "application/docbook+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "dbk"
    ]
  },
  "application/dots+cbor": {
    source: "iana"
  },
  "application/dskpp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/dssc+der": {
    source: "iana",
    extensions: [
      "dssc"
    ]
  },
  "application/dssc+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xdssc"
    ]
  },
  "application/dvcs": {
    source: "iana"
  },
  "application/ecmascript": {
    source: "iana",
    compressible: !0,
    extensions: [
      "es",
      "ecma"
    ]
  },
  "application/edi-consent": {
    source: "iana"
  },
  "application/edi-x12": {
    source: "iana",
    compressible: !1
  },
  "application/edifact": {
    source: "iana",
    compressible: !1
  },
  "application/efi": {
    source: "iana"
  },
  "application/elm+json": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/elm+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.cap+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/emergencycalldata.comment+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.control+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.deviceinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.ecall.msd": {
    source: "iana"
  },
  "application/emergencycalldata.providerinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.serviceinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.subscriberinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emergencycalldata.veds+xml": {
    source: "iana",
    compressible: !0
  },
  "application/emma+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "emma"
    ]
  },
  "application/emotionml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "emotionml"
    ]
  },
  "application/encaprtp": {
    source: "iana"
  },
  "application/epp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/epub+zip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "epub"
    ]
  },
  "application/eshop": {
    source: "iana"
  },
  "application/exi": {
    source: "iana",
    extensions: [
      "exi"
    ]
  },
  "application/expect-ct-report+json": {
    source: "iana",
    compressible: !0
  },
  "application/express": {
    source: "iana",
    extensions: [
      "exp"
    ]
  },
  "application/fastinfoset": {
    source: "iana"
  },
  "application/fastsoap": {
    source: "iana"
  },
  "application/fdt+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "fdt"
    ]
  },
  "application/fhir+json": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/fhir+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/fido.trusted-apps+json": {
    compressible: !0
  },
  "application/fits": {
    source: "iana"
  },
  "application/flexfec": {
    source: "iana"
  },
  "application/font-sfnt": {
    source: "iana"
  },
  "application/font-tdpfr": {
    source: "iana",
    extensions: [
      "pfr"
    ]
  },
  "application/font-woff": {
    source: "iana",
    compressible: !1
  },
  "application/framework-attributes+xml": {
    source: "iana",
    compressible: !0
  },
  "application/geo+json": {
    source: "iana",
    compressible: !0,
    extensions: [
      "geojson"
    ]
  },
  "application/geo+json-seq": {
    source: "iana"
  },
  "application/geopackage+sqlite3": {
    source: "iana"
  },
  "application/geoxacml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/gltf-buffer": {
    source: "iana"
  },
  "application/gml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "gml"
    ]
  },
  "application/gpx+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "gpx"
    ]
  },
  "application/gxf": {
    source: "apache",
    extensions: [
      "gxf"
    ]
  },
  "application/gzip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "gz"
    ]
  },
  "application/h224": {
    source: "iana"
  },
  "application/held+xml": {
    source: "iana",
    compressible: !0
  },
  "application/hjson": {
    extensions: [
      "hjson"
    ]
  },
  "application/http": {
    source: "iana"
  },
  "application/hyperstudio": {
    source: "iana",
    extensions: [
      "stk"
    ]
  },
  "application/ibe-key-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/ibe-pkg-reply+xml": {
    source: "iana",
    compressible: !0
  },
  "application/ibe-pp-data": {
    source: "iana"
  },
  "application/iges": {
    source: "iana"
  },
  "application/im-iscomposing+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/index": {
    source: "iana"
  },
  "application/index.cmd": {
    source: "iana"
  },
  "application/index.obj": {
    source: "iana"
  },
  "application/index.response": {
    source: "iana"
  },
  "application/index.vnd": {
    source: "iana"
  },
  "application/inkml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ink",
      "inkml"
    ]
  },
  "application/iotp": {
    source: "iana"
  },
  "application/ipfix": {
    source: "iana",
    extensions: [
      "ipfix"
    ]
  },
  "application/ipp": {
    source: "iana"
  },
  "application/isup": {
    source: "iana"
  },
  "application/its+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "its"
    ]
  },
  "application/java-archive": {
    source: "apache",
    compressible: !1,
    extensions: [
      "jar",
      "war",
      "ear"
    ]
  },
  "application/java-serialized-object": {
    source: "apache",
    compressible: !1,
    extensions: [
      "ser"
    ]
  },
  "application/java-vm": {
    source: "apache",
    compressible: !1,
    extensions: [
      "class"
    ]
  },
  "application/javascript": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "js",
      "mjs"
    ]
  },
  "application/jf2feed+json": {
    source: "iana",
    compressible: !0
  },
  "application/jose": {
    source: "iana"
  },
  "application/jose+json": {
    source: "iana",
    compressible: !0
  },
  "application/jrd+json": {
    source: "iana",
    compressible: !0
  },
  "application/jscalendar+json": {
    source: "iana",
    compressible: !0
  },
  "application/json": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "json",
      "map"
    ]
  },
  "application/json-patch+json": {
    source: "iana",
    compressible: !0
  },
  "application/json-seq": {
    source: "iana"
  },
  "application/json5": {
    extensions: [
      "json5"
    ]
  },
  "application/jsonml+json": {
    source: "apache",
    compressible: !0,
    extensions: [
      "jsonml"
    ]
  },
  "application/jwk+json": {
    source: "iana",
    compressible: !0
  },
  "application/jwk-set+json": {
    source: "iana",
    compressible: !0
  },
  "application/jwt": {
    source: "iana"
  },
  "application/kpml-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/kpml-response+xml": {
    source: "iana",
    compressible: !0
  },
  "application/ld+json": {
    source: "iana",
    compressible: !0,
    extensions: [
      "jsonld"
    ]
  },
  "application/lgr+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "lgr"
    ]
  },
  "application/link-format": {
    source: "iana"
  },
  "application/load-control+xml": {
    source: "iana",
    compressible: !0
  },
  "application/lost+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "lostxml"
    ]
  },
  "application/lostsync+xml": {
    source: "iana",
    compressible: !0
  },
  "application/lpf+zip": {
    source: "iana",
    compressible: !1
  },
  "application/lxf": {
    source: "iana"
  },
  "application/mac-binhex40": {
    source: "iana",
    extensions: [
      "hqx"
    ]
  },
  "application/mac-compactpro": {
    source: "apache",
    extensions: [
      "cpt"
    ]
  },
  "application/macwriteii": {
    source: "iana"
  },
  "application/mads+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mads"
    ]
  },
  "application/manifest+json": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "webmanifest"
    ]
  },
  "application/marc": {
    source: "iana",
    extensions: [
      "mrc"
    ]
  },
  "application/marcxml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mrcx"
    ]
  },
  "application/mathematica": {
    source: "iana",
    extensions: [
      "ma",
      "nb",
      "mb"
    ]
  },
  "application/mathml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mathml"
    ]
  },
  "application/mathml-content+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mathml-presentation+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-associated-procedure-description+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-deregister+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-envelope+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-msk+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-msk-response+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-protection-description+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-reception-report+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-register+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-register-response+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-schedule+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbms-user-service-description+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mbox": {
    source: "iana",
    extensions: [
      "mbox"
    ]
  },
  "application/media-policy-dataset+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mpf"
    ]
  },
  "application/media_control+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mediaservercontrol+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mscml"
    ]
  },
  "application/merge-patch+json": {
    source: "iana",
    compressible: !0
  },
  "application/metalink+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "metalink"
    ]
  },
  "application/metalink4+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "meta4"
    ]
  },
  "application/mets+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mets"
    ]
  },
  "application/mf4": {
    source: "iana"
  },
  "application/mikey": {
    source: "iana"
  },
  "application/mipc": {
    source: "iana"
  },
  "application/missing-blocks+cbor-seq": {
    source: "iana"
  },
  "application/mmt-aei+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "maei"
    ]
  },
  "application/mmt-usd+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "musd"
    ]
  },
  "application/mods+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mods"
    ]
  },
  "application/moss-keys": {
    source: "iana"
  },
  "application/moss-signature": {
    source: "iana"
  },
  "application/mosskey-data": {
    source: "iana"
  },
  "application/mosskey-request": {
    source: "iana"
  },
  "application/mp21": {
    source: "iana",
    extensions: [
      "m21",
      "mp21"
    ]
  },
  "application/mp4": {
    source: "iana",
    extensions: [
      "mp4s",
      "m4p"
    ]
  },
  "application/mpeg4-generic": {
    source: "iana"
  },
  "application/mpeg4-iod": {
    source: "iana"
  },
  "application/mpeg4-iod-xmt": {
    source: "iana"
  },
  "application/mrb-consumer+xml": {
    source: "iana",
    compressible: !0
  },
  "application/mrb-publish+xml": {
    source: "iana",
    compressible: !0
  },
  "application/msc-ivr+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/msc-mixer+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/msword": {
    source: "iana",
    compressible: !1,
    extensions: [
      "doc",
      "dot"
    ]
  },
  "application/mud+json": {
    source: "iana",
    compressible: !0
  },
  "application/multipart-core": {
    source: "iana"
  },
  "application/mxf": {
    source: "iana",
    extensions: [
      "mxf"
    ]
  },
  "application/n-quads": {
    source: "iana",
    extensions: [
      "nq"
    ]
  },
  "application/n-triples": {
    source: "iana",
    extensions: [
      "nt"
    ]
  },
  "application/nasdata": {
    source: "iana"
  },
  "application/news-checkgroups": {
    source: "iana",
    charset: "US-ASCII"
  },
  "application/news-groupinfo": {
    source: "iana",
    charset: "US-ASCII"
  },
  "application/news-transmission": {
    source: "iana"
  },
  "application/nlsml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/node": {
    source: "iana",
    extensions: [
      "cjs"
    ]
  },
  "application/nss": {
    source: "iana"
  },
  "application/oauth-authz-req+jwt": {
    source: "iana"
  },
  "application/oblivious-dns-message": {
    source: "iana"
  },
  "application/ocsp-request": {
    source: "iana"
  },
  "application/ocsp-response": {
    source: "iana"
  },
  "application/octet-stream": {
    source: "iana",
    compressible: !1,
    extensions: [
      "bin",
      "dms",
      "lrf",
      "mar",
      "so",
      "dist",
      "distz",
      "pkg",
      "bpk",
      "dump",
      "elc",
      "deploy",
      "exe",
      "dll",
      "deb",
      "dmg",
      "iso",
      "img",
      "msi",
      "msp",
      "msm",
      "buffer"
    ]
  },
  "application/oda": {
    source: "iana",
    extensions: [
      "oda"
    ]
  },
  "application/odm+xml": {
    source: "iana",
    compressible: !0
  },
  "application/odx": {
    source: "iana"
  },
  "application/oebps-package+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "opf"
    ]
  },
  "application/ogg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "ogx"
    ]
  },
  "application/omdoc+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "omdoc"
    ]
  },
  "application/onenote": {
    source: "apache",
    extensions: [
      "onetoc",
      "onetoc2",
      "onetmp",
      "onepkg"
    ]
  },
  "application/opc-nodeset+xml": {
    source: "iana",
    compressible: !0
  },
  "application/oscore": {
    source: "iana"
  },
  "application/oxps": {
    source: "iana",
    extensions: [
      "oxps"
    ]
  },
  "application/p21": {
    source: "iana"
  },
  "application/p21+zip": {
    source: "iana",
    compressible: !1
  },
  "application/p2p-overlay+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "relo"
    ]
  },
  "application/parityfec": {
    source: "iana"
  },
  "application/passport": {
    source: "iana"
  },
  "application/patch-ops-error+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xer"
    ]
  },
  "application/pdf": {
    source: "iana",
    compressible: !1,
    extensions: [
      "pdf"
    ]
  },
  "application/pdx": {
    source: "iana"
  },
  "application/pem-certificate-chain": {
    source: "iana"
  },
  "application/pgp-encrypted": {
    source: "iana",
    compressible: !1,
    extensions: [
      "pgp"
    ]
  },
  "application/pgp-keys": {
    source: "iana",
    extensions: [
      "asc"
    ]
  },
  "application/pgp-signature": {
    source: "iana",
    extensions: [
      "asc",
      "sig"
    ]
  },
  "application/pics-rules": {
    source: "apache",
    extensions: [
      "prf"
    ]
  },
  "application/pidf+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/pidf-diff+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/pkcs10": {
    source: "iana",
    extensions: [
      "p10"
    ]
  },
  "application/pkcs12": {
    source: "iana"
  },
  "application/pkcs7-mime": {
    source: "iana",
    extensions: [
      "p7m",
      "p7c"
    ]
  },
  "application/pkcs7-signature": {
    source: "iana",
    extensions: [
      "p7s"
    ]
  },
  "application/pkcs8": {
    source: "iana",
    extensions: [
      "p8"
    ]
  },
  "application/pkcs8-encrypted": {
    source: "iana"
  },
  "application/pkix-attr-cert": {
    source: "iana",
    extensions: [
      "ac"
    ]
  },
  "application/pkix-cert": {
    source: "iana",
    extensions: [
      "cer"
    ]
  },
  "application/pkix-crl": {
    source: "iana",
    extensions: [
      "crl"
    ]
  },
  "application/pkix-pkipath": {
    source: "iana",
    extensions: [
      "pkipath"
    ]
  },
  "application/pkixcmp": {
    source: "iana",
    extensions: [
      "pki"
    ]
  },
  "application/pls+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "pls"
    ]
  },
  "application/poc-settings+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/postscript": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ai",
      "eps",
      "ps"
    ]
  },
  "application/ppsp-tracker+json": {
    source: "iana",
    compressible: !0
  },
  "application/problem+json": {
    source: "iana",
    compressible: !0
  },
  "application/problem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/provenance+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "provx"
    ]
  },
  "application/prs.alvestrand.titrax-sheet": {
    source: "iana"
  },
  "application/prs.cww": {
    source: "iana",
    extensions: [
      "cww"
    ]
  },
  "application/prs.cyn": {
    source: "iana",
    charset: "7-BIT"
  },
  "application/prs.hpub+zip": {
    source: "iana",
    compressible: !1
  },
  "application/prs.nprend": {
    source: "iana"
  },
  "application/prs.plucker": {
    source: "iana"
  },
  "application/prs.rdf-xml-crypt": {
    source: "iana"
  },
  "application/prs.xsf+xml": {
    source: "iana",
    compressible: !0
  },
  "application/pskc+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "pskcxml"
    ]
  },
  "application/pvd+json": {
    source: "iana",
    compressible: !0
  },
  "application/qsig": {
    source: "iana"
  },
  "application/raml+yaml": {
    compressible: !0,
    extensions: [
      "raml"
    ]
  },
  "application/raptorfec": {
    source: "iana"
  },
  "application/rdap+json": {
    source: "iana",
    compressible: !0
  },
  "application/rdf+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rdf",
      "owl"
    ]
  },
  "application/reginfo+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rif"
    ]
  },
  "application/relax-ng-compact-syntax": {
    source: "iana",
    extensions: [
      "rnc"
    ]
  },
  "application/remote-printing": {
    source: "iana"
  },
  "application/reputon+json": {
    source: "iana",
    compressible: !0
  },
  "application/resource-lists+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rl"
    ]
  },
  "application/resource-lists-diff+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rld"
    ]
  },
  "application/rfc+xml": {
    source: "iana",
    compressible: !0
  },
  "application/riscos": {
    source: "iana"
  },
  "application/rlmi+xml": {
    source: "iana",
    compressible: !0
  },
  "application/rls-services+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rs"
    ]
  },
  "application/route-apd+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rapd"
    ]
  },
  "application/route-s-tsid+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "sls"
    ]
  },
  "application/route-usd+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rusd"
    ]
  },
  "application/rpki-ghostbusters": {
    source: "iana",
    extensions: [
      "gbr"
    ]
  },
  "application/rpki-manifest": {
    source: "iana",
    extensions: [
      "mft"
    ]
  },
  "application/rpki-publication": {
    source: "iana"
  },
  "application/rpki-roa": {
    source: "iana",
    extensions: [
      "roa"
    ]
  },
  "application/rpki-updown": {
    source: "iana"
  },
  "application/rsd+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "rsd"
    ]
  },
  "application/rss+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "rss"
    ]
  },
  "application/rtf": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rtf"
    ]
  },
  "application/rtploopback": {
    source: "iana"
  },
  "application/rtx": {
    source: "iana"
  },
  "application/samlassertion+xml": {
    source: "iana",
    compressible: !0
  },
  "application/samlmetadata+xml": {
    source: "iana",
    compressible: !0
  },
  "application/sarif+json": {
    source: "iana",
    compressible: !0
  },
  "application/sarif-external-properties+json": {
    source: "iana",
    compressible: !0
  },
  "application/sbe": {
    source: "iana"
  },
  "application/sbml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "sbml"
    ]
  },
  "application/scaip+xml": {
    source: "iana",
    compressible: !0
  },
  "application/scim+json": {
    source: "iana",
    compressible: !0
  },
  "application/scvp-cv-request": {
    source: "iana",
    extensions: [
      "scq"
    ]
  },
  "application/scvp-cv-response": {
    source: "iana",
    extensions: [
      "scs"
    ]
  },
  "application/scvp-vp-request": {
    source: "iana",
    extensions: [
      "spq"
    ]
  },
  "application/scvp-vp-response": {
    source: "iana",
    extensions: [
      "spp"
    ]
  },
  "application/sdp": {
    source: "iana",
    extensions: [
      "sdp"
    ]
  },
  "application/secevent+jwt": {
    source: "iana"
  },
  "application/senml+cbor": {
    source: "iana"
  },
  "application/senml+json": {
    source: "iana",
    compressible: !0
  },
  "application/senml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "senmlx"
    ]
  },
  "application/senml-etch+cbor": {
    source: "iana"
  },
  "application/senml-etch+json": {
    source: "iana",
    compressible: !0
  },
  "application/senml-exi": {
    source: "iana"
  },
  "application/sensml+cbor": {
    source: "iana"
  },
  "application/sensml+json": {
    source: "iana",
    compressible: !0
  },
  "application/sensml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "sensmlx"
    ]
  },
  "application/sensml-exi": {
    source: "iana"
  },
  "application/sep+xml": {
    source: "iana",
    compressible: !0
  },
  "application/sep-exi": {
    source: "iana"
  },
  "application/session-info": {
    source: "iana"
  },
  "application/set-payment": {
    source: "iana"
  },
  "application/set-payment-initiation": {
    source: "iana",
    extensions: [
      "setpay"
    ]
  },
  "application/set-registration": {
    source: "iana"
  },
  "application/set-registration-initiation": {
    source: "iana",
    extensions: [
      "setreg"
    ]
  },
  "application/sgml": {
    source: "iana"
  },
  "application/sgml-open-catalog": {
    source: "iana"
  },
  "application/shf+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "shf"
    ]
  },
  "application/sieve": {
    source: "iana",
    extensions: [
      "siv",
      "sieve"
    ]
  },
  "application/simple-filter+xml": {
    source: "iana",
    compressible: !0
  },
  "application/simple-message-summary": {
    source: "iana"
  },
  "application/simplesymbolcontainer": {
    source: "iana"
  },
  "application/sipc": {
    source: "iana"
  },
  "application/slate": {
    source: "iana"
  },
  "application/smil": {
    source: "iana"
  },
  "application/smil+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "smi",
      "smil"
    ]
  },
  "application/smpte336m": {
    source: "iana"
  },
  "application/soap+fastinfoset": {
    source: "iana"
  },
  "application/soap+xml": {
    source: "iana",
    compressible: !0
  },
  "application/sparql-query": {
    source: "iana",
    extensions: [
      "rq"
    ]
  },
  "application/sparql-results+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "srx"
    ]
  },
  "application/spdx+json": {
    source: "iana",
    compressible: !0
  },
  "application/spirits-event+xml": {
    source: "iana",
    compressible: !0
  },
  "application/sql": {
    source: "iana"
  },
  "application/srgs": {
    source: "iana",
    extensions: [
      "gram"
    ]
  },
  "application/srgs+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "grxml"
    ]
  },
  "application/sru+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "sru"
    ]
  },
  "application/ssdl+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "ssdl"
    ]
  },
  "application/ssml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ssml"
    ]
  },
  "application/stix+json": {
    source: "iana",
    compressible: !0
  },
  "application/swid+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "swidtag"
    ]
  },
  "application/tamp-apex-update": {
    source: "iana"
  },
  "application/tamp-apex-update-confirm": {
    source: "iana"
  },
  "application/tamp-community-update": {
    source: "iana"
  },
  "application/tamp-community-update-confirm": {
    source: "iana"
  },
  "application/tamp-error": {
    source: "iana"
  },
  "application/tamp-sequence-adjust": {
    source: "iana"
  },
  "application/tamp-sequence-adjust-confirm": {
    source: "iana"
  },
  "application/tamp-status-query": {
    source: "iana"
  },
  "application/tamp-status-response": {
    source: "iana"
  },
  "application/tamp-update": {
    source: "iana"
  },
  "application/tamp-update-confirm": {
    source: "iana"
  },
  "application/tar": {
    compressible: !0
  },
  "application/taxii+json": {
    source: "iana",
    compressible: !0
  },
  "application/td+json": {
    source: "iana",
    compressible: !0
  },
  "application/tei+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "tei",
      "teicorpus"
    ]
  },
  "application/tetra_isi": {
    source: "iana"
  },
  "application/thraud+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "tfi"
    ]
  },
  "application/timestamp-query": {
    source: "iana"
  },
  "application/timestamp-reply": {
    source: "iana"
  },
  "application/timestamped-data": {
    source: "iana",
    extensions: [
      "tsd"
    ]
  },
  "application/tlsrpt+gzip": {
    source: "iana"
  },
  "application/tlsrpt+json": {
    source: "iana",
    compressible: !0
  },
  "application/tnauthlist": {
    source: "iana"
  },
  "application/token-introspection+jwt": {
    source: "iana"
  },
  "application/toml": {
    compressible: !0,
    extensions: [
      "toml"
    ]
  },
  "application/trickle-ice-sdpfrag": {
    source: "iana"
  },
  "application/trig": {
    source: "iana",
    extensions: [
      "trig"
    ]
  },
  "application/ttml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ttml"
    ]
  },
  "application/tve-trigger": {
    source: "iana"
  },
  "application/tzif": {
    source: "iana"
  },
  "application/tzif-leap": {
    source: "iana"
  },
  "application/ubjson": {
    compressible: !1,
    extensions: [
      "ubj"
    ]
  },
  "application/ulpfec": {
    source: "iana"
  },
  "application/urc-grpsheet+xml": {
    source: "iana",
    compressible: !0
  },
  "application/urc-ressheet+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rsheet"
    ]
  },
  "application/urc-targetdesc+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "td"
    ]
  },
  "application/urc-uisocketdesc+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vcard+json": {
    source: "iana",
    compressible: !0
  },
  "application/vcard+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vemmi": {
    source: "iana"
  },
  "application/vividence.scriptfile": {
    source: "apache"
  },
  "application/vnd.1000minds.decision-model+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "1km"
    ]
  },
  "application/vnd.3gpp-prose+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp-prose-pc3ch+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp-v2x-local-service-information": {
    source: "iana"
  },
  "application/vnd.3gpp.5gnas": {
    source: "iana"
  },
  "application/vnd.3gpp.access-transfer-events+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.bsf+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.gmop+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.gtpc": {
    source: "iana"
  },
  "application/vnd.3gpp.interworking-data": {
    source: "iana"
  },
  "application/vnd.3gpp.lpp": {
    source: "iana"
  },
  "application/vnd.3gpp.mc-signalling-ear": {
    source: "iana"
  },
  "application/vnd.3gpp.mcdata-affiliation-command+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcdata-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcdata-payload": {
    source: "iana"
  },
  "application/vnd.3gpp.mcdata-service-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcdata-signalling": {
    source: "iana"
  },
  "application/vnd.3gpp.mcdata-ue-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcdata-user-profile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-affiliation-command+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-floor-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-location-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-service-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-signed+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-ue-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-ue-init-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcptt-user-profile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-affiliation-command+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-affiliation-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-location-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-service-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-transmission-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-ue-config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mcvideo-user-profile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.mid-call+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.ngap": {
    source: "iana"
  },
  "application/vnd.3gpp.pfcp": {
    source: "iana"
  },
  "application/vnd.3gpp.pic-bw-large": {
    source: "iana",
    extensions: [
      "plb"
    ]
  },
  "application/vnd.3gpp.pic-bw-small": {
    source: "iana",
    extensions: [
      "psb"
    ]
  },
  "application/vnd.3gpp.pic-bw-var": {
    source: "iana",
    extensions: [
      "pvb"
    ]
  },
  "application/vnd.3gpp.s1ap": {
    source: "iana"
  },
  "application/vnd.3gpp.sms": {
    source: "iana"
  },
  "application/vnd.3gpp.sms+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.srvcc-ext+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.srvcc-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.state-and-event-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp.ussd+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp2.bcmcsinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.3gpp2.sms": {
    source: "iana"
  },
  "application/vnd.3gpp2.tcap": {
    source: "iana",
    extensions: [
      "tcap"
    ]
  },
  "application/vnd.3lightssoftware.imagescal": {
    source: "iana"
  },
  "application/vnd.3m.post-it-notes": {
    source: "iana",
    extensions: [
      "pwn"
    ]
  },
  "application/vnd.accpac.simply.aso": {
    source: "iana",
    extensions: [
      "aso"
    ]
  },
  "application/vnd.accpac.simply.imp": {
    source: "iana",
    extensions: [
      "imp"
    ]
  },
  "application/vnd.acucobol": {
    source: "iana",
    extensions: [
      "acu"
    ]
  },
  "application/vnd.acucorp": {
    source: "iana",
    extensions: [
      "atc",
      "acutc"
    ]
  },
  "application/vnd.adobe.air-application-installer-package+zip": {
    source: "apache",
    compressible: !1,
    extensions: [
      "air"
    ]
  },
  "application/vnd.adobe.flash.movie": {
    source: "iana"
  },
  "application/vnd.adobe.formscentral.fcdt": {
    source: "iana",
    extensions: [
      "fcdt"
    ]
  },
  "application/vnd.adobe.fxp": {
    source: "iana",
    extensions: [
      "fxp",
      "fxpl"
    ]
  },
  "application/vnd.adobe.partial-upload": {
    source: "iana"
  },
  "application/vnd.adobe.xdp+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xdp"
    ]
  },
  "application/vnd.adobe.xfdf": {
    source: "iana",
    extensions: [
      "xfdf"
    ]
  },
  "application/vnd.aether.imp": {
    source: "iana"
  },
  "application/vnd.afpc.afplinedata": {
    source: "iana"
  },
  "application/vnd.afpc.afplinedata-pagedef": {
    source: "iana"
  },
  "application/vnd.afpc.cmoca-cmresource": {
    source: "iana"
  },
  "application/vnd.afpc.foca-charset": {
    source: "iana"
  },
  "application/vnd.afpc.foca-codedfont": {
    source: "iana"
  },
  "application/vnd.afpc.foca-codepage": {
    source: "iana"
  },
  "application/vnd.afpc.modca": {
    source: "iana"
  },
  "application/vnd.afpc.modca-cmtable": {
    source: "iana"
  },
  "application/vnd.afpc.modca-formdef": {
    source: "iana"
  },
  "application/vnd.afpc.modca-mediummap": {
    source: "iana"
  },
  "application/vnd.afpc.modca-objectcontainer": {
    source: "iana"
  },
  "application/vnd.afpc.modca-overlay": {
    source: "iana"
  },
  "application/vnd.afpc.modca-pagesegment": {
    source: "iana"
  },
  "application/vnd.age": {
    source: "iana",
    extensions: [
      "age"
    ]
  },
  "application/vnd.ah-barcode": {
    source: "iana"
  },
  "application/vnd.ahead.space": {
    source: "iana",
    extensions: [
      "ahead"
    ]
  },
  "application/vnd.airzip.filesecure.azf": {
    source: "iana",
    extensions: [
      "azf"
    ]
  },
  "application/vnd.airzip.filesecure.azs": {
    source: "iana",
    extensions: [
      "azs"
    ]
  },
  "application/vnd.amadeus+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.amazon.ebook": {
    source: "apache",
    extensions: [
      "azw"
    ]
  },
  "application/vnd.amazon.mobi8-ebook": {
    source: "iana"
  },
  "application/vnd.americandynamics.acc": {
    source: "iana",
    extensions: [
      "acc"
    ]
  },
  "application/vnd.amiga.ami": {
    source: "iana",
    extensions: [
      "ami"
    ]
  },
  "application/vnd.amundsen.maze+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.android.ota": {
    source: "iana"
  },
  "application/vnd.android.package-archive": {
    source: "apache",
    compressible: !1,
    extensions: [
      "apk"
    ]
  },
  "application/vnd.anki": {
    source: "iana"
  },
  "application/vnd.anser-web-certificate-issue-initiation": {
    source: "iana",
    extensions: [
      "cii"
    ]
  },
  "application/vnd.anser-web-funds-transfer-initiation": {
    source: "apache",
    extensions: [
      "fti"
    ]
  },
  "application/vnd.antix.game-component": {
    source: "iana",
    extensions: [
      "atx"
    ]
  },
  "application/vnd.apache.arrow.file": {
    source: "iana"
  },
  "application/vnd.apache.arrow.stream": {
    source: "iana"
  },
  "application/vnd.apache.thrift.binary": {
    source: "iana"
  },
  "application/vnd.apache.thrift.compact": {
    source: "iana"
  },
  "application/vnd.apache.thrift.json": {
    source: "iana"
  },
  "application/vnd.api+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.aplextor.warrp+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.apothekende.reservation+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.apple.installer+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mpkg"
    ]
  },
  "application/vnd.apple.keynote": {
    source: "iana",
    extensions: [
      "key"
    ]
  },
  "application/vnd.apple.mpegurl": {
    source: "iana",
    extensions: [
      "m3u8"
    ]
  },
  "application/vnd.apple.numbers": {
    source: "iana",
    extensions: [
      "numbers"
    ]
  },
  "application/vnd.apple.pages": {
    source: "iana",
    extensions: [
      "pages"
    ]
  },
  "application/vnd.apple.pkpass": {
    compressible: !1,
    extensions: [
      "pkpass"
    ]
  },
  "application/vnd.arastra.swi": {
    source: "iana"
  },
  "application/vnd.aristanetworks.swi": {
    source: "iana",
    extensions: [
      "swi"
    ]
  },
  "application/vnd.artisan+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.artsquare": {
    source: "iana"
  },
  "application/vnd.astraea-software.iota": {
    source: "iana",
    extensions: [
      "iota"
    ]
  },
  "application/vnd.audiograph": {
    source: "iana",
    extensions: [
      "aep"
    ]
  },
  "application/vnd.autopackage": {
    source: "iana"
  },
  "application/vnd.avalon+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.avistar+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.balsamiq.bmml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "bmml"
    ]
  },
  "application/vnd.balsamiq.bmpr": {
    source: "iana"
  },
  "application/vnd.banana-accounting": {
    source: "iana"
  },
  "application/vnd.bbf.usp.error": {
    source: "iana"
  },
  "application/vnd.bbf.usp.msg": {
    source: "iana"
  },
  "application/vnd.bbf.usp.msg+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.bekitzur-stech+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.bint.med-content": {
    source: "iana"
  },
  "application/vnd.biopax.rdf+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.blink-idb-value-wrapper": {
    source: "iana"
  },
  "application/vnd.blueice.multipass": {
    source: "iana",
    extensions: [
      "mpm"
    ]
  },
  "application/vnd.bluetooth.ep.oob": {
    source: "iana"
  },
  "application/vnd.bluetooth.le.oob": {
    source: "iana"
  },
  "application/vnd.bmi": {
    source: "iana",
    extensions: [
      "bmi"
    ]
  },
  "application/vnd.bpf": {
    source: "iana"
  },
  "application/vnd.bpf3": {
    source: "iana"
  },
  "application/vnd.businessobjects": {
    source: "iana",
    extensions: [
      "rep"
    ]
  },
  "application/vnd.byu.uapi+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cab-jscript": {
    source: "iana"
  },
  "application/vnd.canon-cpdl": {
    source: "iana"
  },
  "application/vnd.canon-lips": {
    source: "iana"
  },
  "application/vnd.capasystems-pg+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cendio.thinlinc.clientconf": {
    source: "iana"
  },
  "application/vnd.century-systems.tcp_stream": {
    source: "iana"
  },
  "application/vnd.chemdraw+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "cdxml"
    ]
  },
  "application/vnd.chess-pgn": {
    source: "iana"
  },
  "application/vnd.chipnuts.karaoke-mmd": {
    source: "iana",
    extensions: [
      "mmd"
    ]
  },
  "application/vnd.ciedi": {
    source: "iana"
  },
  "application/vnd.cinderella": {
    source: "iana",
    extensions: [
      "cdy"
    ]
  },
  "application/vnd.cirpack.isdn-ext": {
    source: "iana"
  },
  "application/vnd.citationstyles.style+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "csl"
    ]
  },
  "application/vnd.claymore": {
    source: "iana",
    extensions: [
      "cla"
    ]
  },
  "application/vnd.cloanto.rp9": {
    source: "iana",
    extensions: [
      "rp9"
    ]
  },
  "application/vnd.clonk.c4group": {
    source: "iana",
    extensions: [
      "c4g",
      "c4d",
      "c4f",
      "c4p",
      "c4u"
    ]
  },
  "application/vnd.cluetrust.cartomobile-config": {
    source: "iana",
    extensions: [
      "c11amc"
    ]
  },
  "application/vnd.cluetrust.cartomobile-config-pkg": {
    source: "iana",
    extensions: [
      "c11amz"
    ]
  },
  "application/vnd.coffeescript": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.document": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.document-template": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.presentation": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.presentation-template": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.spreadsheet": {
    source: "iana"
  },
  "application/vnd.collabio.xodocuments.spreadsheet-template": {
    source: "iana"
  },
  "application/vnd.collection+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.collection.doc+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.collection.next+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.comicbook+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.comicbook-rar": {
    source: "iana"
  },
  "application/vnd.commerce-battelle": {
    source: "iana"
  },
  "application/vnd.commonspace": {
    source: "iana",
    extensions: [
      "csp"
    ]
  },
  "application/vnd.contact.cmsg": {
    source: "iana",
    extensions: [
      "cdbcmsg"
    ]
  },
  "application/vnd.coreos.ignition+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cosmocaller": {
    source: "iana",
    extensions: [
      "cmc"
    ]
  },
  "application/vnd.crick.clicker": {
    source: "iana",
    extensions: [
      "clkx"
    ]
  },
  "application/vnd.crick.clicker.keyboard": {
    source: "iana",
    extensions: [
      "clkk"
    ]
  },
  "application/vnd.crick.clicker.palette": {
    source: "iana",
    extensions: [
      "clkp"
    ]
  },
  "application/vnd.crick.clicker.template": {
    source: "iana",
    extensions: [
      "clkt"
    ]
  },
  "application/vnd.crick.clicker.wordbank": {
    source: "iana",
    extensions: [
      "clkw"
    ]
  },
  "application/vnd.criticaltools.wbs+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wbs"
    ]
  },
  "application/vnd.cryptii.pipe+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.crypto-shade-file": {
    source: "iana"
  },
  "application/vnd.cryptomator.encrypted": {
    source: "iana"
  },
  "application/vnd.cryptomator.vault": {
    source: "iana"
  },
  "application/vnd.ctc-posml": {
    source: "iana",
    extensions: [
      "pml"
    ]
  },
  "application/vnd.ctct.ws+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cups-pdf": {
    source: "iana"
  },
  "application/vnd.cups-postscript": {
    source: "iana"
  },
  "application/vnd.cups-ppd": {
    source: "iana",
    extensions: [
      "ppd"
    ]
  },
  "application/vnd.cups-raster": {
    source: "iana"
  },
  "application/vnd.cups-raw": {
    source: "iana"
  },
  "application/vnd.curl": {
    source: "iana"
  },
  "application/vnd.curl.car": {
    source: "apache",
    extensions: [
      "car"
    ]
  },
  "application/vnd.curl.pcurl": {
    source: "apache",
    extensions: [
      "pcurl"
    ]
  },
  "application/vnd.cyan.dean.root+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cybank": {
    source: "iana"
  },
  "application/vnd.cyclonedx+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.cyclonedx+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.d2l.coursepackage1p0+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.d3m-dataset": {
    source: "iana"
  },
  "application/vnd.d3m-problem": {
    source: "iana"
  },
  "application/vnd.dart": {
    source: "iana",
    compressible: !0,
    extensions: [
      "dart"
    ]
  },
  "application/vnd.data-vision.rdz": {
    source: "iana",
    extensions: [
      "rdz"
    ]
  },
  "application/vnd.datapackage+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dataresource+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dbf": {
    source: "iana",
    extensions: [
      "dbf"
    ]
  },
  "application/vnd.debian.binary-package": {
    source: "iana"
  },
  "application/vnd.dece.data": {
    source: "iana",
    extensions: [
      "uvf",
      "uvvf",
      "uvd",
      "uvvd"
    ]
  },
  "application/vnd.dece.ttml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "uvt",
      "uvvt"
    ]
  },
  "application/vnd.dece.unspecified": {
    source: "iana",
    extensions: [
      "uvx",
      "uvvx"
    ]
  },
  "application/vnd.dece.zip": {
    source: "iana",
    extensions: [
      "uvz",
      "uvvz"
    ]
  },
  "application/vnd.denovo.fcselayout-link": {
    source: "iana",
    extensions: [
      "fe_launch"
    ]
  },
  "application/vnd.desmume.movie": {
    source: "iana"
  },
  "application/vnd.dir-bi.plate-dl-nosuffix": {
    source: "iana"
  },
  "application/vnd.dm.delegation+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dna": {
    source: "iana",
    extensions: [
      "dna"
    ]
  },
  "application/vnd.document+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dolby.mlp": {
    source: "apache",
    extensions: [
      "mlp"
    ]
  },
  "application/vnd.dolby.mobile.1": {
    source: "iana"
  },
  "application/vnd.dolby.mobile.2": {
    source: "iana"
  },
  "application/vnd.doremir.scorecloud-binary-document": {
    source: "iana"
  },
  "application/vnd.dpgraph": {
    source: "iana",
    extensions: [
      "dpg"
    ]
  },
  "application/vnd.dreamfactory": {
    source: "iana",
    extensions: [
      "dfac"
    ]
  },
  "application/vnd.drive+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ds-keypoint": {
    source: "apache",
    extensions: [
      "kpxx"
    ]
  },
  "application/vnd.dtg.local": {
    source: "iana"
  },
  "application/vnd.dtg.local.flash": {
    source: "iana"
  },
  "application/vnd.dtg.local.html": {
    source: "iana"
  },
  "application/vnd.dvb.ait": {
    source: "iana",
    extensions: [
      "ait"
    ]
  },
  "application/vnd.dvb.dvbisl+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.dvbj": {
    source: "iana"
  },
  "application/vnd.dvb.esgcontainer": {
    source: "iana"
  },
  "application/vnd.dvb.ipdcdftnotifaccess": {
    source: "iana"
  },
  "application/vnd.dvb.ipdcesgaccess": {
    source: "iana"
  },
  "application/vnd.dvb.ipdcesgaccess2": {
    source: "iana"
  },
  "application/vnd.dvb.ipdcesgpdd": {
    source: "iana"
  },
  "application/vnd.dvb.ipdcroaming": {
    source: "iana"
  },
  "application/vnd.dvb.iptv.alfec-base": {
    source: "iana"
  },
  "application/vnd.dvb.iptv.alfec-enhancement": {
    source: "iana"
  },
  "application/vnd.dvb.notif-aggregate-root+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-container+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-generic+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-ia-msglist+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-ia-registration-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-ia-registration-response+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.notif-init+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.dvb.pfr": {
    source: "iana"
  },
  "application/vnd.dvb.service": {
    source: "iana",
    extensions: [
      "svc"
    ]
  },
  "application/vnd.dxr": {
    source: "iana"
  },
  "application/vnd.dynageo": {
    source: "iana",
    extensions: [
      "geo"
    ]
  },
  "application/vnd.dzr": {
    source: "iana"
  },
  "application/vnd.easykaraoke.cdgdownload": {
    source: "iana"
  },
  "application/vnd.ecdis-update": {
    source: "iana"
  },
  "application/vnd.ecip.rlp": {
    source: "iana"
  },
  "application/vnd.eclipse.ditto+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ecowin.chart": {
    source: "iana",
    extensions: [
      "mag"
    ]
  },
  "application/vnd.ecowin.filerequest": {
    source: "iana"
  },
  "application/vnd.ecowin.fileupdate": {
    source: "iana"
  },
  "application/vnd.ecowin.series": {
    source: "iana"
  },
  "application/vnd.ecowin.seriesrequest": {
    source: "iana"
  },
  "application/vnd.ecowin.seriesupdate": {
    source: "iana"
  },
  "application/vnd.efi.img": {
    source: "iana"
  },
  "application/vnd.efi.iso": {
    source: "iana"
  },
  "application/vnd.emclient.accessrequest+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.enliven": {
    source: "iana",
    extensions: [
      "nml"
    ]
  },
  "application/vnd.enphase.envoy": {
    source: "iana"
  },
  "application/vnd.eprints.data+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.epson.esf": {
    source: "iana",
    extensions: [
      "esf"
    ]
  },
  "application/vnd.epson.msf": {
    source: "iana",
    extensions: [
      "msf"
    ]
  },
  "application/vnd.epson.quickanime": {
    source: "iana",
    extensions: [
      "qam"
    ]
  },
  "application/vnd.epson.salt": {
    source: "iana",
    extensions: [
      "slt"
    ]
  },
  "application/vnd.epson.ssf": {
    source: "iana",
    extensions: [
      "ssf"
    ]
  },
  "application/vnd.ericsson.quickcall": {
    source: "iana"
  },
  "application/vnd.espass-espass+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.eszigno3+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "es3",
      "et3"
    ]
  },
  "application/vnd.etsi.aoc+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.asic-e+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.etsi.asic-s+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.etsi.cug+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvcommand+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvdiscovery+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvprofile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvsad-bc+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvsad-cod+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvsad-npvr+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvservice+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvsync+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.iptvueprofile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.mcid+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.mheg5": {
    source: "iana"
  },
  "application/vnd.etsi.overload-control-policy-dataset+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.pstn+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.sci+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.simservs+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.timestamp-token": {
    source: "iana"
  },
  "application/vnd.etsi.tsl+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.etsi.tsl.der": {
    source: "iana"
  },
  "application/vnd.eu.kasparian.car+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.eudora.data": {
    source: "iana"
  },
  "application/vnd.evolv.ecig.profile": {
    source: "iana"
  },
  "application/vnd.evolv.ecig.settings": {
    source: "iana"
  },
  "application/vnd.evolv.ecig.theme": {
    source: "iana"
  },
  "application/vnd.exstream-empower+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.exstream-package": {
    source: "iana"
  },
  "application/vnd.ezpix-album": {
    source: "iana",
    extensions: [
      "ez2"
    ]
  },
  "application/vnd.ezpix-package": {
    source: "iana",
    extensions: [
      "ez3"
    ]
  },
  "application/vnd.f-secure.mobile": {
    source: "iana"
  },
  "application/vnd.familysearch.gedcom+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.fastcopy-disk-image": {
    source: "iana"
  },
  "application/vnd.fdf": {
    source: "iana",
    extensions: [
      "fdf"
    ]
  },
  "application/vnd.fdsn.mseed": {
    source: "iana",
    extensions: [
      "mseed"
    ]
  },
  "application/vnd.fdsn.seed": {
    source: "iana",
    extensions: [
      "seed",
      "dataless"
    ]
  },
  "application/vnd.ffsns": {
    source: "iana"
  },
  "application/vnd.ficlab.flb+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.filmit.zfc": {
    source: "iana"
  },
  "application/vnd.fints": {
    source: "iana"
  },
  "application/vnd.firemonkeys.cloudcell": {
    source: "iana"
  },
  "application/vnd.flographit": {
    source: "iana",
    extensions: [
      "gph"
    ]
  },
  "application/vnd.fluxtime.clip": {
    source: "iana",
    extensions: [
      "ftc"
    ]
  },
  "application/vnd.font-fontforge-sfd": {
    source: "iana"
  },
  "application/vnd.framemaker": {
    source: "iana",
    extensions: [
      "fm",
      "frame",
      "maker",
      "book"
    ]
  },
  "application/vnd.frogans.fnc": {
    source: "iana",
    extensions: [
      "fnc"
    ]
  },
  "application/vnd.frogans.ltf": {
    source: "iana",
    extensions: [
      "ltf"
    ]
  },
  "application/vnd.fsc.weblaunch": {
    source: "iana",
    extensions: [
      "fsc"
    ]
  },
  "application/vnd.fujifilm.fb.docuworks": {
    source: "iana"
  },
  "application/vnd.fujifilm.fb.docuworks.binder": {
    source: "iana"
  },
  "application/vnd.fujifilm.fb.docuworks.container": {
    source: "iana"
  },
  "application/vnd.fujifilm.fb.jfi+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.fujitsu.oasys": {
    source: "iana",
    extensions: [
      "oas"
    ]
  },
  "application/vnd.fujitsu.oasys2": {
    source: "iana",
    extensions: [
      "oa2"
    ]
  },
  "application/vnd.fujitsu.oasys3": {
    source: "iana",
    extensions: [
      "oa3"
    ]
  },
  "application/vnd.fujitsu.oasysgp": {
    source: "iana",
    extensions: [
      "fg5"
    ]
  },
  "application/vnd.fujitsu.oasysprs": {
    source: "iana",
    extensions: [
      "bh2"
    ]
  },
  "application/vnd.fujixerox.art-ex": {
    source: "iana"
  },
  "application/vnd.fujixerox.art4": {
    source: "iana"
  },
  "application/vnd.fujixerox.ddd": {
    source: "iana",
    extensions: [
      "ddd"
    ]
  },
  "application/vnd.fujixerox.docuworks": {
    source: "iana",
    extensions: [
      "xdw"
    ]
  },
  "application/vnd.fujixerox.docuworks.binder": {
    source: "iana",
    extensions: [
      "xbd"
    ]
  },
  "application/vnd.fujixerox.docuworks.container": {
    source: "iana"
  },
  "application/vnd.fujixerox.hbpl": {
    source: "iana"
  },
  "application/vnd.fut-misnet": {
    source: "iana"
  },
  "application/vnd.futoin+cbor": {
    source: "iana"
  },
  "application/vnd.futoin+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.fuzzysheet": {
    source: "iana",
    extensions: [
      "fzs"
    ]
  },
  "application/vnd.genomatix.tuxedo": {
    source: "iana",
    extensions: [
      "txd"
    ]
  },
  "application/vnd.gentics.grd+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.geo+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.geocube+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.geogebra.file": {
    source: "iana",
    extensions: [
      "ggb"
    ]
  },
  "application/vnd.geogebra.slides": {
    source: "iana"
  },
  "application/vnd.geogebra.tool": {
    source: "iana",
    extensions: [
      "ggt"
    ]
  },
  "application/vnd.geometry-explorer": {
    source: "iana",
    extensions: [
      "gex",
      "gre"
    ]
  },
  "application/vnd.geonext": {
    source: "iana",
    extensions: [
      "gxt"
    ]
  },
  "application/vnd.geoplan": {
    source: "iana",
    extensions: [
      "g2w"
    ]
  },
  "application/vnd.geospace": {
    source: "iana",
    extensions: [
      "g3w"
    ]
  },
  "application/vnd.gerber": {
    source: "iana"
  },
  "application/vnd.globalplatform.card-content-mgt": {
    source: "iana"
  },
  "application/vnd.globalplatform.card-content-mgt-response": {
    source: "iana"
  },
  "application/vnd.gmx": {
    source: "iana",
    extensions: [
      "gmx"
    ]
  },
  "application/vnd.google-apps.document": {
    compressible: !1,
    extensions: [
      "gdoc"
    ]
  },
  "application/vnd.google-apps.presentation": {
    compressible: !1,
    extensions: [
      "gslides"
    ]
  },
  "application/vnd.google-apps.spreadsheet": {
    compressible: !1,
    extensions: [
      "gsheet"
    ]
  },
  "application/vnd.google-earth.kml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "kml"
    ]
  },
  "application/vnd.google-earth.kmz": {
    source: "iana",
    compressible: !1,
    extensions: [
      "kmz"
    ]
  },
  "application/vnd.gov.sk.e-form+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.gov.sk.e-form+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.gov.sk.xmldatacontainer+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.grafeq": {
    source: "iana",
    extensions: [
      "gqf",
      "gqs"
    ]
  },
  "application/vnd.gridmp": {
    source: "iana"
  },
  "application/vnd.groove-account": {
    source: "iana",
    extensions: [
      "gac"
    ]
  },
  "application/vnd.groove-help": {
    source: "iana",
    extensions: [
      "ghf"
    ]
  },
  "application/vnd.groove-identity-message": {
    source: "iana",
    extensions: [
      "gim"
    ]
  },
  "application/vnd.groove-injector": {
    source: "iana",
    extensions: [
      "grv"
    ]
  },
  "application/vnd.groove-tool-message": {
    source: "iana",
    extensions: [
      "gtm"
    ]
  },
  "application/vnd.groove-tool-template": {
    source: "iana",
    extensions: [
      "tpl"
    ]
  },
  "application/vnd.groove-vcard": {
    source: "iana",
    extensions: [
      "vcg"
    ]
  },
  "application/vnd.hal+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hal+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "hal"
    ]
  },
  "application/vnd.handheld-entertainment+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "zmm"
    ]
  },
  "application/vnd.hbci": {
    source: "iana",
    extensions: [
      "hbci"
    ]
  },
  "application/vnd.hc+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hcl-bireports": {
    source: "iana"
  },
  "application/vnd.hdt": {
    source: "iana"
  },
  "application/vnd.heroku+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hhe.lesson-player": {
    source: "iana",
    extensions: [
      "les"
    ]
  },
  "application/vnd.hl7cda+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.hl7v2+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.hp-hpgl": {
    source: "iana",
    extensions: [
      "hpgl"
    ]
  },
  "application/vnd.hp-hpid": {
    source: "iana",
    extensions: [
      "hpid"
    ]
  },
  "application/vnd.hp-hps": {
    source: "iana",
    extensions: [
      "hps"
    ]
  },
  "application/vnd.hp-jlyt": {
    source: "iana",
    extensions: [
      "jlt"
    ]
  },
  "application/vnd.hp-pcl": {
    source: "iana",
    extensions: [
      "pcl"
    ]
  },
  "application/vnd.hp-pclxl": {
    source: "iana",
    extensions: [
      "pclxl"
    ]
  },
  "application/vnd.httphone": {
    source: "iana"
  },
  "application/vnd.hydrostatix.sof-data": {
    source: "iana",
    extensions: [
      "sfd-hdstx"
    ]
  },
  "application/vnd.hyper+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hyper-item+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hyperdrive+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.hzn-3d-crossword": {
    source: "iana"
  },
  "application/vnd.ibm.afplinedata": {
    source: "iana"
  },
  "application/vnd.ibm.electronic-media": {
    source: "iana"
  },
  "application/vnd.ibm.minipay": {
    source: "iana",
    extensions: [
      "mpy"
    ]
  },
  "application/vnd.ibm.modcap": {
    source: "iana",
    extensions: [
      "afp",
      "listafp",
      "list3820"
    ]
  },
  "application/vnd.ibm.rights-management": {
    source: "iana",
    extensions: [
      "irm"
    ]
  },
  "application/vnd.ibm.secure-container": {
    source: "iana",
    extensions: [
      "sc"
    ]
  },
  "application/vnd.iccprofile": {
    source: "iana",
    extensions: [
      "icc",
      "icm"
    ]
  },
  "application/vnd.ieee.1905": {
    source: "iana"
  },
  "application/vnd.igloader": {
    source: "iana",
    extensions: [
      "igl"
    ]
  },
  "application/vnd.imagemeter.folder+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.imagemeter.image+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.immervision-ivp": {
    source: "iana",
    extensions: [
      "ivp"
    ]
  },
  "application/vnd.immervision-ivu": {
    source: "iana",
    extensions: [
      "ivu"
    ]
  },
  "application/vnd.ims.imsccv1p1": {
    source: "iana"
  },
  "application/vnd.ims.imsccv1p2": {
    source: "iana"
  },
  "application/vnd.ims.imsccv1p3": {
    source: "iana"
  },
  "application/vnd.ims.lis.v2.result+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ims.lti.v2.toolconsumerprofile+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ims.lti.v2.toolproxy+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ims.lti.v2.toolproxy.id+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ims.lti.v2.toolsettings+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ims.lti.v2.toolsettings.simple+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.informedcontrol.rms+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.informix-visionary": {
    source: "iana"
  },
  "application/vnd.infotech.project": {
    source: "iana"
  },
  "application/vnd.infotech.project+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.innopath.wamp.notification": {
    source: "iana"
  },
  "application/vnd.insors.igm": {
    source: "iana",
    extensions: [
      "igm"
    ]
  },
  "application/vnd.intercon.formnet": {
    source: "iana",
    extensions: [
      "xpw",
      "xpx"
    ]
  },
  "application/vnd.intergeo": {
    source: "iana",
    extensions: [
      "i2g"
    ]
  },
  "application/vnd.intertrust.digibox": {
    source: "iana"
  },
  "application/vnd.intertrust.nncp": {
    source: "iana"
  },
  "application/vnd.intu.qbo": {
    source: "iana",
    extensions: [
      "qbo"
    ]
  },
  "application/vnd.intu.qfx": {
    source: "iana",
    extensions: [
      "qfx"
    ]
  },
  "application/vnd.iptc.g2.catalogitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.conceptitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.knowledgeitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.newsitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.newsmessage+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.packageitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.iptc.g2.planningitem+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ipunplugged.rcprofile": {
    source: "iana",
    extensions: [
      "rcprofile"
    ]
  },
  "application/vnd.irepository.package+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "irp"
    ]
  },
  "application/vnd.is-xpr": {
    source: "iana",
    extensions: [
      "xpr"
    ]
  },
  "application/vnd.isac.fcs": {
    source: "iana",
    extensions: [
      "fcs"
    ]
  },
  "application/vnd.iso11783-10+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.jam": {
    source: "iana",
    extensions: [
      "jam"
    ]
  },
  "application/vnd.japannet-directory-service": {
    source: "iana"
  },
  "application/vnd.japannet-jpnstore-wakeup": {
    source: "iana"
  },
  "application/vnd.japannet-payment-wakeup": {
    source: "iana"
  },
  "application/vnd.japannet-registration": {
    source: "iana"
  },
  "application/vnd.japannet-registration-wakeup": {
    source: "iana"
  },
  "application/vnd.japannet-setstore-wakeup": {
    source: "iana"
  },
  "application/vnd.japannet-verification": {
    source: "iana"
  },
  "application/vnd.japannet-verification-wakeup": {
    source: "iana"
  },
  "application/vnd.jcp.javame.midlet-rms": {
    source: "iana",
    extensions: [
      "rms"
    ]
  },
  "application/vnd.jisp": {
    source: "iana",
    extensions: [
      "jisp"
    ]
  },
  "application/vnd.joost.joda-archive": {
    source: "iana",
    extensions: [
      "joda"
    ]
  },
  "application/vnd.jsk.isdn-ngn": {
    source: "iana"
  },
  "application/vnd.kahootz": {
    source: "iana",
    extensions: [
      "ktz",
      "ktr"
    ]
  },
  "application/vnd.kde.karbon": {
    source: "iana",
    extensions: [
      "karbon"
    ]
  },
  "application/vnd.kde.kchart": {
    source: "iana",
    extensions: [
      "chrt"
    ]
  },
  "application/vnd.kde.kformula": {
    source: "iana",
    extensions: [
      "kfo"
    ]
  },
  "application/vnd.kde.kivio": {
    source: "iana",
    extensions: [
      "flw"
    ]
  },
  "application/vnd.kde.kontour": {
    source: "iana",
    extensions: [
      "kon"
    ]
  },
  "application/vnd.kde.kpresenter": {
    source: "iana",
    extensions: [
      "kpr",
      "kpt"
    ]
  },
  "application/vnd.kde.kspread": {
    source: "iana",
    extensions: [
      "ksp"
    ]
  },
  "application/vnd.kde.kword": {
    source: "iana",
    extensions: [
      "kwd",
      "kwt"
    ]
  },
  "application/vnd.kenameaapp": {
    source: "iana",
    extensions: [
      "htke"
    ]
  },
  "application/vnd.kidspiration": {
    source: "iana",
    extensions: [
      "kia"
    ]
  },
  "application/vnd.kinar": {
    source: "iana",
    extensions: [
      "kne",
      "knp"
    ]
  },
  "application/vnd.koan": {
    source: "iana",
    extensions: [
      "skp",
      "skd",
      "skt",
      "skm"
    ]
  },
  "application/vnd.kodak-descriptor": {
    source: "iana",
    extensions: [
      "sse"
    ]
  },
  "application/vnd.las": {
    source: "iana"
  },
  "application/vnd.las.las+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.las.las+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "lasxml"
    ]
  },
  "application/vnd.laszip": {
    source: "iana"
  },
  "application/vnd.leap+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.liberty-request+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.llamagraphics.life-balance.desktop": {
    source: "iana",
    extensions: [
      "lbd"
    ]
  },
  "application/vnd.llamagraphics.life-balance.exchange+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "lbe"
    ]
  },
  "application/vnd.logipipe.circuit+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.loom": {
    source: "iana"
  },
  "application/vnd.lotus-1-2-3": {
    source: "iana",
    extensions: [
      "123"
    ]
  },
  "application/vnd.lotus-approach": {
    source: "iana",
    extensions: [
      "apr"
    ]
  },
  "application/vnd.lotus-freelance": {
    source: "iana",
    extensions: [
      "pre"
    ]
  },
  "application/vnd.lotus-notes": {
    source: "iana",
    extensions: [
      "nsf"
    ]
  },
  "application/vnd.lotus-organizer": {
    source: "iana",
    extensions: [
      "org"
    ]
  },
  "application/vnd.lotus-screencam": {
    source: "iana",
    extensions: [
      "scm"
    ]
  },
  "application/vnd.lotus-wordpro": {
    source: "iana",
    extensions: [
      "lwp"
    ]
  },
  "application/vnd.macports.portpkg": {
    source: "iana",
    extensions: [
      "portpkg"
    ]
  },
  "application/vnd.mapbox-vector-tile": {
    source: "iana",
    extensions: [
      "mvt"
    ]
  },
  "application/vnd.marlin.drm.actiontoken+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.marlin.drm.conftoken+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.marlin.drm.license+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.marlin.drm.mdcf": {
    source: "iana"
  },
  "application/vnd.mason+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.maxar.archive.3tz+zip": {
    source: "iana",
    compressible: !1
  },
  "application/vnd.maxmind.maxmind-db": {
    source: "iana"
  },
  "application/vnd.mcd": {
    source: "iana",
    extensions: [
      "mcd"
    ]
  },
  "application/vnd.medcalcdata": {
    source: "iana",
    extensions: [
      "mc1"
    ]
  },
  "application/vnd.mediastation.cdkey": {
    source: "iana",
    extensions: [
      "cdkey"
    ]
  },
  "application/vnd.meridian-slingshot": {
    source: "iana"
  },
  "application/vnd.mfer": {
    source: "iana",
    extensions: [
      "mwf"
    ]
  },
  "application/vnd.mfmp": {
    source: "iana",
    extensions: [
      "mfm"
    ]
  },
  "application/vnd.micro+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.micrografx.flo": {
    source: "iana",
    extensions: [
      "flo"
    ]
  },
  "application/vnd.micrografx.igx": {
    source: "iana",
    extensions: [
      "igx"
    ]
  },
  "application/vnd.microsoft.portable-executable": {
    source: "iana"
  },
  "application/vnd.microsoft.windows.thumbnail-cache": {
    source: "iana"
  },
  "application/vnd.miele+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.mif": {
    source: "iana",
    extensions: [
      "mif"
    ]
  },
  "application/vnd.minisoft-hp3000-save": {
    source: "iana"
  },
  "application/vnd.mitsubishi.misty-guard.trustweb": {
    source: "iana"
  },
  "application/vnd.mobius.daf": {
    source: "iana",
    extensions: [
      "daf"
    ]
  },
  "application/vnd.mobius.dis": {
    source: "iana",
    extensions: [
      "dis"
    ]
  },
  "application/vnd.mobius.mbk": {
    source: "iana",
    extensions: [
      "mbk"
    ]
  },
  "application/vnd.mobius.mqy": {
    source: "iana",
    extensions: [
      "mqy"
    ]
  },
  "application/vnd.mobius.msl": {
    source: "iana",
    extensions: [
      "msl"
    ]
  },
  "application/vnd.mobius.plc": {
    source: "iana",
    extensions: [
      "plc"
    ]
  },
  "application/vnd.mobius.txf": {
    source: "iana",
    extensions: [
      "txf"
    ]
  },
  "application/vnd.mophun.application": {
    source: "iana",
    extensions: [
      "mpn"
    ]
  },
  "application/vnd.mophun.certificate": {
    source: "iana",
    extensions: [
      "mpc"
    ]
  },
  "application/vnd.motorola.flexsuite": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.adsi": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.fis": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.gotap": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.kmr": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.ttc": {
    source: "iana"
  },
  "application/vnd.motorola.flexsuite.wem": {
    source: "iana"
  },
  "application/vnd.motorola.iprm": {
    source: "iana"
  },
  "application/vnd.mozilla.xul+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xul"
    ]
  },
  "application/vnd.ms-3mfdocument": {
    source: "iana"
  },
  "application/vnd.ms-artgalry": {
    source: "iana",
    extensions: [
      "cil"
    ]
  },
  "application/vnd.ms-asf": {
    source: "iana"
  },
  "application/vnd.ms-cab-compressed": {
    source: "iana",
    extensions: [
      "cab"
    ]
  },
  "application/vnd.ms-color.iccprofile": {
    source: "apache"
  },
  "application/vnd.ms-excel": {
    source: "iana",
    compressible: !1,
    extensions: [
      "xls",
      "xlm",
      "xla",
      "xlc",
      "xlt",
      "xlw"
    ]
  },
  "application/vnd.ms-excel.addin.macroenabled.12": {
    source: "iana",
    extensions: [
      "xlam"
    ]
  },
  "application/vnd.ms-excel.sheet.binary.macroenabled.12": {
    source: "iana",
    extensions: [
      "xlsb"
    ]
  },
  "application/vnd.ms-excel.sheet.macroenabled.12": {
    source: "iana",
    extensions: [
      "xlsm"
    ]
  },
  "application/vnd.ms-excel.template.macroenabled.12": {
    source: "iana",
    extensions: [
      "xltm"
    ]
  },
  "application/vnd.ms-fontobject": {
    source: "iana",
    compressible: !0,
    extensions: [
      "eot"
    ]
  },
  "application/vnd.ms-htmlhelp": {
    source: "iana",
    extensions: [
      "chm"
    ]
  },
  "application/vnd.ms-ims": {
    source: "iana",
    extensions: [
      "ims"
    ]
  },
  "application/vnd.ms-lrm": {
    source: "iana",
    extensions: [
      "lrm"
    ]
  },
  "application/vnd.ms-office.activex+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ms-officetheme": {
    source: "iana",
    extensions: [
      "thmx"
    ]
  },
  "application/vnd.ms-opentype": {
    source: "apache",
    compressible: !0
  },
  "application/vnd.ms-outlook": {
    compressible: !1,
    extensions: [
      "msg"
    ]
  },
  "application/vnd.ms-package.obfuscated-opentype": {
    source: "apache"
  },
  "application/vnd.ms-pki.seccat": {
    source: "apache",
    extensions: [
      "cat"
    ]
  },
  "application/vnd.ms-pki.stl": {
    source: "apache",
    extensions: [
      "stl"
    ]
  },
  "application/vnd.ms-playready.initiator+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ms-powerpoint": {
    source: "iana",
    compressible: !1,
    extensions: [
      "ppt",
      "pps",
      "pot"
    ]
  },
  "application/vnd.ms-powerpoint.addin.macroenabled.12": {
    source: "iana",
    extensions: [
      "ppam"
    ]
  },
  "application/vnd.ms-powerpoint.presentation.macroenabled.12": {
    source: "iana",
    extensions: [
      "pptm"
    ]
  },
  "application/vnd.ms-powerpoint.slide.macroenabled.12": {
    source: "iana",
    extensions: [
      "sldm"
    ]
  },
  "application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
    source: "iana",
    extensions: [
      "ppsm"
    ]
  },
  "application/vnd.ms-powerpoint.template.macroenabled.12": {
    source: "iana",
    extensions: [
      "potm"
    ]
  },
  "application/vnd.ms-printdevicecapabilities+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ms-printing.printticket+xml": {
    source: "apache",
    compressible: !0
  },
  "application/vnd.ms-printschematicket+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ms-project": {
    source: "iana",
    extensions: [
      "mpp",
      "mpt"
    ]
  },
  "application/vnd.ms-tnef": {
    source: "iana"
  },
  "application/vnd.ms-windows.devicepairing": {
    source: "iana"
  },
  "application/vnd.ms-windows.nwprinting.oob": {
    source: "iana"
  },
  "application/vnd.ms-windows.printerpairing": {
    source: "iana"
  },
  "application/vnd.ms-windows.wsd.oob": {
    source: "iana"
  },
  "application/vnd.ms-wmdrm.lic-chlg-req": {
    source: "iana"
  },
  "application/vnd.ms-wmdrm.lic-resp": {
    source: "iana"
  },
  "application/vnd.ms-wmdrm.meter-chlg-req": {
    source: "iana"
  },
  "application/vnd.ms-wmdrm.meter-resp": {
    source: "iana"
  },
  "application/vnd.ms-word.document.macroenabled.12": {
    source: "iana",
    extensions: [
      "docm"
    ]
  },
  "application/vnd.ms-word.template.macroenabled.12": {
    source: "iana",
    extensions: [
      "dotm"
    ]
  },
  "application/vnd.ms-works": {
    source: "iana",
    extensions: [
      "wps",
      "wks",
      "wcm",
      "wdb"
    ]
  },
  "application/vnd.ms-wpl": {
    source: "iana",
    extensions: [
      "wpl"
    ]
  },
  "application/vnd.ms-xpsdocument": {
    source: "iana",
    compressible: !1,
    extensions: [
      "xps"
    ]
  },
  "application/vnd.msa-disk-image": {
    source: "iana"
  },
  "application/vnd.mseq": {
    source: "iana",
    extensions: [
      "mseq"
    ]
  },
  "application/vnd.msign": {
    source: "iana"
  },
  "application/vnd.multiad.creator": {
    source: "iana"
  },
  "application/vnd.multiad.creator.cif": {
    source: "iana"
  },
  "application/vnd.music-niff": {
    source: "iana"
  },
  "application/vnd.musician": {
    source: "iana",
    extensions: [
      "mus"
    ]
  },
  "application/vnd.muvee.style": {
    source: "iana",
    extensions: [
      "msty"
    ]
  },
  "application/vnd.mynfc": {
    source: "iana",
    extensions: [
      "taglet"
    ]
  },
  "application/vnd.nacamar.ybrid+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.ncd.control": {
    source: "iana"
  },
  "application/vnd.ncd.reference": {
    source: "iana"
  },
  "application/vnd.nearst.inv+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nebumind.line": {
    source: "iana"
  },
  "application/vnd.nervana": {
    source: "iana"
  },
  "application/vnd.netfpx": {
    source: "iana"
  },
  "application/vnd.neurolanguage.nlu": {
    source: "iana",
    extensions: [
      "nlu"
    ]
  },
  "application/vnd.nimn": {
    source: "iana"
  },
  "application/vnd.nintendo.nitro.rom": {
    source: "iana"
  },
  "application/vnd.nintendo.snes.rom": {
    source: "iana"
  },
  "application/vnd.nitf": {
    source: "iana",
    extensions: [
      "ntf",
      "nitf"
    ]
  },
  "application/vnd.noblenet-directory": {
    source: "iana",
    extensions: [
      "nnd"
    ]
  },
  "application/vnd.noblenet-sealer": {
    source: "iana",
    extensions: [
      "nns"
    ]
  },
  "application/vnd.noblenet-web": {
    source: "iana",
    extensions: [
      "nnw"
    ]
  },
  "application/vnd.nokia.catalogs": {
    source: "iana"
  },
  "application/vnd.nokia.conml+wbxml": {
    source: "iana"
  },
  "application/vnd.nokia.conml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nokia.iptv.config+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nokia.isds-radio-presets": {
    source: "iana"
  },
  "application/vnd.nokia.landmark+wbxml": {
    source: "iana"
  },
  "application/vnd.nokia.landmark+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nokia.landmarkcollection+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nokia.n-gage.ac+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ac"
    ]
  },
  "application/vnd.nokia.n-gage.data": {
    source: "iana",
    extensions: [
      "ngdat"
    ]
  },
  "application/vnd.nokia.n-gage.symbian.install": {
    source: "iana",
    extensions: [
      "n-gage"
    ]
  },
  "application/vnd.nokia.ncd": {
    source: "iana"
  },
  "application/vnd.nokia.pcd+wbxml": {
    source: "iana"
  },
  "application/vnd.nokia.pcd+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.nokia.radio-preset": {
    source: "iana",
    extensions: [
      "rpst"
    ]
  },
  "application/vnd.nokia.radio-presets": {
    source: "iana",
    extensions: [
      "rpss"
    ]
  },
  "application/vnd.novadigm.edm": {
    source: "iana",
    extensions: [
      "edm"
    ]
  },
  "application/vnd.novadigm.edx": {
    source: "iana",
    extensions: [
      "edx"
    ]
  },
  "application/vnd.novadigm.ext": {
    source: "iana",
    extensions: [
      "ext"
    ]
  },
  "application/vnd.ntt-local.content-share": {
    source: "iana"
  },
  "application/vnd.ntt-local.file-transfer": {
    source: "iana"
  },
  "application/vnd.ntt-local.ogw_remote-access": {
    source: "iana"
  },
  "application/vnd.ntt-local.sip-ta_remote": {
    source: "iana"
  },
  "application/vnd.ntt-local.sip-ta_tcp_stream": {
    source: "iana"
  },
  "application/vnd.oasis.opendocument.chart": {
    source: "iana",
    extensions: [
      "odc"
    ]
  },
  "application/vnd.oasis.opendocument.chart-template": {
    source: "iana",
    extensions: [
      "otc"
    ]
  },
  "application/vnd.oasis.opendocument.database": {
    source: "iana",
    extensions: [
      "odb"
    ]
  },
  "application/vnd.oasis.opendocument.formula": {
    source: "iana",
    extensions: [
      "odf"
    ]
  },
  "application/vnd.oasis.opendocument.formula-template": {
    source: "iana",
    extensions: [
      "odft"
    ]
  },
  "application/vnd.oasis.opendocument.graphics": {
    source: "iana",
    compressible: !1,
    extensions: [
      "odg"
    ]
  },
  "application/vnd.oasis.opendocument.graphics-template": {
    source: "iana",
    extensions: [
      "otg"
    ]
  },
  "application/vnd.oasis.opendocument.image": {
    source: "iana",
    extensions: [
      "odi"
    ]
  },
  "application/vnd.oasis.opendocument.image-template": {
    source: "iana",
    extensions: [
      "oti"
    ]
  },
  "application/vnd.oasis.opendocument.presentation": {
    source: "iana",
    compressible: !1,
    extensions: [
      "odp"
    ]
  },
  "application/vnd.oasis.opendocument.presentation-template": {
    source: "iana",
    extensions: [
      "otp"
    ]
  },
  "application/vnd.oasis.opendocument.spreadsheet": {
    source: "iana",
    compressible: !1,
    extensions: [
      "ods"
    ]
  },
  "application/vnd.oasis.opendocument.spreadsheet-template": {
    source: "iana",
    extensions: [
      "ots"
    ]
  },
  "application/vnd.oasis.opendocument.text": {
    source: "iana",
    compressible: !1,
    extensions: [
      "odt"
    ]
  },
  "application/vnd.oasis.opendocument.text-master": {
    source: "iana",
    extensions: [
      "odm"
    ]
  },
  "application/vnd.oasis.opendocument.text-template": {
    source: "iana",
    extensions: [
      "ott"
    ]
  },
  "application/vnd.oasis.opendocument.text-web": {
    source: "iana",
    extensions: [
      "oth"
    ]
  },
  "application/vnd.obn": {
    source: "iana"
  },
  "application/vnd.ocf+cbor": {
    source: "iana"
  },
  "application/vnd.oci.image.manifest.v1+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oftn.l10n+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.contentaccessdownload+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.contentaccessstreaming+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.cspg-hexbinary": {
    source: "iana"
  },
  "application/vnd.oipf.dae.svg+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.dae.xhtml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.mippvcontrolmessage+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.pae.gem": {
    source: "iana"
  },
  "application/vnd.oipf.spdiscovery+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.spdlist+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.ueprofile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oipf.userprofile+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.olpc-sugar": {
    source: "iana",
    extensions: [
      "xo"
    ]
  },
  "application/vnd.oma-scws-config": {
    source: "iana"
  },
  "application/vnd.oma-scws-http-request": {
    source: "iana"
  },
  "application/vnd.oma-scws-http-response": {
    source: "iana"
  },
  "application/vnd.oma.bcast.associated-procedure-parameter+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.drm-trigger+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.imd+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.ltkm": {
    source: "iana"
  },
  "application/vnd.oma.bcast.notification+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.provisioningtrigger": {
    source: "iana"
  },
  "application/vnd.oma.bcast.sgboot": {
    source: "iana"
  },
  "application/vnd.oma.bcast.sgdd+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.sgdu": {
    source: "iana"
  },
  "application/vnd.oma.bcast.simple-symbol-container": {
    source: "iana"
  },
  "application/vnd.oma.bcast.smartcard-trigger+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.sprov+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.bcast.stkm": {
    source: "iana"
  },
  "application/vnd.oma.cab-address-book+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.cab-feature-handler+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.cab-pcc+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.cab-subs-invite+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.cab-user-prefs+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.dcd": {
    source: "iana"
  },
  "application/vnd.oma.dcdc": {
    source: "iana"
  },
  "application/vnd.oma.dd2+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "dd2"
    ]
  },
  "application/vnd.oma.drm.risd+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.group-usage-list+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.lwm2m+cbor": {
    source: "iana"
  },
  "application/vnd.oma.lwm2m+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.lwm2m+tlv": {
    source: "iana"
  },
  "application/vnd.oma.pal+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.poc.detailed-progress-report+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.poc.final-report+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.poc.groups+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.poc.invocation-descriptor+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.poc.optimized-progress-report+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.push": {
    source: "iana"
  },
  "application/vnd.oma.scidm.messages+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oma.xcap-directory+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.omads-email+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.omads-file+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.omads-folder+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.omaloc-supl-init": {
    source: "iana"
  },
  "application/vnd.onepager": {
    source: "iana"
  },
  "application/vnd.onepagertamp": {
    source: "iana"
  },
  "application/vnd.onepagertamx": {
    source: "iana"
  },
  "application/vnd.onepagertat": {
    source: "iana"
  },
  "application/vnd.onepagertatp": {
    source: "iana"
  },
  "application/vnd.onepagertatx": {
    source: "iana"
  },
  "application/vnd.openblox.game+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "obgx"
    ]
  },
  "application/vnd.openblox.game-binary": {
    source: "iana"
  },
  "application/vnd.openeye.oeb": {
    source: "iana"
  },
  "application/vnd.openofficeorg.extension": {
    source: "apache",
    extensions: [
      "oxt"
    ]
  },
  "application/vnd.openstreetmap.data+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "osm"
    ]
  },
  "application/vnd.opentimestamps.ots": {
    source: "iana"
  },
  "application/vnd.openxmlformats-officedocument.custom-properties+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawing+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.extended-properties+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.presentation": {
    source: "iana",
    compressible: !1,
    extensions: [
      "pptx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slide": {
    source: "iana",
    extensions: [
      "sldx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slideshow": {
    source: "iana",
    extensions: [
      "ppsx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.template": {
    source: "iana",
    extensions: [
      "potx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
    source: "iana",
    compressible: !1,
    extensions: [
      "xlsx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
    source: "iana",
    extensions: [
      "xltx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.theme+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.themeoverride+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.vmldrawing": {
    source: "iana"
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
    source: "iana",
    compressible: !1,
    extensions: [
      "docx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template": {
    source: "iana",
    extensions: [
      "dotx"
    ]
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-package.core-properties+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.openxmlformats-package.relationships+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oracle.resource+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.orange.indata": {
    source: "iana"
  },
  "application/vnd.osa.netdeploy": {
    source: "iana"
  },
  "application/vnd.osgeo.mapguide.package": {
    source: "iana",
    extensions: [
      "mgp"
    ]
  },
  "application/vnd.osgi.bundle": {
    source: "iana"
  },
  "application/vnd.osgi.dp": {
    source: "iana",
    extensions: [
      "dp"
    ]
  },
  "application/vnd.osgi.subsystem": {
    source: "iana",
    extensions: [
      "esa"
    ]
  },
  "application/vnd.otps.ct-kip+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.oxli.countgraph": {
    source: "iana"
  },
  "application/vnd.pagerduty+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.palm": {
    source: "iana",
    extensions: [
      "pdb",
      "pqa",
      "oprc"
    ]
  },
  "application/vnd.panoply": {
    source: "iana"
  },
  "application/vnd.paos.xml": {
    source: "iana"
  },
  "application/vnd.patentdive": {
    source: "iana"
  },
  "application/vnd.patientecommsdoc": {
    source: "iana"
  },
  "application/vnd.pawaafile": {
    source: "iana",
    extensions: [
      "paw"
    ]
  },
  "application/vnd.pcos": {
    source: "iana"
  },
  "application/vnd.pg.format": {
    source: "iana",
    extensions: [
      "str"
    ]
  },
  "application/vnd.pg.osasli": {
    source: "iana",
    extensions: [
      "ei6"
    ]
  },
  "application/vnd.piaccess.application-licence": {
    source: "iana"
  },
  "application/vnd.picsel": {
    source: "iana",
    extensions: [
      "efif"
    ]
  },
  "application/vnd.pmi.widget": {
    source: "iana",
    extensions: [
      "wg"
    ]
  },
  "application/vnd.poc.group-advertisement+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.pocketlearn": {
    source: "iana",
    extensions: [
      "plf"
    ]
  },
  "application/vnd.powerbuilder6": {
    source: "iana",
    extensions: [
      "pbd"
    ]
  },
  "application/vnd.powerbuilder6-s": {
    source: "iana"
  },
  "application/vnd.powerbuilder7": {
    source: "iana"
  },
  "application/vnd.powerbuilder7-s": {
    source: "iana"
  },
  "application/vnd.powerbuilder75": {
    source: "iana"
  },
  "application/vnd.powerbuilder75-s": {
    source: "iana"
  },
  "application/vnd.preminet": {
    source: "iana"
  },
  "application/vnd.previewsystems.box": {
    source: "iana",
    extensions: [
      "box"
    ]
  },
  "application/vnd.proteus.magazine": {
    source: "iana",
    extensions: [
      "mgz"
    ]
  },
  "application/vnd.psfs": {
    source: "iana"
  },
  "application/vnd.publishare-delta-tree": {
    source: "iana",
    extensions: [
      "qps"
    ]
  },
  "application/vnd.pvi.ptid1": {
    source: "iana",
    extensions: [
      "ptid"
    ]
  },
  "application/vnd.pwg-multiplexed": {
    source: "iana"
  },
  "application/vnd.pwg-xhtml-print+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.qualcomm.brew-app-res": {
    source: "iana"
  },
  "application/vnd.quarantainenet": {
    source: "iana"
  },
  "application/vnd.quark.quarkxpress": {
    source: "iana",
    extensions: [
      "qxd",
      "qxt",
      "qwd",
      "qwt",
      "qxl",
      "qxb"
    ]
  },
  "application/vnd.quobject-quoxdocument": {
    source: "iana"
  },
  "application/vnd.radisys.moml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-audit+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-audit-conf+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-audit-conn+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-audit-dialog+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-audit-stream+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-conf+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-base+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-fax-detect+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-group+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-speech+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.radisys.msml-dialog-transform+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.rainstor.data": {
    source: "iana"
  },
  "application/vnd.rapid": {
    source: "iana"
  },
  "application/vnd.rar": {
    source: "iana",
    extensions: [
      "rar"
    ]
  },
  "application/vnd.realvnc.bed": {
    source: "iana",
    extensions: [
      "bed"
    ]
  },
  "application/vnd.recordare.musicxml": {
    source: "iana",
    extensions: [
      "mxl"
    ]
  },
  "application/vnd.recordare.musicxml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "musicxml"
    ]
  },
  "application/vnd.renlearn.rlprint": {
    source: "iana"
  },
  "application/vnd.resilient.logic": {
    source: "iana"
  },
  "application/vnd.restful+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.rig.cryptonote": {
    source: "iana",
    extensions: [
      "cryptonote"
    ]
  },
  "application/vnd.rim.cod": {
    source: "apache",
    extensions: [
      "cod"
    ]
  },
  "application/vnd.rn-realmedia": {
    source: "apache",
    extensions: [
      "rm"
    ]
  },
  "application/vnd.rn-realmedia-vbr": {
    source: "apache",
    extensions: [
      "rmvb"
    ]
  },
  "application/vnd.route66.link66+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "link66"
    ]
  },
  "application/vnd.rs-274x": {
    source: "iana"
  },
  "application/vnd.ruckus.download": {
    source: "iana"
  },
  "application/vnd.s3sms": {
    source: "iana"
  },
  "application/vnd.sailingtracker.track": {
    source: "iana",
    extensions: [
      "st"
    ]
  },
  "application/vnd.sar": {
    source: "iana"
  },
  "application/vnd.sbm.cid": {
    source: "iana"
  },
  "application/vnd.sbm.mid2": {
    source: "iana"
  },
  "application/vnd.scribus": {
    source: "iana"
  },
  "application/vnd.sealed.3df": {
    source: "iana"
  },
  "application/vnd.sealed.csf": {
    source: "iana"
  },
  "application/vnd.sealed.doc": {
    source: "iana"
  },
  "application/vnd.sealed.eml": {
    source: "iana"
  },
  "application/vnd.sealed.mht": {
    source: "iana"
  },
  "application/vnd.sealed.net": {
    source: "iana"
  },
  "application/vnd.sealed.ppt": {
    source: "iana"
  },
  "application/vnd.sealed.tiff": {
    source: "iana"
  },
  "application/vnd.sealed.xls": {
    source: "iana"
  },
  "application/vnd.sealedmedia.softseal.html": {
    source: "iana"
  },
  "application/vnd.sealedmedia.softseal.pdf": {
    source: "iana"
  },
  "application/vnd.seemail": {
    source: "iana",
    extensions: [
      "see"
    ]
  },
  "application/vnd.seis+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.sema": {
    source: "iana",
    extensions: [
      "sema"
    ]
  },
  "application/vnd.semd": {
    source: "iana",
    extensions: [
      "semd"
    ]
  },
  "application/vnd.semf": {
    source: "iana",
    extensions: [
      "semf"
    ]
  },
  "application/vnd.shade-save-file": {
    source: "iana"
  },
  "application/vnd.shana.informed.formdata": {
    source: "iana",
    extensions: [
      "ifm"
    ]
  },
  "application/vnd.shana.informed.formtemplate": {
    source: "iana",
    extensions: [
      "itp"
    ]
  },
  "application/vnd.shana.informed.interchange": {
    source: "iana",
    extensions: [
      "iif"
    ]
  },
  "application/vnd.shana.informed.package": {
    source: "iana",
    extensions: [
      "ipk"
    ]
  },
  "application/vnd.shootproof+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.shopkick+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.shp": {
    source: "iana"
  },
  "application/vnd.shx": {
    source: "iana"
  },
  "application/vnd.sigrok.session": {
    source: "iana"
  },
  "application/vnd.simtech-mindmapper": {
    source: "iana",
    extensions: [
      "twd",
      "twds"
    ]
  },
  "application/vnd.siren+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.smaf": {
    source: "iana",
    extensions: [
      "mmf"
    ]
  },
  "application/vnd.smart.notebook": {
    source: "iana"
  },
  "application/vnd.smart.teacher": {
    source: "iana",
    extensions: [
      "teacher"
    ]
  },
  "application/vnd.snesdev-page-table": {
    source: "iana"
  },
  "application/vnd.software602.filler.form+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "fo"
    ]
  },
  "application/vnd.software602.filler.form-xml-zip": {
    source: "iana"
  },
  "application/vnd.solent.sdkm+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "sdkm",
      "sdkd"
    ]
  },
  "application/vnd.spotfire.dxp": {
    source: "iana",
    extensions: [
      "dxp"
    ]
  },
  "application/vnd.spotfire.sfs": {
    source: "iana",
    extensions: [
      "sfs"
    ]
  },
  "application/vnd.sqlite3": {
    source: "iana"
  },
  "application/vnd.sss-cod": {
    source: "iana"
  },
  "application/vnd.sss-dtf": {
    source: "iana"
  },
  "application/vnd.sss-ntf": {
    source: "iana"
  },
  "application/vnd.stardivision.calc": {
    source: "apache",
    extensions: [
      "sdc"
    ]
  },
  "application/vnd.stardivision.draw": {
    source: "apache",
    extensions: [
      "sda"
    ]
  },
  "application/vnd.stardivision.impress": {
    source: "apache",
    extensions: [
      "sdd"
    ]
  },
  "application/vnd.stardivision.math": {
    source: "apache",
    extensions: [
      "smf"
    ]
  },
  "application/vnd.stardivision.writer": {
    source: "apache",
    extensions: [
      "sdw",
      "vor"
    ]
  },
  "application/vnd.stardivision.writer-global": {
    source: "apache",
    extensions: [
      "sgl"
    ]
  },
  "application/vnd.stepmania.package": {
    source: "iana",
    extensions: [
      "smzip"
    ]
  },
  "application/vnd.stepmania.stepchart": {
    source: "iana",
    extensions: [
      "sm"
    ]
  },
  "application/vnd.street-stream": {
    source: "iana"
  },
  "application/vnd.sun.wadl+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wadl"
    ]
  },
  "application/vnd.sun.xml.calc": {
    source: "apache",
    extensions: [
      "sxc"
    ]
  },
  "application/vnd.sun.xml.calc.template": {
    source: "apache",
    extensions: [
      "stc"
    ]
  },
  "application/vnd.sun.xml.draw": {
    source: "apache",
    extensions: [
      "sxd"
    ]
  },
  "application/vnd.sun.xml.draw.template": {
    source: "apache",
    extensions: [
      "std"
    ]
  },
  "application/vnd.sun.xml.impress": {
    source: "apache",
    extensions: [
      "sxi"
    ]
  },
  "application/vnd.sun.xml.impress.template": {
    source: "apache",
    extensions: [
      "sti"
    ]
  },
  "application/vnd.sun.xml.math": {
    source: "apache",
    extensions: [
      "sxm"
    ]
  },
  "application/vnd.sun.xml.writer": {
    source: "apache",
    extensions: [
      "sxw"
    ]
  },
  "application/vnd.sun.xml.writer.global": {
    source: "apache",
    extensions: [
      "sxg"
    ]
  },
  "application/vnd.sun.xml.writer.template": {
    source: "apache",
    extensions: [
      "stw"
    ]
  },
  "application/vnd.sus-calendar": {
    source: "iana",
    extensions: [
      "sus",
      "susp"
    ]
  },
  "application/vnd.svd": {
    source: "iana",
    extensions: [
      "svd"
    ]
  },
  "application/vnd.swiftview-ics": {
    source: "iana"
  },
  "application/vnd.sycle+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.syft+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.symbian.install": {
    source: "apache",
    extensions: [
      "sis",
      "sisx"
    ]
  },
  "application/vnd.syncml+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "xsm"
    ]
  },
  "application/vnd.syncml.dm+wbxml": {
    source: "iana",
    charset: "UTF-8",
    extensions: [
      "bdm"
    ]
  },
  "application/vnd.syncml.dm+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "xdm"
    ]
  },
  "application/vnd.syncml.dm.notification": {
    source: "iana"
  },
  "application/vnd.syncml.dmddf+wbxml": {
    source: "iana"
  },
  "application/vnd.syncml.dmddf+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "ddf"
    ]
  },
  "application/vnd.syncml.dmtnds+wbxml": {
    source: "iana"
  },
  "application/vnd.syncml.dmtnds+xml": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0
  },
  "application/vnd.syncml.ds.notification": {
    source: "iana"
  },
  "application/vnd.tableschema+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.tao.intent-module-archive": {
    source: "iana",
    extensions: [
      "tao"
    ]
  },
  "application/vnd.tcpdump.pcap": {
    source: "iana",
    extensions: [
      "pcap",
      "cap",
      "dmp"
    ]
  },
  "application/vnd.think-cell.ppttc+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.tmd.mediaflex.api+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.tml": {
    source: "iana"
  },
  "application/vnd.tmobile-livetv": {
    source: "iana",
    extensions: [
      "tmo"
    ]
  },
  "application/vnd.tri.onesource": {
    source: "iana"
  },
  "application/vnd.trid.tpt": {
    source: "iana",
    extensions: [
      "tpt"
    ]
  },
  "application/vnd.triscape.mxs": {
    source: "iana",
    extensions: [
      "mxs"
    ]
  },
  "application/vnd.trueapp": {
    source: "iana",
    extensions: [
      "tra"
    ]
  },
  "application/vnd.truedoc": {
    source: "iana"
  },
  "application/vnd.ubisoft.webplayer": {
    source: "iana"
  },
  "application/vnd.ufdl": {
    source: "iana",
    extensions: [
      "ufd",
      "ufdl"
    ]
  },
  "application/vnd.uiq.theme": {
    source: "iana",
    extensions: [
      "utz"
    ]
  },
  "application/vnd.umajin": {
    source: "iana",
    extensions: [
      "umj"
    ]
  },
  "application/vnd.unity": {
    source: "iana",
    extensions: [
      "unityweb"
    ]
  },
  "application/vnd.uoml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "uoml"
    ]
  },
  "application/vnd.uplanet.alert": {
    source: "iana"
  },
  "application/vnd.uplanet.alert-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.bearer-choice": {
    source: "iana"
  },
  "application/vnd.uplanet.bearer-choice-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.cacheop": {
    source: "iana"
  },
  "application/vnd.uplanet.cacheop-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.channel": {
    source: "iana"
  },
  "application/vnd.uplanet.channel-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.list": {
    source: "iana"
  },
  "application/vnd.uplanet.list-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.listcmd": {
    source: "iana"
  },
  "application/vnd.uplanet.listcmd-wbxml": {
    source: "iana"
  },
  "application/vnd.uplanet.signal": {
    source: "iana"
  },
  "application/vnd.uri-map": {
    source: "iana"
  },
  "application/vnd.valve.source.material": {
    source: "iana"
  },
  "application/vnd.vcx": {
    source: "iana",
    extensions: [
      "vcx"
    ]
  },
  "application/vnd.vd-study": {
    source: "iana"
  },
  "application/vnd.vectorworks": {
    source: "iana"
  },
  "application/vnd.vel+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.verimatrix.vcas": {
    source: "iana"
  },
  "application/vnd.veritone.aion+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.veryant.thin": {
    source: "iana"
  },
  "application/vnd.ves.encrypted": {
    source: "iana"
  },
  "application/vnd.vidsoft.vidconference": {
    source: "iana"
  },
  "application/vnd.visio": {
    source: "iana",
    extensions: [
      "vsd",
      "vst",
      "vss",
      "vsw"
    ]
  },
  "application/vnd.visionary": {
    source: "iana",
    extensions: [
      "vis"
    ]
  },
  "application/vnd.vividence.scriptfile": {
    source: "iana"
  },
  "application/vnd.vsf": {
    source: "iana",
    extensions: [
      "vsf"
    ]
  },
  "application/vnd.wap.sic": {
    source: "iana"
  },
  "application/vnd.wap.slc": {
    source: "iana"
  },
  "application/vnd.wap.wbxml": {
    source: "iana",
    charset: "UTF-8",
    extensions: [
      "wbxml"
    ]
  },
  "application/vnd.wap.wmlc": {
    source: "iana",
    extensions: [
      "wmlc"
    ]
  },
  "application/vnd.wap.wmlscriptc": {
    source: "iana",
    extensions: [
      "wmlsc"
    ]
  },
  "application/vnd.webturbo": {
    source: "iana",
    extensions: [
      "wtb"
    ]
  },
  "application/vnd.wfa.dpp": {
    source: "iana"
  },
  "application/vnd.wfa.p2p": {
    source: "iana"
  },
  "application/vnd.wfa.wsc": {
    source: "iana"
  },
  "application/vnd.windows.devicepairing": {
    source: "iana"
  },
  "application/vnd.wmc": {
    source: "iana"
  },
  "application/vnd.wmf.bootstrap": {
    source: "iana"
  },
  "application/vnd.wolfram.mathematica": {
    source: "iana"
  },
  "application/vnd.wolfram.mathematica.package": {
    source: "iana"
  },
  "application/vnd.wolfram.player": {
    source: "iana",
    extensions: [
      "nbp"
    ]
  },
  "application/vnd.wordperfect": {
    source: "iana",
    extensions: [
      "wpd"
    ]
  },
  "application/vnd.wqd": {
    source: "iana",
    extensions: [
      "wqd"
    ]
  },
  "application/vnd.wrq-hp3000-labelled": {
    source: "iana"
  },
  "application/vnd.wt.stf": {
    source: "iana",
    extensions: [
      "stf"
    ]
  },
  "application/vnd.wv.csp+wbxml": {
    source: "iana"
  },
  "application/vnd.wv.csp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.wv.ssp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.xacml+json": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.xara": {
    source: "iana",
    extensions: [
      "xar"
    ]
  },
  "application/vnd.xfdl": {
    source: "iana",
    extensions: [
      "xfdl"
    ]
  },
  "application/vnd.xfdl.webform": {
    source: "iana"
  },
  "application/vnd.xmi+xml": {
    source: "iana",
    compressible: !0
  },
  "application/vnd.xmpie.cpkg": {
    source: "iana"
  },
  "application/vnd.xmpie.dpkg": {
    source: "iana"
  },
  "application/vnd.xmpie.plan": {
    source: "iana"
  },
  "application/vnd.xmpie.ppkg": {
    source: "iana"
  },
  "application/vnd.xmpie.xlim": {
    source: "iana"
  },
  "application/vnd.yamaha.hv-dic": {
    source: "iana",
    extensions: [
      "hvd"
    ]
  },
  "application/vnd.yamaha.hv-script": {
    source: "iana",
    extensions: [
      "hvs"
    ]
  },
  "application/vnd.yamaha.hv-voice": {
    source: "iana",
    extensions: [
      "hvp"
    ]
  },
  "application/vnd.yamaha.openscoreformat": {
    source: "iana",
    extensions: [
      "osf"
    ]
  },
  "application/vnd.yamaha.openscoreformat.osfpvg+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "osfpvg"
    ]
  },
  "application/vnd.yamaha.remote-setup": {
    source: "iana"
  },
  "application/vnd.yamaha.smaf-audio": {
    source: "iana",
    extensions: [
      "saf"
    ]
  },
  "application/vnd.yamaha.smaf-phrase": {
    source: "iana",
    extensions: [
      "spf"
    ]
  },
  "application/vnd.yamaha.through-ngn": {
    source: "iana"
  },
  "application/vnd.yamaha.tunnel-udpencap": {
    source: "iana"
  },
  "application/vnd.yaoweme": {
    source: "iana"
  },
  "application/vnd.yellowriver-custom-menu": {
    source: "iana",
    extensions: [
      "cmp"
    ]
  },
  "application/vnd.youtube.yt": {
    source: "iana"
  },
  "application/vnd.zul": {
    source: "iana",
    extensions: [
      "zir",
      "zirz"
    ]
  },
  "application/vnd.zzazz.deck+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "zaz"
    ]
  },
  "application/voicexml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "vxml"
    ]
  },
  "application/voucher-cms+json": {
    source: "iana",
    compressible: !0
  },
  "application/vq-rtcpxr": {
    source: "iana"
  },
  "application/wasm": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wasm"
    ]
  },
  "application/watcherinfo+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wif"
    ]
  },
  "application/webpush-options+json": {
    source: "iana",
    compressible: !0
  },
  "application/whoispp-query": {
    source: "iana"
  },
  "application/whoispp-response": {
    source: "iana"
  },
  "application/widget": {
    source: "iana",
    extensions: [
      "wgt"
    ]
  },
  "application/winhlp": {
    source: "apache",
    extensions: [
      "hlp"
    ]
  },
  "application/wita": {
    source: "iana"
  },
  "application/wordperfect5.1": {
    source: "iana"
  },
  "application/wsdl+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wsdl"
    ]
  },
  "application/wspolicy+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "wspolicy"
    ]
  },
  "application/x-7z-compressed": {
    source: "apache",
    compressible: !1,
    extensions: [
      "7z"
    ]
  },
  "application/x-abiword": {
    source: "apache",
    extensions: [
      "abw"
    ]
  },
  "application/x-ace-compressed": {
    source: "apache",
    extensions: [
      "ace"
    ]
  },
  "application/x-amf": {
    source: "apache"
  },
  "application/x-apple-diskimage": {
    source: "apache",
    extensions: [
      "dmg"
    ]
  },
  "application/x-arj": {
    compressible: !1,
    extensions: [
      "arj"
    ]
  },
  "application/x-authorware-bin": {
    source: "apache",
    extensions: [
      "aab",
      "x32",
      "u32",
      "vox"
    ]
  },
  "application/x-authorware-map": {
    source: "apache",
    extensions: [
      "aam"
    ]
  },
  "application/x-authorware-seg": {
    source: "apache",
    extensions: [
      "aas"
    ]
  },
  "application/x-bcpio": {
    source: "apache",
    extensions: [
      "bcpio"
    ]
  },
  "application/x-bdoc": {
    compressible: !1,
    extensions: [
      "bdoc"
    ]
  },
  "application/x-bittorrent": {
    source: "apache",
    extensions: [
      "torrent"
    ]
  },
  "application/x-blorb": {
    source: "apache",
    extensions: [
      "blb",
      "blorb"
    ]
  },
  "application/x-bzip": {
    source: "apache",
    compressible: !1,
    extensions: [
      "bz"
    ]
  },
  "application/x-bzip2": {
    source: "apache",
    compressible: !1,
    extensions: [
      "bz2",
      "boz"
    ]
  },
  "application/x-cbr": {
    source: "apache",
    extensions: [
      "cbr",
      "cba",
      "cbt",
      "cbz",
      "cb7"
    ]
  },
  "application/x-cdlink": {
    source: "apache",
    extensions: [
      "vcd"
    ]
  },
  "application/x-cfs-compressed": {
    source: "apache",
    extensions: [
      "cfs"
    ]
  },
  "application/x-chat": {
    source: "apache",
    extensions: [
      "chat"
    ]
  },
  "application/x-chess-pgn": {
    source: "apache",
    extensions: [
      "pgn"
    ]
  },
  "application/x-chrome-extension": {
    extensions: [
      "crx"
    ]
  },
  "application/x-cocoa": {
    source: "nginx",
    extensions: [
      "cco"
    ]
  },
  "application/x-compress": {
    source: "apache"
  },
  "application/x-conference": {
    source: "apache",
    extensions: [
      "nsc"
    ]
  },
  "application/x-cpio": {
    source: "apache",
    extensions: [
      "cpio"
    ]
  },
  "application/x-csh": {
    source: "apache",
    extensions: [
      "csh"
    ]
  },
  "application/x-deb": {
    compressible: !1
  },
  "application/x-debian-package": {
    source: "apache",
    extensions: [
      "deb",
      "udeb"
    ]
  },
  "application/x-dgc-compressed": {
    source: "apache",
    extensions: [
      "dgc"
    ]
  },
  "application/x-director": {
    source: "apache",
    extensions: [
      "dir",
      "dcr",
      "dxr",
      "cst",
      "cct",
      "cxt",
      "w3d",
      "fgd",
      "swa"
    ]
  },
  "application/x-doom": {
    source: "apache",
    extensions: [
      "wad"
    ]
  },
  "application/x-dtbncx+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "ncx"
    ]
  },
  "application/x-dtbook+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "dtb"
    ]
  },
  "application/x-dtbresource+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "res"
    ]
  },
  "application/x-dvi": {
    source: "apache",
    compressible: !1,
    extensions: [
      "dvi"
    ]
  },
  "application/x-envoy": {
    source: "apache",
    extensions: [
      "evy"
    ]
  },
  "application/x-eva": {
    source: "apache",
    extensions: [
      "eva"
    ]
  },
  "application/x-font-bdf": {
    source: "apache",
    extensions: [
      "bdf"
    ]
  },
  "application/x-font-dos": {
    source: "apache"
  },
  "application/x-font-framemaker": {
    source: "apache"
  },
  "application/x-font-ghostscript": {
    source: "apache",
    extensions: [
      "gsf"
    ]
  },
  "application/x-font-libgrx": {
    source: "apache"
  },
  "application/x-font-linux-psf": {
    source: "apache",
    extensions: [
      "psf"
    ]
  },
  "application/x-font-pcf": {
    source: "apache",
    extensions: [
      "pcf"
    ]
  },
  "application/x-font-snf": {
    source: "apache",
    extensions: [
      "snf"
    ]
  },
  "application/x-font-speedo": {
    source: "apache"
  },
  "application/x-font-sunos-news": {
    source: "apache"
  },
  "application/x-font-type1": {
    source: "apache",
    extensions: [
      "pfa",
      "pfb",
      "pfm",
      "afm"
    ]
  },
  "application/x-font-vfont": {
    source: "apache"
  },
  "application/x-freearc": {
    source: "apache",
    extensions: [
      "arc"
    ]
  },
  "application/x-futuresplash": {
    source: "apache",
    extensions: [
      "spl"
    ]
  },
  "application/x-gca-compressed": {
    source: "apache",
    extensions: [
      "gca"
    ]
  },
  "application/x-glulx": {
    source: "apache",
    extensions: [
      "ulx"
    ]
  },
  "application/x-gnumeric": {
    source: "apache",
    extensions: [
      "gnumeric"
    ]
  },
  "application/x-gramps-xml": {
    source: "apache",
    extensions: [
      "gramps"
    ]
  },
  "application/x-gtar": {
    source: "apache",
    extensions: [
      "gtar"
    ]
  },
  "application/x-gzip": {
    source: "apache"
  },
  "application/x-hdf": {
    source: "apache",
    extensions: [
      "hdf"
    ]
  },
  "application/x-httpd-php": {
    compressible: !0,
    extensions: [
      "php"
    ]
  },
  "application/x-install-instructions": {
    source: "apache",
    extensions: [
      "install"
    ]
  },
  "application/x-iso9660-image": {
    source: "apache",
    extensions: [
      "iso"
    ]
  },
  "application/x-iwork-keynote-sffkey": {
    extensions: [
      "key"
    ]
  },
  "application/x-iwork-numbers-sffnumbers": {
    extensions: [
      "numbers"
    ]
  },
  "application/x-iwork-pages-sffpages": {
    extensions: [
      "pages"
    ]
  },
  "application/x-java-archive-diff": {
    source: "nginx",
    extensions: [
      "jardiff"
    ]
  },
  "application/x-java-jnlp-file": {
    source: "apache",
    compressible: !1,
    extensions: [
      "jnlp"
    ]
  },
  "application/x-javascript": {
    compressible: !0
  },
  "application/x-keepass2": {
    extensions: [
      "kdbx"
    ]
  },
  "application/x-latex": {
    source: "apache",
    compressible: !1,
    extensions: [
      "latex"
    ]
  },
  "application/x-lua-bytecode": {
    extensions: [
      "luac"
    ]
  },
  "application/x-lzh-compressed": {
    source: "apache",
    extensions: [
      "lzh",
      "lha"
    ]
  },
  "application/x-makeself": {
    source: "nginx",
    extensions: [
      "run"
    ]
  },
  "application/x-mie": {
    source: "apache",
    extensions: [
      "mie"
    ]
  },
  "application/x-mobipocket-ebook": {
    source: "apache",
    extensions: [
      "prc",
      "mobi"
    ]
  },
  "application/x-mpegurl": {
    compressible: !1
  },
  "application/x-ms-application": {
    source: "apache",
    extensions: [
      "application"
    ]
  },
  "application/x-ms-shortcut": {
    source: "apache",
    extensions: [
      "lnk"
    ]
  },
  "application/x-ms-wmd": {
    source: "apache",
    extensions: [
      "wmd"
    ]
  },
  "application/x-ms-wmz": {
    source: "apache",
    extensions: [
      "wmz"
    ]
  },
  "application/x-ms-xbap": {
    source: "apache",
    extensions: [
      "xbap"
    ]
  },
  "application/x-msaccess": {
    source: "apache",
    extensions: [
      "mdb"
    ]
  },
  "application/x-msbinder": {
    source: "apache",
    extensions: [
      "obd"
    ]
  },
  "application/x-mscardfile": {
    source: "apache",
    extensions: [
      "crd"
    ]
  },
  "application/x-msclip": {
    source: "apache",
    extensions: [
      "clp"
    ]
  },
  "application/x-msdos-program": {
    extensions: [
      "exe"
    ]
  },
  "application/x-msdownload": {
    source: "apache",
    extensions: [
      "exe",
      "dll",
      "com",
      "bat",
      "msi"
    ]
  },
  "application/x-msmediaview": {
    source: "apache",
    extensions: [
      "mvb",
      "m13",
      "m14"
    ]
  },
  "application/x-msmetafile": {
    source: "apache",
    extensions: [
      "wmf",
      "wmz",
      "emf",
      "emz"
    ]
  },
  "application/x-msmoney": {
    source: "apache",
    extensions: [
      "mny"
    ]
  },
  "application/x-mspublisher": {
    source: "apache",
    extensions: [
      "pub"
    ]
  },
  "application/x-msschedule": {
    source: "apache",
    extensions: [
      "scd"
    ]
  },
  "application/x-msterminal": {
    source: "apache",
    extensions: [
      "trm"
    ]
  },
  "application/x-mswrite": {
    source: "apache",
    extensions: [
      "wri"
    ]
  },
  "application/x-netcdf": {
    source: "apache",
    extensions: [
      "nc",
      "cdf"
    ]
  },
  "application/x-ns-proxy-autoconfig": {
    compressible: !0,
    extensions: [
      "pac"
    ]
  },
  "application/x-nzb": {
    source: "apache",
    extensions: [
      "nzb"
    ]
  },
  "application/x-perl": {
    source: "nginx",
    extensions: [
      "pl",
      "pm"
    ]
  },
  "application/x-pilot": {
    source: "nginx",
    extensions: [
      "prc",
      "pdb"
    ]
  },
  "application/x-pkcs12": {
    source: "apache",
    compressible: !1,
    extensions: [
      "p12",
      "pfx"
    ]
  },
  "application/x-pkcs7-certificates": {
    source: "apache",
    extensions: [
      "p7b",
      "spc"
    ]
  },
  "application/x-pkcs7-certreqresp": {
    source: "apache",
    extensions: [
      "p7r"
    ]
  },
  "application/x-pki-message": {
    source: "iana"
  },
  "application/x-rar-compressed": {
    source: "apache",
    compressible: !1,
    extensions: [
      "rar"
    ]
  },
  "application/x-redhat-package-manager": {
    source: "nginx",
    extensions: [
      "rpm"
    ]
  },
  "application/x-research-info-systems": {
    source: "apache",
    extensions: [
      "ris"
    ]
  },
  "application/x-sea": {
    source: "nginx",
    extensions: [
      "sea"
    ]
  },
  "application/x-sh": {
    source: "apache",
    compressible: !0,
    extensions: [
      "sh"
    ]
  },
  "application/x-shar": {
    source: "apache",
    extensions: [
      "shar"
    ]
  },
  "application/x-shockwave-flash": {
    source: "apache",
    compressible: !1,
    extensions: [
      "swf"
    ]
  },
  "application/x-silverlight-app": {
    source: "apache",
    extensions: [
      "xap"
    ]
  },
  "application/x-sql": {
    source: "apache",
    extensions: [
      "sql"
    ]
  },
  "application/x-stuffit": {
    source: "apache",
    compressible: !1,
    extensions: [
      "sit"
    ]
  },
  "application/x-stuffitx": {
    source: "apache",
    extensions: [
      "sitx"
    ]
  },
  "application/x-subrip": {
    source: "apache",
    extensions: [
      "srt"
    ]
  },
  "application/x-sv4cpio": {
    source: "apache",
    extensions: [
      "sv4cpio"
    ]
  },
  "application/x-sv4crc": {
    source: "apache",
    extensions: [
      "sv4crc"
    ]
  },
  "application/x-t3vm-image": {
    source: "apache",
    extensions: [
      "t3"
    ]
  },
  "application/x-tads": {
    source: "apache",
    extensions: [
      "gam"
    ]
  },
  "application/x-tar": {
    source: "apache",
    compressible: !0,
    extensions: [
      "tar"
    ]
  },
  "application/x-tcl": {
    source: "apache",
    extensions: [
      "tcl",
      "tk"
    ]
  },
  "application/x-tex": {
    source: "apache",
    extensions: [
      "tex"
    ]
  },
  "application/x-tex-tfm": {
    source: "apache",
    extensions: [
      "tfm"
    ]
  },
  "application/x-texinfo": {
    source: "apache",
    extensions: [
      "texinfo",
      "texi"
    ]
  },
  "application/x-tgif": {
    source: "apache",
    extensions: [
      "obj"
    ]
  },
  "application/x-ustar": {
    source: "apache",
    extensions: [
      "ustar"
    ]
  },
  "application/x-virtualbox-hdd": {
    compressible: !0,
    extensions: [
      "hdd"
    ]
  },
  "application/x-virtualbox-ova": {
    compressible: !0,
    extensions: [
      "ova"
    ]
  },
  "application/x-virtualbox-ovf": {
    compressible: !0,
    extensions: [
      "ovf"
    ]
  },
  "application/x-virtualbox-vbox": {
    compressible: !0,
    extensions: [
      "vbox"
    ]
  },
  "application/x-virtualbox-vbox-extpack": {
    compressible: !1,
    extensions: [
      "vbox-extpack"
    ]
  },
  "application/x-virtualbox-vdi": {
    compressible: !0,
    extensions: [
      "vdi"
    ]
  },
  "application/x-virtualbox-vhd": {
    compressible: !0,
    extensions: [
      "vhd"
    ]
  },
  "application/x-virtualbox-vmdk": {
    compressible: !0,
    extensions: [
      "vmdk"
    ]
  },
  "application/x-wais-source": {
    source: "apache",
    extensions: [
      "src"
    ]
  },
  "application/x-web-app-manifest+json": {
    compressible: !0,
    extensions: [
      "webapp"
    ]
  },
  "application/x-www-form-urlencoded": {
    source: "iana",
    compressible: !0
  },
  "application/x-x509-ca-cert": {
    source: "iana",
    extensions: [
      "der",
      "crt",
      "pem"
    ]
  },
  "application/x-x509-ca-ra-cert": {
    source: "iana"
  },
  "application/x-x509-next-ca-cert": {
    source: "iana"
  },
  "application/x-xfig": {
    source: "apache",
    extensions: [
      "fig"
    ]
  },
  "application/x-xliff+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "xlf"
    ]
  },
  "application/x-xpinstall": {
    source: "apache",
    compressible: !1,
    extensions: [
      "xpi"
    ]
  },
  "application/x-xz": {
    source: "apache",
    extensions: [
      "xz"
    ]
  },
  "application/x-zmachine": {
    source: "apache",
    extensions: [
      "z1",
      "z2",
      "z3",
      "z4",
      "z5",
      "z6",
      "z7",
      "z8"
    ]
  },
  "application/x400-bp": {
    source: "iana"
  },
  "application/xacml+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xaml+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "xaml"
    ]
  },
  "application/xcap-att+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xav"
    ]
  },
  "application/xcap-caps+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xca"
    ]
  },
  "application/xcap-diff+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xdf"
    ]
  },
  "application/xcap-el+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xel"
    ]
  },
  "application/xcap-error+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xcap-ns+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xns"
    ]
  },
  "application/xcon-conference-info+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xcon-conference-info-diff+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xenc+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xenc"
    ]
  },
  "application/xhtml+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xhtml",
      "xht"
    ]
  },
  "application/xhtml-voice+xml": {
    source: "apache",
    compressible: !0
  },
  "application/xliff+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xlf"
    ]
  },
  "application/xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xml",
      "xsl",
      "xsd",
      "rng"
    ]
  },
  "application/xml-dtd": {
    source: "iana",
    compressible: !0,
    extensions: [
      "dtd"
    ]
  },
  "application/xml-external-parsed-entity": {
    source: "iana"
  },
  "application/xml-patch+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xmpp+xml": {
    source: "iana",
    compressible: !0
  },
  "application/xop+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xop"
    ]
  },
  "application/xproc+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "xpl"
    ]
  },
  "application/xslt+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xsl",
      "xslt"
    ]
  },
  "application/xspf+xml": {
    source: "apache",
    compressible: !0,
    extensions: [
      "xspf"
    ]
  },
  "application/xv+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "mxml",
      "xhvml",
      "xvml",
      "xvm"
    ]
  },
  "application/yang": {
    source: "iana",
    extensions: [
      "yang"
    ]
  },
  "application/yang-data+json": {
    source: "iana",
    compressible: !0
  },
  "application/yang-data+xml": {
    source: "iana",
    compressible: !0
  },
  "application/yang-patch+json": {
    source: "iana",
    compressible: !0
  },
  "application/yang-patch+xml": {
    source: "iana",
    compressible: !0
  },
  "application/yin+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "yin"
    ]
  },
  "application/zip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "zip"
    ]
  },
  "application/zlib": {
    source: "iana"
  },
  "application/zstd": {
    source: "iana"
  },
  "audio/1d-interleaved-parityfec": {
    source: "iana"
  },
  "audio/32kadpcm": {
    source: "iana"
  },
  "audio/3gpp": {
    source: "iana",
    compressible: !1,
    extensions: [
      "3gpp"
    ]
  },
  "audio/3gpp2": {
    source: "iana"
  },
  "audio/aac": {
    source: "iana"
  },
  "audio/ac3": {
    source: "iana"
  },
  "audio/adpcm": {
    source: "apache",
    extensions: [
      "adp"
    ]
  },
  "audio/amr": {
    source: "iana",
    extensions: [
      "amr"
    ]
  },
  "audio/amr-wb": {
    source: "iana"
  },
  "audio/amr-wb+": {
    source: "iana"
  },
  "audio/aptx": {
    source: "iana"
  },
  "audio/asc": {
    source: "iana"
  },
  "audio/atrac-advanced-lossless": {
    source: "iana"
  },
  "audio/atrac-x": {
    source: "iana"
  },
  "audio/atrac3": {
    source: "iana"
  },
  "audio/basic": {
    source: "iana",
    compressible: !1,
    extensions: [
      "au",
      "snd"
    ]
  },
  "audio/bv16": {
    source: "iana"
  },
  "audio/bv32": {
    source: "iana"
  },
  "audio/clearmode": {
    source: "iana"
  },
  "audio/cn": {
    source: "iana"
  },
  "audio/dat12": {
    source: "iana"
  },
  "audio/dls": {
    source: "iana"
  },
  "audio/dsr-es201108": {
    source: "iana"
  },
  "audio/dsr-es202050": {
    source: "iana"
  },
  "audio/dsr-es202211": {
    source: "iana"
  },
  "audio/dsr-es202212": {
    source: "iana"
  },
  "audio/dv": {
    source: "iana"
  },
  "audio/dvi4": {
    source: "iana"
  },
  "audio/eac3": {
    source: "iana"
  },
  "audio/encaprtp": {
    source: "iana"
  },
  "audio/evrc": {
    source: "iana"
  },
  "audio/evrc-qcp": {
    source: "iana"
  },
  "audio/evrc0": {
    source: "iana"
  },
  "audio/evrc1": {
    source: "iana"
  },
  "audio/evrcb": {
    source: "iana"
  },
  "audio/evrcb0": {
    source: "iana"
  },
  "audio/evrcb1": {
    source: "iana"
  },
  "audio/evrcnw": {
    source: "iana"
  },
  "audio/evrcnw0": {
    source: "iana"
  },
  "audio/evrcnw1": {
    source: "iana"
  },
  "audio/evrcwb": {
    source: "iana"
  },
  "audio/evrcwb0": {
    source: "iana"
  },
  "audio/evrcwb1": {
    source: "iana"
  },
  "audio/evs": {
    source: "iana"
  },
  "audio/flexfec": {
    source: "iana"
  },
  "audio/fwdred": {
    source: "iana"
  },
  "audio/g711-0": {
    source: "iana"
  },
  "audio/g719": {
    source: "iana"
  },
  "audio/g722": {
    source: "iana"
  },
  "audio/g7221": {
    source: "iana"
  },
  "audio/g723": {
    source: "iana"
  },
  "audio/g726-16": {
    source: "iana"
  },
  "audio/g726-24": {
    source: "iana"
  },
  "audio/g726-32": {
    source: "iana"
  },
  "audio/g726-40": {
    source: "iana"
  },
  "audio/g728": {
    source: "iana"
  },
  "audio/g729": {
    source: "iana"
  },
  "audio/g7291": {
    source: "iana"
  },
  "audio/g729d": {
    source: "iana"
  },
  "audio/g729e": {
    source: "iana"
  },
  "audio/gsm": {
    source: "iana"
  },
  "audio/gsm-efr": {
    source: "iana"
  },
  "audio/gsm-hr-08": {
    source: "iana"
  },
  "audio/ilbc": {
    source: "iana"
  },
  "audio/ip-mr_v2.5": {
    source: "iana"
  },
  "audio/isac": {
    source: "apache"
  },
  "audio/l16": {
    source: "iana"
  },
  "audio/l20": {
    source: "iana"
  },
  "audio/l24": {
    source: "iana",
    compressible: !1
  },
  "audio/l8": {
    source: "iana"
  },
  "audio/lpc": {
    source: "iana"
  },
  "audio/melp": {
    source: "iana"
  },
  "audio/melp1200": {
    source: "iana"
  },
  "audio/melp2400": {
    source: "iana"
  },
  "audio/melp600": {
    source: "iana"
  },
  "audio/mhas": {
    source: "iana"
  },
  "audio/midi": {
    source: "apache",
    extensions: [
      "mid",
      "midi",
      "kar",
      "rmi"
    ]
  },
  "audio/mobile-xmf": {
    source: "iana",
    extensions: [
      "mxmf"
    ]
  },
  "audio/mp3": {
    compressible: !1,
    extensions: [
      "mp3"
    ]
  },
  "audio/mp4": {
    source: "iana",
    compressible: !1,
    extensions: [
      "m4a",
      "mp4a"
    ]
  },
  "audio/mp4a-latm": {
    source: "iana"
  },
  "audio/mpa": {
    source: "iana"
  },
  "audio/mpa-robust": {
    source: "iana"
  },
  "audio/mpeg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "mpga",
      "mp2",
      "mp2a",
      "mp3",
      "m2a",
      "m3a"
    ]
  },
  "audio/mpeg4-generic": {
    source: "iana"
  },
  "audio/musepack": {
    source: "apache"
  },
  "audio/ogg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "oga",
      "ogg",
      "spx",
      "opus"
    ]
  },
  "audio/opus": {
    source: "iana"
  },
  "audio/parityfec": {
    source: "iana"
  },
  "audio/pcma": {
    source: "iana"
  },
  "audio/pcma-wb": {
    source: "iana"
  },
  "audio/pcmu": {
    source: "iana"
  },
  "audio/pcmu-wb": {
    source: "iana"
  },
  "audio/prs.sid": {
    source: "iana"
  },
  "audio/qcelp": {
    source: "iana"
  },
  "audio/raptorfec": {
    source: "iana"
  },
  "audio/red": {
    source: "iana"
  },
  "audio/rtp-enc-aescm128": {
    source: "iana"
  },
  "audio/rtp-midi": {
    source: "iana"
  },
  "audio/rtploopback": {
    source: "iana"
  },
  "audio/rtx": {
    source: "iana"
  },
  "audio/s3m": {
    source: "apache",
    extensions: [
      "s3m"
    ]
  },
  "audio/scip": {
    source: "iana"
  },
  "audio/silk": {
    source: "apache",
    extensions: [
      "sil"
    ]
  },
  "audio/smv": {
    source: "iana"
  },
  "audio/smv-qcp": {
    source: "iana"
  },
  "audio/smv0": {
    source: "iana"
  },
  "audio/sofa": {
    source: "iana"
  },
  "audio/sp-midi": {
    source: "iana"
  },
  "audio/speex": {
    source: "iana"
  },
  "audio/t140c": {
    source: "iana"
  },
  "audio/t38": {
    source: "iana"
  },
  "audio/telephone-event": {
    source: "iana"
  },
  "audio/tetra_acelp": {
    source: "iana"
  },
  "audio/tetra_acelp_bb": {
    source: "iana"
  },
  "audio/tone": {
    source: "iana"
  },
  "audio/tsvcis": {
    source: "iana"
  },
  "audio/uemclip": {
    source: "iana"
  },
  "audio/ulpfec": {
    source: "iana"
  },
  "audio/usac": {
    source: "iana"
  },
  "audio/vdvi": {
    source: "iana"
  },
  "audio/vmr-wb": {
    source: "iana"
  },
  "audio/vnd.3gpp.iufp": {
    source: "iana"
  },
  "audio/vnd.4sb": {
    source: "iana"
  },
  "audio/vnd.audiokoz": {
    source: "iana"
  },
  "audio/vnd.celp": {
    source: "iana"
  },
  "audio/vnd.cisco.nse": {
    source: "iana"
  },
  "audio/vnd.cmles.radio-events": {
    source: "iana"
  },
  "audio/vnd.cns.anp1": {
    source: "iana"
  },
  "audio/vnd.cns.inf1": {
    source: "iana"
  },
  "audio/vnd.dece.audio": {
    source: "iana",
    extensions: [
      "uva",
      "uvva"
    ]
  },
  "audio/vnd.digital-winds": {
    source: "iana",
    extensions: [
      "eol"
    ]
  },
  "audio/vnd.dlna.adts": {
    source: "iana"
  },
  "audio/vnd.dolby.heaac.1": {
    source: "iana"
  },
  "audio/vnd.dolby.heaac.2": {
    source: "iana"
  },
  "audio/vnd.dolby.mlp": {
    source: "iana"
  },
  "audio/vnd.dolby.mps": {
    source: "iana"
  },
  "audio/vnd.dolby.pl2": {
    source: "iana"
  },
  "audio/vnd.dolby.pl2x": {
    source: "iana"
  },
  "audio/vnd.dolby.pl2z": {
    source: "iana"
  },
  "audio/vnd.dolby.pulse.1": {
    source: "iana"
  },
  "audio/vnd.dra": {
    source: "iana",
    extensions: [
      "dra"
    ]
  },
  "audio/vnd.dts": {
    source: "iana",
    extensions: [
      "dts"
    ]
  },
  "audio/vnd.dts.hd": {
    source: "iana",
    extensions: [
      "dtshd"
    ]
  },
  "audio/vnd.dts.uhd": {
    source: "iana"
  },
  "audio/vnd.dvb.file": {
    source: "iana"
  },
  "audio/vnd.everad.plj": {
    source: "iana"
  },
  "audio/vnd.hns.audio": {
    source: "iana"
  },
  "audio/vnd.lucent.voice": {
    source: "iana",
    extensions: [
      "lvp"
    ]
  },
  "audio/vnd.ms-playready.media.pya": {
    source: "iana",
    extensions: [
      "pya"
    ]
  },
  "audio/vnd.nokia.mobile-xmf": {
    source: "iana"
  },
  "audio/vnd.nortel.vbk": {
    source: "iana"
  },
  "audio/vnd.nuera.ecelp4800": {
    source: "iana",
    extensions: [
      "ecelp4800"
    ]
  },
  "audio/vnd.nuera.ecelp7470": {
    source: "iana",
    extensions: [
      "ecelp7470"
    ]
  },
  "audio/vnd.nuera.ecelp9600": {
    source: "iana",
    extensions: [
      "ecelp9600"
    ]
  },
  "audio/vnd.octel.sbc": {
    source: "iana"
  },
  "audio/vnd.presonus.multitrack": {
    source: "iana"
  },
  "audio/vnd.qcelp": {
    source: "iana"
  },
  "audio/vnd.rhetorex.32kadpcm": {
    source: "iana"
  },
  "audio/vnd.rip": {
    source: "iana",
    extensions: [
      "rip"
    ]
  },
  "audio/vnd.rn-realaudio": {
    compressible: !1
  },
  "audio/vnd.sealedmedia.softseal.mpeg": {
    source: "iana"
  },
  "audio/vnd.vmx.cvsd": {
    source: "iana"
  },
  "audio/vnd.wave": {
    compressible: !1
  },
  "audio/vorbis": {
    source: "iana",
    compressible: !1
  },
  "audio/vorbis-config": {
    source: "iana"
  },
  "audio/wav": {
    compressible: !1,
    extensions: [
      "wav"
    ]
  },
  "audio/wave": {
    compressible: !1,
    extensions: [
      "wav"
    ]
  },
  "audio/webm": {
    source: "apache",
    compressible: !1,
    extensions: [
      "weba"
    ]
  },
  "audio/x-aac": {
    source: "apache",
    compressible: !1,
    extensions: [
      "aac"
    ]
  },
  "audio/x-aiff": {
    source: "apache",
    extensions: [
      "aif",
      "aiff",
      "aifc"
    ]
  },
  "audio/x-caf": {
    source: "apache",
    compressible: !1,
    extensions: [
      "caf"
    ]
  },
  "audio/x-flac": {
    source: "apache",
    extensions: [
      "flac"
    ]
  },
  "audio/x-m4a": {
    source: "nginx",
    extensions: [
      "m4a"
    ]
  },
  "audio/x-matroska": {
    source: "apache",
    extensions: [
      "mka"
    ]
  },
  "audio/x-mpegurl": {
    source: "apache",
    extensions: [
      "m3u"
    ]
  },
  "audio/x-ms-wax": {
    source: "apache",
    extensions: [
      "wax"
    ]
  },
  "audio/x-ms-wma": {
    source: "apache",
    extensions: [
      "wma"
    ]
  },
  "audio/x-pn-realaudio": {
    source: "apache",
    extensions: [
      "ram",
      "ra"
    ]
  },
  "audio/x-pn-realaudio-plugin": {
    source: "apache",
    extensions: [
      "rmp"
    ]
  },
  "audio/x-realaudio": {
    source: "nginx",
    extensions: [
      "ra"
    ]
  },
  "audio/x-tta": {
    source: "apache"
  },
  "audio/x-wav": {
    source: "apache",
    extensions: [
      "wav"
    ]
  },
  "audio/xm": {
    source: "apache",
    extensions: [
      "xm"
    ]
  },
  "chemical/x-cdx": {
    source: "apache",
    extensions: [
      "cdx"
    ]
  },
  "chemical/x-cif": {
    source: "apache",
    extensions: [
      "cif"
    ]
  },
  "chemical/x-cmdf": {
    source: "apache",
    extensions: [
      "cmdf"
    ]
  },
  "chemical/x-cml": {
    source: "apache",
    extensions: [
      "cml"
    ]
  },
  "chemical/x-csml": {
    source: "apache",
    extensions: [
      "csml"
    ]
  },
  "chemical/x-pdb": {
    source: "apache"
  },
  "chemical/x-xyz": {
    source: "apache",
    extensions: [
      "xyz"
    ]
  },
  "font/collection": {
    source: "iana",
    extensions: [
      "ttc"
    ]
  },
  "font/otf": {
    source: "iana",
    compressible: !0,
    extensions: [
      "otf"
    ]
  },
  "font/sfnt": {
    source: "iana"
  },
  "font/ttf": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ttf"
    ]
  },
  "font/woff": {
    source: "iana",
    extensions: [
      "woff"
    ]
  },
  "font/woff2": {
    source: "iana",
    extensions: [
      "woff2"
    ]
  },
  "image/aces": {
    source: "iana",
    extensions: [
      "exr"
    ]
  },
  "image/apng": {
    compressible: !1,
    extensions: [
      "apng"
    ]
  },
  "image/avci": {
    source: "iana",
    extensions: [
      "avci"
    ]
  },
  "image/avcs": {
    source: "iana",
    extensions: [
      "avcs"
    ]
  },
  "image/avif": {
    source: "iana",
    compressible: !1,
    extensions: [
      "avif"
    ]
  },
  "image/bmp": {
    source: "iana",
    compressible: !0,
    extensions: [
      "bmp"
    ]
  },
  "image/cgm": {
    source: "iana",
    extensions: [
      "cgm"
    ]
  },
  "image/dicom-rle": {
    source: "iana",
    extensions: [
      "drle"
    ]
  },
  "image/emf": {
    source: "iana",
    extensions: [
      "emf"
    ]
  },
  "image/fits": {
    source: "iana",
    extensions: [
      "fits"
    ]
  },
  "image/g3fax": {
    source: "iana",
    extensions: [
      "g3"
    ]
  },
  "image/gif": {
    source: "iana",
    compressible: !1,
    extensions: [
      "gif"
    ]
  },
  "image/heic": {
    source: "iana",
    extensions: [
      "heic"
    ]
  },
  "image/heic-sequence": {
    source: "iana",
    extensions: [
      "heics"
    ]
  },
  "image/heif": {
    source: "iana",
    extensions: [
      "heif"
    ]
  },
  "image/heif-sequence": {
    source: "iana",
    extensions: [
      "heifs"
    ]
  },
  "image/hej2k": {
    source: "iana",
    extensions: [
      "hej2"
    ]
  },
  "image/hsj2": {
    source: "iana",
    extensions: [
      "hsj2"
    ]
  },
  "image/ief": {
    source: "iana",
    extensions: [
      "ief"
    ]
  },
  "image/jls": {
    source: "iana",
    extensions: [
      "jls"
    ]
  },
  "image/jp2": {
    source: "iana",
    compressible: !1,
    extensions: [
      "jp2",
      "jpg2"
    ]
  },
  "image/jpeg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "jpeg",
      "jpg",
      "jpe"
    ]
  },
  "image/jph": {
    source: "iana",
    extensions: [
      "jph"
    ]
  },
  "image/jphc": {
    source: "iana",
    extensions: [
      "jhc"
    ]
  },
  "image/jpm": {
    source: "iana",
    compressible: !1,
    extensions: [
      "jpm"
    ]
  },
  "image/jpx": {
    source: "iana",
    compressible: !1,
    extensions: [
      "jpx",
      "jpf"
    ]
  },
  "image/jxr": {
    source: "iana",
    extensions: [
      "jxr"
    ]
  },
  "image/jxra": {
    source: "iana",
    extensions: [
      "jxra"
    ]
  },
  "image/jxrs": {
    source: "iana",
    extensions: [
      "jxrs"
    ]
  },
  "image/jxs": {
    source: "iana",
    extensions: [
      "jxs"
    ]
  },
  "image/jxsc": {
    source: "iana",
    extensions: [
      "jxsc"
    ]
  },
  "image/jxsi": {
    source: "iana",
    extensions: [
      "jxsi"
    ]
  },
  "image/jxss": {
    source: "iana",
    extensions: [
      "jxss"
    ]
  },
  "image/ktx": {
    source: "iana",
    extensions: [
      "ktx"
    ]
  },
  "image/ktx2": {
    source: "iana",
    extensions: [
      "ktx2"
    ]
  },
  "image/naplps": {
    source: "iana"
  },
  "image/pjpeg": {
    compressible: !1
  },
  "image/png": {
    source: "iana",
    compressible: !1,
    extensions: [
      "png"
    ]
  },
  "image/prs.btif": {
    source: "iana",
    extensions: [
      "btif"
    ]
  },
  "image/prs.pti": {
    source: "iana",
    extensions: [
      "pti"
    ]
  },
  "image/pwg-raster": {
    source: "iana"
  },
  "image/sgi": {
    source: "apache",
    extensions: [
      "sgi"
    ]
  },
  "image/svg+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "svg",
      "svgz"
    ]
  },
  "image/t38": {
    source: "iana",
    extensions: [
      "t38"
    ]
  },
  "image/tiff": {
    source: "iana",
    compressible: !1,
    extensions: [
      "tif",
      "tiff"
    ]
  },
  "image/tiff-fx": {
    source: "iana",
    extensions: [
      "tfx"
    ]
  },
  "image/vnd.adobe.photoshop": {
    source: "iana",
    compressible: !0,
    extensions: [
      "psd"
    ]
  },
  "image/vnd.airzip.accelerator.azv": {
    source: "iana",
    extensions: [
      "azv"
    ]
  },
  "image/vnd.cns.inf2": {
    source: "iana"
  },
  "image/vnd.dece.graphic": {
    source: "iana",
    extensions: [
      "uvi",
      "uvvi",
      "uvg",
      "uvvg"
    ]
  },
  "image/vnd.djvu": {
    source: "iana",
    extensions: [
      "djvu",
      "djv"
    ]
  },
  "image/vnd.dvb.subtitle": {
    source: "iana",
    extensions: [
      "sub"
    ]
  },
  "image/vnd.dwg": {
    source: "iana",
    extensions: [
      "dwg"
    ]
  },
  "image/vnd.dxf": {
    source: "iana",
    extensions: [
      "dxf"
    ]
  },
  "image/vnd.fastbidsheet": {
    source: "iana",
    extensions: [
      "fbs"
    ]
  },
  "image/vnd.fpx": {
    source: "iana",
    extensions: [
      "fpx"
    ]
  },
  "image/vnd.fst": {
    source: "iana",
    extensions: [
      "fst"
    ]
  },
  "image/vnd.fujixerox.edmics-mmr": {
    source: "iana",
    extensions: [
      "mmr"
    ]
  },
  "image/vnd.fujixerox.edmics-rlc": {
    source: "iana",
    extensions: [
      "rlc"
    ]
  },
  "image/vnd.globalgraphics.pgb": {
    source: "iana"
  },
  "image/vnd.microsoft.icon": {
    source: "iana",
    compressible: !0,
    extensions: [
      "ico"
    ]
  },
  "image/vnd.mix": {
    source: "iana"
  },
  "image/vnd.mozilla.apng": {
    source: "iana"
  },
  "image/vnd.ms-dds": {
    compressible: !0,
    extensions: [
      "dds"
    ]
  },
  "image/vnd.ms-modi": {
    source: "iana",
    extensions: [
      "mdi"
    ]
  },
  "image/vnd.ms-photo": {
    source: "apache",
    extensions: [
      "wdp"
    ]
  },
  "image/vnd.net-fpx": {
    source: "iana",
    extensions: [
      "npx"
    ]
  },
  "image/vnd.pco.b16": {
    source: "iana",
    extensions: [
      "b16"
    ]
  },
  "image/vnd.radiance": {
    source: "iana"
  },
  "image/vnd.sealed.png": {
    source: "iana"
  },
  "image/vnd.sealedmedia.softseal.gif": {
    source: "iana"
  },
  "image/vnd.sealedmedia.softseal.jpg": {
    source: "iana"
  },
  "image/vnd.svf": {
    source: "iana"
  },
  "image/vnd.tencent.tap": {
    source: "iana",
    extensions: [
      "tap"
    ]
  },
  "image/vnd.valve.source.texture": {
    source: "iana",
    extensions: [
      "vtf"
    ]
  },
  "image/vnd.wap.wbmp": {
    source: "iana",
    extensions: [
      "wbmp"
    ]
  },
  "image/vnd.xiff": {
    source: "iana",
    extensions: [
      "xif"
    ]
  },
  "image/vnd.zbrush.pcx": {
    source: "iana",
    extensions: [
      "pcx"
    ]
  },
  "image/webp": {
    source: "apache",
    extensions: [
      "webp"
    ]
  },
  "image/wmf": {
    source: "iana",
    extensions: [
      "wmf"
    ]
  },
  "image/x-3ds": {
    source: "apache",
    extensions: [
      "3ds"
    ]
  },
  "image/x-cmu-raster": {
    source: "apache",
    extensions: [
      "ras"
    ]
  },
  "image/x-cmx": {
    source: "apache",
    extensions: [
      "cmx"
    ]
  },
  "image/x-freehand": {
    source: "apache",
    extensions: [
      "fh",
      "fhc",
      "fh4",
      "fh5",
      "fh7"
    ]
  },
  "image/x-icon": {
    source: "apache",
    compressible: !0,
    extensions: [
      "ico"
    ]
  },
  "image/x-jng": {
    source: "nginx",
    extensions: [
      "jng"
    ]
  },
  "image/x-mrsid-image": {
    source: "apache",
    extensions: [
      "sid"
    ]
  },
  "image/x-ms-bmp": {
    source: "nginx",
    compressible: !0,
    extensions: [
      "bmp"
    ]
  },
  "image/x-pcx": {
    source: "apache",
    extensions: [
      "pcx"
    ]
  },
  "image/x-pict": {
    source: "apache",
    extensions: [
      "pic",
      "pct"
    ]
  },
  "image/x-portable-anymap": {
    source: "apache",
    extensions: [
      "pnm"
    ]
  },
  "image/x-portable-bitmap": {
    source: "apache",
    extensions: [
      "pbm"
    ]
  },
  "image/x-portable-graymap": {
    source: "apache",
    extensions: [
      "pgm"
    ]
  },
  "image/x-portable-pixmap": {
    source: "apache",
    extensions: [
      "ppm"
    ]
  },
  "image/x-rgb": {
    source: "apache",
    extensions: [
      "rgb"
    ]
  },
  "image/x-tga": {
    source: "apache",
    extensions: [
      "tga"
    ]
  },
  "image/x-xbitmap": {
    source: "apache",
    extensions: [
      "xbm"
    ]
  },
  "image/x-xcf": {
    compressible: !1
  },
  "image/x-xpixmap": {
    source: "apache",
    extensions: [
      "xpm"
    ]
  },
  "image/x-xwindowdump": {
    source: "apache",
    extensions: [
      "xwd"
    ]
  },
  "message/cpim": {
    source: "iana"
  },
  "message/delivery-status": {
    source: "iana"
  },
  "message/disposition-notification": {
    source: "iana",
    extensions: [
      "disposition-notification"
    ]
  },
  "message/external-body": {
    source: "iana"
  },
  "message/feedback-report": {
    source: "iana"
  },
  "message/global": {
    source: "iana",
    extensions: [
      "u8msg"
    ]
  },
  "message/global-delivery-status": {
    source: "iana",
    extensions: [
      "u8dsn"
    ]
  },
  "message/global-disposition-notification": {
    source: "iana",
    extensions: [
      "u8mdn"
    ]
  },
  "message/global-headers": {
    source: "iana",
    extensions: [
      "u8hdr"
    ]
  },
  "message/http": {
    source: "iana",
    compressible: !1
  },
  "message/imdn+xml": {
    source: "iana",
    compressible: !0
  },
  "message/news": {
    source: "iana"
  },
  "message/partial": {
    source: "iana",
    compressible: !1
  },
  "message/rfc822": {
    source: "iana",
    compressible: !0,
    extensions: [
      "eml",
      "mime"
    ]
  },
  "message/s-http": {
    source: "iana"
  },
  "message/sip": {
    source: "iana"
  },
  "message/sipfrag": {
    source: "iana"
  },
  "message/tracking-status": {
    source: "iana"
  },
  "message/vnd.si.simp": {
    source: "iana"
  },
  "message/vnd.wfa.wsc": {
    source: "iana",
    extensions: [
      "wsc"
    ]
  },
  "model/3mf": {
    source: "iana",
    extensions: [
      "3mf"
    ]
  },
  "model/e57": {
    source: "iana"
  },
  "model/gltf+json": {
    source: "iana",
    compressible: !0,
    extensions: [
      "gltf"
    ]
  },
  "model/gltf-binary": {
    source: "iana",
    compressible: !0,
    extensions: [
      "glb"
    ]
  },
  "model/iges": {
    source: "iana",
    compressible: !1,
    extensions: [
      "igs",
      "iges"
    ]
  },
  "model/mesh": {
    source: "iana",
    compressible: !1,
    extensions: [
      "msh",
      "mesh",
      "silo"
    ]
  },
  "model/mtl": {
    source: "iana",
    extensions: [
      "mtl"
    ]
  },
  "model/obj": {
    source: "iana",
    extensions: [
      "obj"
    ]
  },
  "model/step": {
    source: "iana"
  },
  "model/step+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "stpx"
    ]
  },
  "model/step+zip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "stpz"
    ]
  },
  "model/step-xml+zip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "stpxz"
    ]
  },
  "model/stl": {
    source: "iana",
    extensions: [
      "stl"
    ]
  },
  "model/vnd.collada+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "dae"
    ]
  },
  "model/vnd.dwf": {
    source: "iana",
    extensions: [
      "dwf"
    ]
  },
  "model/vnd.flatland.3dml": {
    source: "iana"
  },
  "model/vnd.gdl": {
    source: "iana",
    extensions: [
      "gdl"
    ]
  },
  "model/vnd.gs-gdl": {
    source: "apache"
  },
  "model/vnd.gs.gdl": {
    source: "iana"
  },
  "model/vnd.gtw": {
    source: "iana",
    extensions: [
      "gtw"
    ]
  },
  "model/vnd.moml+xml": {
    source: "iana",
    compressible: !0
  },
  "model/vnd.mts": {
    source: "iana",
    extensions: [
      "mts"
    ]
  },
  "model/vnd.opengex": {
    source: "iana",
    extensions: [
      "ogex"
    ]
  },
  "model/vnd.parasolid.transmit.binary": {
    source: "iana",
    extensions: [
      "x_b"
    ]
  },
  "model/vnd.parasolid.transmit.text": {
    source: "iana",
    extensions: [
      "x_t"
    ]
  },
  "model/vnd.pytha.pyox": {
    source: "iana"
  },
  "model/vnd.rosette.annotated-data-model": {
    source: "iana"
  },
  "model/vnd.sap.vds": {
    source: "iana",
    extensions: [
      "vds"
    ]
  },
  "model/vnd.usdz+zip": {
    source: "iana",
    compressible: !1,
    extensions: [
      "usdz"
    ]
  },
  "model/vnd.valve.source.compiled-map": {
    source: "iana",
    extensions: [
      "bsp"
    ]
  },
  "model/vnd.vtu": {
    source: "iana",
    extensions: [
      "vtu"
    ]
  },
  "model/vrml": {
    source: "iana",
    compressible: !1,
    extensions: [
      "wrl",
      "vrml"
    ]
  },
  "model/x3d+binary": {
    source: "apache",
    compressible: !1,
    extensions: [
      "x3db",
      "x3dbz"
    ]
  },
  "model/x3d+fastinfoset": {
    source: "iana",
    extensions: [
      "x3db"
    ]
  },
  "model/x3d+vrml": {
    source: "apache",
    compressible: !1,
    extensions: [
      "x3dv",
      "x3dvz"
    ]
  },
  "model/x3d+xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "x3d",
      "x3dz"
    ]
  },
  "model/x3d-vrml": {
    source: "iana",
    extensions: [
      "x3dv"
    ]
  },
  "multipart/alternative": {
    source: "iana",
    compressible: !1
  },
  "multipart/appledouble": {
    source: "iana"
  },
  "multipart/byteranges": {
    source: "iana"
  },
  "multipart/digest": {
    source: "iana"
  },
  "multipart/encrypted": {
    source: "iana",
    compressible: !1
  },
  "multipart/form-data": {
    source: "iana",
    compressible: !1
  },
  "multipart/header-set": {
    source: "iana"
  },
  "multipart/mixed": {
    source: "iana"
  },
  "multipart/multilingual": {
    source: "iana"
  },
  "multipart/parallel": {
    source: "iana"
  },
  "multipart/related": {
    source: "iana",
    compressible: !1
  },
  "multipart/report": {
    source: "iana"
  },
  "multipart/signed": {
    source: "iana",
    compressible: !1
  },
  "multipart/vnd.bint.med-plus": {
    source: "iana"
  },
  "multipart/voice-message": {
    source: "iana"
  },
  "multipart/x-mixed-replace": {
    source: "iana"
  },
  "text/1d-interleaved-parityfec": {
    source: "iana"
  },
  "text/cache-manifest": {
    source: "iana",
    compressible: !0,
    extensions: [
      "appcache",
      "manifest"
    ]
  },
  "text/calendar": {
    source: "iana",
    extensions: [
      "ics",
      "ifb"
    ]
  },
  "text/calender": {
    compressible: !0
  },
  "text/cmd": {
    compressible: !0
  },
  "text/coffeescript": {
    extensions: [
      "coffee",
      "litcoffee"
    ]
  },
  "text/cql": {
    source: "iana"
  },
  "text/cql-expression": {
    source: "iana"
  },
  "text/cql-identifier": {
    source: "iana"
  },
  "text/css": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "css"
    ]
  },
  "text/csv": {
    source: "iana",
    compressible: !0,
    extensions: [
      "csv"
    ]
  },
  "text/csv-schema": {
    source: "iana"
  },
  "text/directory": {
    source: "iana"
  },
  "text/dns": {
    source: "iana"
  },
  "text/ecmascript": {
    source: "iana"
  },
  "text/encaprtp": {
    source: "iana"
  },
  "text/enriched": {
    source: "iana"
  },
  "text/fhirpath": {
    source: "iana"
  },
  "text/flexfec": {
    source: "iana"
  },
  "text/fwdred": {
    source: "iana"
  },
  "text/gff3": {
    source: "iana"
  },
  "text/grammar-ref-list": {
    source: "iana"
  },
  "text/html": {
    source: "iana",
    compressible: !0,
    extensions: [
      "html",
      "htm",
      "shtml"
    ]
  },
  "text/jade": {
    extensions: [
      "jade"
    ]
  },
  "text/javascript": {
    source: "iana",
    compressible: !0
  },
  "text/jcr-cnd": {
    source: "iana"
  },
  "text/jsx": {
    compressible: !0,
    extensions: [
      "jsx"
    ]
  },
  "text/less": {
    compressible: !0,
    extensions: [
      "less"
    ]
  },
  "text/markdown": {
    source: "iana",
    compressible: !0,
    extensions: [
      "markdown",
      "md"
    ]
  },
  "text/mathml": {
    source: "nginx",
    extensions: [
      "mml"
    ]
  },
  "text/mdx": {
    compressible: !0,
    extensions: [
      "mdx"
    ]
  },
  "text/mizar": {
    source: "iana"
  },
  "text/n3": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "n3"
    ]
  },
  "text/parameters": {
    source: "iana",
    charset: "UTF-8"
  },
  "text/parityfec": {
    source: "iana"
  },
  "text/plain": {
    source: "iana",
    compressible: !0,
    extensions: [
      "txt",
      "text",
      "conf",
      "def",
      "list",
      "log",
      "in",
      "ini"
    ]
  },
  "text/provenance-notation": {
    source: "iana",
    charset: "UTF-8"
  },
  "text/prs.fallenstein.rst": {
    source: "iana"
  },
  "text/prs.lines.tag": {
    source: "iana",
    extensions: [
      "dsc"
    ]
  },
  "text/prs.prop.logic": {
    source: "iana"
  },
  "text/raptorfec": {
    source: "iana"
  },
  "text/red": {
    source: "iana"
  },
  "text/rfc822-headers": {
    source: "iana"
  },
  "text/richtext": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rtx"
    ]
  },
  "text/rtf": {
    source: "iana",
    compressible: !0,
    extensions: [
      "rtf"
    ]
  },
  "text/rtp-enc-aescm128": {
    source: "iana"
  },
  "text/rtploopback": {
    source: "iana"
  },
  "text/rtx": {
    source: "iana"
  },
  "text/sgml": {
    source: "iana",
    extensions: [
      "sgml",
      "sgm"
    ]
  },
  "text/shaclc": {
    source: "iana"
  },
  "text/shex": {
    source: "iana",
    extensions: [
      "shex"
    ]
  },
  "text/slim": {
    extensions: [
      "slim",
      "slm"
    ]
  },
  "text/spdx": {
    source: "iana",
    extensions: [
      "spdx"
    ]
  },
  "text/strings": {
    source: "iana"
  },
  "text/stylus": {
    extensions: [
      "stylus",
      "styl"
    ]
  },
  "text/t140": {
    source: "iana"
  },
  "text/tab-separated-values": {
    source: "iana",
    compressible: !0,
    extensions: [
      "tsv"
    ]
  },
  "text/troff": {
    source: "iana",
    extensions: [
      "t",
      "tr",
      "roff",
      "man",
      "me",
      "ms"
    ]
  },
  "text/turtle": {
    source: "iana",
    charset: "UTF-8",
    extensions: [
      "ttl"
    ]
  },
  "text/ulpfec": {
    source: "iana"
  },
  "text/uri-list": {
    source: "iana",
    compressible: !0,
    extensions: [
      "uri",
      "uris",
      "urls"
    ]
  },
  "text/vcard": {
    source: "iana",
    compressible: !0,
    extensions: [
      "vcard"
    ]
  },
  "text/vnd.a": {
    source: "iana"
  },
  "text/vnd.abc": {
    source: "iana"
  },
  "text/vnd.ascii-art": {
    source: "iana"
  },
  "text/vnd.curl": {
    source: "iana",
    extensions: [
      "curl"
    ]
  },
  "text/vnd.curl.dcurl": {
    source: "apache",
    extensions: [
      "dcurl"
    ]
  },
  "text/vnd.curl.mcurl": {
    source: "apache",
    extensions: [
      "mcurl"
    ]
  },
  "text/vnd.curl.scurl": {
    source: "apache",
    extensions: [
      "scurl"
    ]
  },
  "text/vnd.debian.copyright": {
    source: "iana",
    charset: "UTF-8"
  },
  "text/vnd.dmclientscript": {
    source: "iana"
  },
  "text/vnd.dvb.subtitle": {
    source: "iana",
    extensions: [
      "sub"
    ]
  },
  "text/vnd.esmertec.theme-descriptor": {
    source: "iana",
    charset: "UTF-8"
  },
  "text/vnd.familysearch.gedcom": {
    source: "iana",
    extensions: [
      "ged"
    ]
  },
  "text/vnd.ficlab.flt": {
    source: "iana"
  },
  "text/vnd.fly": {
    source: "iana",
    extensions: [
      "fly"
    ]
  },
  "text/vnd.fmi.flexstor": {
    source: "iana",
    extensions: [
      "flx"
    ]
  },
  "text/vnd.gml": {
    source: "iana"
  },
  "text/vnd.graphviz": {
    source: "iana",
    extensions: [
      "gv"
    ]
  },
  "text/vnd.hans": {
    source: "iana"
  },
  "text/vnd.hgl": {
    source: "iana"
  },
  "text/vnd.in3d.3dml": {
    source: "iana",
    extensions: [
      "3dml"
    ]
  },
  "text/vnd.in3d.spot": {
    source: "iana",
    extensions: [
      "spot"
    ]
  },
  "text/vnd.iptc.newsml": {
    source: "iana"
  },
  "text/vnd.iptc.nitf": {
    source: "iana"
  },
  "text/vnd.latex-z": {
    source: "iana"
  },
  "text/vnd.motorola.reflex": {
    source: "iana"
  },
  "text/vnd.ms-mediapackage": {
    source: "iana"
  },
  "text/vnd.net2phone.commcenter.command": {
    source: "iana"
  },
  "text/vnd.radisys.msml-basic-layout": {
    source: "iana"
  },
  "text/vnd.senx.warpscript": {
    source: "iana"
  },
  "text/vnd.si.uricatalogue": {
    source: "iana"
  },
  "text/vnd.sosi": {
    source: "iana"
  },
  "text/vnd.sun.j2me.app-descriptor": {
    source: "iana",
    charset: "UTF-8",
    extensions: [
      "jad"
    ]
  },
  "text/vnd.trolltech.linguist": {
    source: "iana",
    charset: "UTF-8"
  },
  "text/vnd.wap.si": {
    source: "iana"
  },
  "text/vnd.wap.sl": {
    source: "iana"
  },
  "text/vnd.wap.wml": {
    source: "iana",
    extensions: [
      "wml"
    ]
  },
  "text/vnd.wap.wmlscript": {
    source: "iana",
    extensions: [
      "wmls"
    ]
  },
  "text/vtt": {
    source: "iana",
    charset: "UTF-8",
    compressible: !0,
    extensions: [
      "vtt"
    ]
  },
  "text/x-asm": {
    source: "apache",
    extensions: [
      "s",
      "asm"
    ]
  },
  "text/x-c": {
    source: "apache",
    extensions: [
      "c",
      "cc",
      "cxx",
      "cpp",
      "h",
      "hh",
      "dic"
    ]
  },
  "text/x-component": {
    source: "nginx",
    extensions: [
      "htc"
    ]
  },
  "text/x-fortran": {
    source: "apache",
    extensions: [
      "f",
      "for",
      "f77",
      "f90"
    ]
  },
  "text/x-gwt-rpc": {
    compressible: !0
  },
  "text/x-handlebars-template": {
    extensions: [
      "hbs"
    ]
  },
  "text/x-java-source": {
    source: "apache",
    extensions: [
      "java"
    ]
  },
  "text/x-jquery-tmpl": {
    compressible: !0
  },
  "text/x-lua": {
    extensions: [
      "lua"
    ]
  },
  "text/x-markdown": {
    compressible: !0,
    extensions: [
      "mkd"
    ]
  },
  "text/x-nfo": {
    source: "apache",
    extensions: [
      "nfo"
    ]
  },
  "text/x-opml": {
    source: "apache",
    extensions: [
      "opml"
    ]
  },
  "text/x-org": {
    compressible: !0,
    extensions: [
      "org"
    ]
  },
  "text/x-pascal": {
    source: "apache",
    extensions: [
      "p",
      "pas"
    ]
  },
  "text/x-processing": {
    compressible: !0,
    extensions: [
      "pde"
    ]
  },
  "text/x-sass": {
    extensions: [
      "sass"
    ]
  },
  "text/x-scss": {
    extensions: [
      "scss"
    ]
  },
  "text/x-setext": {
    source: "apache",
    extensions: [
      "etx"
    ]
  },
  "text/x-sfv": {
    source: "apache",
    extensions: [
      "sfv"
    ]
  },
  "text/x-suse-ymp": {
    compressible: !0,
    extensions: [
      "ymp"
    ]
  },
  "text/x-uuencode": {
    source: "apache",
    extensions: [
      "uu"
    ]
  },
  "text/x-vcalendar": {
    source: "apache",
    extensions: [
      "vcs"
    ]
  },
  "text/x-vcard": {
    source: "apache",
    extensions: [
      "vcf"
    ]
  },
  "text/xml": {
    source: "iana",
    compressible: !0,
    extensions: [
      "xml"
    ]
  },
  "text/xml-external-parsed-entity": {
    source: "iana"
  },
  "text/yaml": {
    compressible: !0,
    extensions: [
      "yaml",
      "yml"
    ]
  },
  "video/1d-interleaved-parityfec": {
    source: "iana"
  },
  "video/3gpp": {
    source: "iana",
    extensions: [
      "3gp",
      "3gpp"
    ]
  },
  "video/3gpp-tt": {
    source: "iana"
  },
  "video/3gpp2": {
    source: "iana",
    extensions: [
      "3g2"
    ]
  },
  "video/av1": {
    source: "iana"
  },
  "video/bmpeg": {
    source: "iana"
  },
  "video/bt656": {
    source: "iana"
  },
  "video/celb": {
    source: "iana"
  },
  "video/dv": {
    source: "iana"
  },
  "video/encaprtp": {
    source: "iana"
  },
  "video/ffv1": {
    source: "iana"
  },
  "video/flexfec": {
    source: "iana"
  },
  "video/h261": {
    source: "iana",
    extensions: [
      "h261"
    ]
  },
  "video/h263": {
    source: "iana",
    extensions: [
      "h263"
    ]
  },
  "video/h263-1998": {
    source: "iana"
  },
  "video/h263-2000": {
    source: "iana"
  },
  "video/h264": {
    source: "iana",
    extensions: [
      "h264"
    ]
  },
  "video/h264-rcdo": {
    source: "iana"
  },
  "video/h264-svc": {
    source: "iana"
  },
  "video/h265": {
    source: "iana"
  },
  "video/iso.segment": {
    source: "iana",
    extensions: [
      "m4s"
    ]
  },
  "video/jpeg": {
    source: "iana",
    extensions: [
      "jpgv"
    ]
  },
  "video/jpeg2000": {
    source: "iana"
  },
  "video/jpm": {
    source: "apache",
    extensions: [
      "jpm",
      "jpgm"
    ]
  },
  "video/jxsv": {
    source: "iana"
  },
  "video/mj2": {
    source: "iana",
    extensions: [
      "mj2",
      "mjp2"
    ]
  },
  "video/mp1s": {
    source: "iana"
  },
  "video/mp2p": {
    source: "iana"
  },
  "video/mp2t": {
    source: "iana",
    extensions: [
      "ts"
    ]
  },
  "video/mp4": {
    source: "iana",
    compressible: !1,
    extensions: [
      "mp4",
      "mp4v",
      "mpg4"
    ]
  },
  "video/mp4v-es": {
    source: "iana"
  },
  "video/mpeg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "mpeg",
      "mpg",
      "mpe",
      "m1v",
      "m2v"
    ]
  },
  "video/mpeg4-generic": {
    source: "iana"
  },
  "video/mpv": {
    source: "iana"
  },
  "video/nv": {
    source: "iana"
  },
  "video/ogg": {
    source: "iana",
    compressible: !1,
    extensions: [
      "ogv"
    ]
  },
  "video/parityfec": {
    source: "iana"
  },
  "video/pointer": {
    source: "iana"
  },
  "video/quicktime": {
    source: "iana",
    compressible: !1,
    extensions: [
      "qt",
      "mov"
    ]
  },
  "video/raptorfec": {
    source: "iana"
  },
  "video/raw": {
    source: "iana"
  },
  "video/rtp-enc-aescm128": {
    source: "iana"
  },
  "video/rtploopback": {
    source: "iana"
  },
  "video/rtx": {
    source: "iana"
  },
  "video/scip": {
    source: "iana"
  },
  "video/smpte291": {
    source: "iana"
  },
  "video/smpte292m": {
    source: "iana"
  },
  "video/ulpfec": {
    source: "iana"
  },
  "video/vc1": {
    source: "iana"
  },
  "video/vc2": {
    source: "iana"
  },
  "video/vnd.cctv": {
    source: "iana"
  },
  "video/vnd.dece.hd": {
    source: "iana",
    extensions: [
      "uvh",
      "uvvh"
    ]
  },
  "video/vnd.dece.mobile": {
    source: "iana",
    extensions: [
      "uvm",
      "uvvm"
    ]
  },
  "video/vnd.dece.mp4": {
    source: "iana"
  },
  "video/vnd.dece.pd": {
    source: "iana",
    extensions: [
      "uvp",
      "uvvp"
    ]
  },
  "video/vnd.dece.sd": {
    source: "iana",
    extensions: [
      "uvs",
      "uvvs"
    ]
  },
  "video/vnd.dece.video": {
    source: "iana",
    extensions: [
      "uvv",
      "uvvv"
    ]
  },
  "video/vnd.directv.mpeg": {
    source: "iana"
  },
  "video/vnd.directv.mpeg-tts": {
    source: "iana"
  },
  "video/vnd.dlna.mpeg-tts": {
    source: "iana"
  },
  "video/vnd.dvb.file": {
    source: "iana",
    extensions: [
      "dvb"
    ]
  },
  "video/vnd.fvt": {
    source: "iana",
    extensions: [
      "fvt"
    ]
  },
  "video/vnd.hns.video": {
    source: "iana"
  },
  "video/vnd.iptvforum.1dparityfec-1010": {
    source: "iana"
  },
  "video/vnd.iptvforum.1dparityfec-2005": {
    source: "iana"
  },
  "video/vnd.iptvforum.2dparityfec-1010": {
    source: "iana"
  },
  "video/vnd.iptvforum.2dparityfec-2005": {
    source: "iana"
  },
  "video/vnd.iptvforum.ttsavc": {
    source: "iana"
  },
  "video/vnd.iptvforum.ttsmpeg2": {
    source: "iana"
  },
  "video/vnd.motorola.video": {
    source: "iana"
  },
  "video/vnd.motorola.videop": {
    source: "iana"
  },
  "video/vnd.mpegurl": {
    source: "iana",
    extensions: [
      "mxu",
      "m4u"
    ]
  },
  "video/vnd.ms-playready.media.pyv": {
    source: "iana",
    extensions: [
      "pyv"
    ]
  },
  "video/vnd.nokia.interleaved-multimedia": {
    source: "iana"
  },
  "video/vnd.nokia.mp4vr": {
    source: "iana"
  },
  "video/vnd.nokia.videovoip": {
    source: "iana"
  },
  "video/vnd.objectvideo": {
    source: "iana"
  },
  "video/vnd.radgamettools.bink": {
    source: "iana"
  },
  "video/vnd.radgamettools.smacker": {
    source: "iana"
  },
  "video/vnd.sealed.mpeg1": {
    source: "iana"
  },
  "video/vnd.sealed.mpeg4": {
    source: "iana"
  },
  "video/vnd.sealed.swf": {
    source: "iana"
  },
  "video/vnd.sealedmedia.softseal.mov": {
    source: "iana"
  },
  "video/vnd.uvvu.mp4": {
    source: "iana",
    extensions: [
      "uvu",
      "uvvu"
    ]
  },
  "video/vnd.vivo": {
    source: "iana",
    extensions: [
      "viv"
    ]
  },
  "video/vnd.youtube.yt": {
    source: "iana"
  },
  "video/vp8": {
    source: "iana"
  },
  "video/vp9": {
    source: "iana"
  },
  "video/webm": {
    source: "apache",
    compressible: !1,
    extensions: [
      "webm"
    ]
  },
  "video/x-f4v": {
    source: "apache",
    extensions: [
      "f4v"
    ]
  },
  "video/x-fli": {
    source: "apache",
    extensions: [
      "fli"
    ]
  },
  "video/x-flv": {
    source: "apache",
    compressible: !1,
    extensions: [
      "flv"
    ]
  },
  "video/x-m4v": {
    source: "apache",
    extensions: [
      "m4v"
    ]
  },
  "video/x-matroska": {
    source: "apache",
    compressible: !1,
    extensions: [
      "mkv",
      "mk3d",
      "mks"
    ]
  },
  "video/x-mng": {
    source: "apache",
    extensions: [
      "mng"
    ]
  },
  "video/x-ms-asf": {
    source: "apache",
    extensions: [
      "asf",
      "asx"
    ]
  },
  "video/x-ms-vob": {
    source: "apache",
    extensions: [
      "vob"
    ]
  },
  "video/x-ms-wm": {
    source: "apache",
    extensions: [
      "wm"
    ]
  },
  "video/x-ms-wmv": {
    source: "apache",
    compressible: !1,
    extensions: [
      "wmv"
    ]
  },
  "video/x-ms-wmx": {
    source: "apache",
    extensions: [
      "wmx"
    ]
  },
  "video/x-ms-wvx": {
    source: "apache",
    extensions: [
      "wvx"
    ]
  },
  "video/x-msvideo": {
    source: "apache",
    extensions: [
      "avi"
    ]
  },
  "video/x-sgi-movie": {
    source: "apache",
    extensions: [
      "movie"
    ]
  },
  "video/x-smv": {
    source: "apache",
    extensions: [
      "smv"
    ]
  },
  "x-conference/x-cooltalk": {
    source: "apache",
    extensions: [
      "ice"
    ]
  },
  "x-shader/x-fragment": {
    compressible: !0
  },
  "x-shader/x-vertex": {
    compressible: !0
  }
};
/*!
 * mime-db
 * Copyright(c) 2014 Jonathan Ong
 * Copyright(c) 2015-2022 Douglas Christopher Wilson
 * MIT Licensed
 */
var rl = ol;
/*!
 * mime-types
 * Copyright(c) 2014 Jonathan Ong
 * Copyright(c) 2015 Douglas Christopher Wilson
 * MIT Licensed
 */
(function(e) {
  var n = rl, t = he.extname, a = /^\s*([^;\s]*)(?:;|\s|$)/, i = /^text\//i;
  e.charset = o, e.charsets = { lookup: o }, e.contentType = s, e.extension = r, e.extensions = /* @__PURE__ */ Object.create(null), e.lookup = c, e.types = /* @__PURE__ */ Object.create(null), l(e.extensions, e.types);
  function o(p) {
    if (!p || typeof p != "string")
      return !1;
    var u = a.exec(p), d = u && n[u[1].toLowerCase()];
    return d && d.charset ? d.charset : u && i.test(u[1]) ? "UTF-8" : !1;
  }
  function s(p) {
    if (!p || typeof p != "string")
      return !1;
    var u = p.indexOf("/") === -1 ? e.lookup(p) : p;
    if (!u)
      return !1;
    if (u.indexOf("charset") === -1) {
      var d = e.charset(u);
      d && (u += "; charset=" + d.toLowerCase());
    }
    return u;
  }
  function r(p) {
    if (!p || typeof p != "string")
      return !1;
    var u = a.exec(p), d = u && e.extensions[u[1].toLowerCase()];
    return !d || !d.length ? !1 : d[0];
  }
  function c(p) {
    if (!p || typeof p != "string")
      return !1;
    var u = t("x." + p).toLowerCase().substr(1);
    return u && e.types[u] || !1;
  }
  function l(p, u) {
    var d = ["nginx", "apache", void 0, "iana"];
    Object.keys(n).forEach(function(h) {
      var v = n[h], f = v.extensions;
      if (!(!f || !f.length)) {
        p[h] = f;
        for (var b = 0; b < f.length; b++) {
          var y = f[b];
          if (u[y]) {
            var w = d.indexOf(n[u[y]].source), R = d.indexOf(v.source);
            if (u[y] !== "application/octet-stream" && (w > R || w === R && u[y].substr(0, 12) === "application/"))
              continue;
          }
          u[y] = h;
        }
      }
    });
  }
})(ao);
var cl = pl;
function pl(e) {
  var n = typeof setImmediate == "function" ? setImmediate : typeof process == "object" && typeof process.nextTick == "function" ? process.nextTick : null;
  n ? n(e) : setTimeout(e, 0);
}
var Ri = cl, io = ll;
function ll(e) {
  var n = !1;
  return Ri(function() {
    n = !0;
  }), function(a, i) {
    n ? e(a, i) : Ri(function() {
      e(a, i);
    });
  };
}
var so = ul;
function ul(e) {
  Object.keys(e.jobs).forEach(dl.bind(e)), e.jobs = {};
}
function dl(e) {
  typeof this.jobs[e] == "function" && this.jobs[e]();
}
var Ai = io, ml = so, oo = fl;
function fl(e, n, t, a) {
  var i = t.keyedList ? t.keyedList[t.index] : t.index;
  t.jobs[i] = hl(n, i, e[i], function(o, s) {
    i in t.jobs && (delete t.jobs[i], o ? ml(t) : t.results[i] = s, a(o, t.results));
  });
}
function hl(e, n, t, a) {
  var i;
  return e.length == 2 ? i = e(t, Ai(a)) : i = e(t, n, Ai(a)), i;
}
var ro = xl;
function xl(e, n) {
  var t = !Array.isArray(e), a = {
    index: 0,
    keyedList: t || n ? Object.keys(e) : null,
    jobs: {},
    results: t ? {} : [],
    size: t ? Object.keys(e).length : e.length
  };
  return n && a.keyedList.sort(t ? n : function(i, o) {
    return n(e[i], e[o]);
  }), a;
}
var vl = so, bl = io, co = gl;
function gl(e) {
  Object.keys(this.jobs).length && (this.index = this.size, vl(this), bl(e)(null, this.results));
}
var yl = oo, wl = ro, El = co, _l = kl;
function kl(e, n, t) {
  for (var a = wl(e); a.index < (a.keyedList || e).length; )
    yl(e, n, a, function(i, o) {
      if (i) {
        t(i, o);
        return;
      }
      if (Object.keys(a.jobs).length === 0) {
        t(null, a.results);
        return;
      }
    }), a.index++;
  return El.bind(a, t);
}
var $n = { exports: {} }, Ni = oo, Sl = ro, Ol = co;
$n.exports = jl;
$n.exports.ascending = po;
$n.exports.descending = Cl;
function jl(e, n, t, a) {
  var i = Sl(e, t);
  return Ni(e, n, i, function o(s, r) {
    if (s) {
      a(s, r);
      return;
    }
    if (i.index++, i.index < (i.keyedList || e).length) {
      Ni(e, n, i, o);
      return;
    }
    a(null, i.results);
  }), Ol.bind(i, a);
}
function po(e, n) {
  return e < n ? -1 : e > n ? 1 : 0;
}
function Cl(e, n) {
  return -1 * po(e, n);
}
var lo = $n.exports, Rl = lo, Al = Nl;
function Nl(e, n, t) {
  return Rl(e, n, null, t);
}
var Tl = {
  parallel: _l,
  serial: Al,
  serialOrdered: lo
}, Fl = function(e, n) {
  return Object.keys(n).forEach(function(t) {
    e[t] = e[t] || n[t];
  }), e;
}, va = sl, uo = qe, jt = he, Dl = Cn, Ll = Rn, Pl = An.parse, zl = Be, Bl = ne.Stream, Ct = ao, ql = Tl, Kt = Fl, Il = C;
uo.inherits(C, va);
function C(e) {
  if (!(this instanceof C))
    return new C(e);
  this._overheadLength = 0, this._valueLength = 0, this._valuesToMeasure = [], va.call(this), e = e || {};
  for (var n in e)
    this[n] = e[n];
}
C.LINE_BREAK = `\r
`;
C.DEFAULT_CONTENT_TYPE = "application/octet-stream";
C.prototype.append = function(e, n, t) {
  t = t || {}, typeof t == "string" && (t = { filename: t });
  var a = va.prototype.append.bind(this);
  if (typeof n == "number" && (n = "" + n), uo.isArray(n)) {
    this._error(new Error("Arrays are not supported."));
    return;
  }
  var i = this._multiPartHeader(e, n, t), o = this._multiPartFooter();
  a(i), a(n), a(o), this._trackLength(i, n, t);
};
C.prototype._trackLength = function(e, n, t) {
  var a = 0;
  t.knownLength != null ? a += +t.knownLength : Buffer.isBuffer(n) ? a = n.length : typeof n == "string" && (a = Buffer.byteLength(n)), this._valueLength += a, this._overheadLength += Buffer.byteLength(e) + C.LINE_BREAK.length, !(!n || !n.path && !(n.readable && n.hasOwnProperty("httpVersion")) && !(n instanceof Bl)) && (t.knownLength || this._valuesToMeasure.push(n));
};
C.prototype._lengthRetriever = function(e, n) {
  e.hasOwnProperty("fd") ? e.end != null && e.end != 1 / 0 && e.start != null ? n(null, e.end + 1 - (e.start ? e.start : 0)) : zl.stat(e.path, function(t, a) {
    var i;
    if (t) {
      n(t);
      return;
    }
    i = a.size - (e.start ? e.start : 0), n(null, i);
  }) : e.hasOwnProperty("httpVersion") ? n(null, +e.headers["content-length"]) : e.hasOwnProperty("httpModule") ? (e.on("response", function(t) {
    e.pause(), n(null, +t.headers["content-length"]);
  }), e.resume()) : n("Unknown stream");
};
C.prototype._multiPartHeader = function(e, n, t) {
  if (typeof t.header == "string")
    return t.header;
  var a = this._getContentDisposition(n, t), i = this._getContentType(n, t), o = "", s = {
    // add custom disposition as third element or keep it two elements if not
    "Content-Disposition": ["form-data", 'name="' + e + '"'].concat(a || []),
    // if no content type. allow it to be empty array
    "Content-Type": [].concat(i || [])
  };
  typeof t.header == "object" && Kt(s, t.header);
  var r;
  for (var c in s)
    s.hasOwnProperty(c) && (r = s[c], r != null && (Array.isArray(r) || (r = [r]), r.length && (o += c + ": " + r.join("; ") + C.LINE_BREAK)));
  return "--" + this.getBoundary() + C.LINE_BREAK + o + C.LINE_BREAK;
};
C.prototype._getContentDisposition = function(e, n) {
  var t, a;
  return typeof n.filepath == "string" ? t = jt.normalize(n.filepath).replace(/\\/g, "/") : n.filename || e.name || e.path ? t = jt.basename(n.filename || e.name || e.path) : e.readable && e.hasOwnProperty("httpVersion") && (t = jt.basename(e.client._httpMessage.path || "")), t && (a = 'filename="' + t + '"'), a;
};
C.prototype._getContentType = function(e, n) {
  var t = n.contentType;
  return !t && e.name && (t = Ct.lookup(e.name)), !t && e.path && (t = Ct.lookup(e.path)), !t && e.readable && e.hasOwnProperty("httpVersion") && (t = e.headers["content-type"]), !t && (n.filepath || n.filename) && (t = Ct.lookup(n.filepath || n.filename)), !t && typeof e == "object" && (t = C.DEFAULT_CONTENT_TYPE), t;
};
C.prototype._multiPartFooter = function() {
  return (function(e) {
    var n = C.LINE_BREAK, t = this._streams.length === 0;
    t && (n += this._lastBoundary()), e(n);
  }).bind(this);
};
C.prototype._lastBoundary = function() {
  return "--" + this.getBoundary() + "--" + C.LINE_BREAK;
};
C.prototype.getHeaders = function(e) {
  var n, t = {
    "content-type": "multipart/form-data; boundary=" + this.getBoundary()
  };
  for (n in e)
    e.hasOwnProperty(n) && (t[n.toLowerCase()] = e[n]);
  return t;
};
C.prototype.setBoundary = function(e) {
  this._boundary = e;
};
C.prototype.getBoundary = function() {
  return this._boundary || this._generateBoundary(), this._boundary;
};
C.prototype.getBuffer = function() {
  for (var e = new Buffer.alloc(0), n = this.getBoundary(), t = 0, a = this._streams.length; t < a; t++)
    typeof this._streams[t] != "function" && (Buffer.isBuffer(this._streams[t]) ? e = Buffer.concat([e, this._streams[t]]) : e = Buffer.concat([e, Buffer.from(this._streams[t])]), (typeof this._streams[t] != "string" || this._streams[t].substring(2, n.length + 2) !== n) && (e = Buffer.concat([e, Buffer.from(C.LINE_BREAK)])));
  return Buffer.concat([e, Buffer.from(this._lastBoundary())]);
};
C.prototype._generateBoundary = function() {
  for (var e = "--------------------------", n = 0; n < 24; n++)
    e += Math.floor(Math.random() * 10).toString(16);
  this._boundary = e;
};
C.prototype.getLengthSync = function() {
  var e = this._overheadLength + this._valueLength;
  return this._streams.length && (e += this._lastBoundary().length), this.hasKnownLength() || this._error(new Error("Cannot calculate proper length in synchronous way.")), e;
};
C.prototype.hasKnownLength = function() {
  var e = !0;
  return this._valuesToMeasure.length && (e = !1), e;
};
C.prototype.getLength = function(e) {
  var n = this._overheadLength + this._valueLength;
  if (this._streams.length && (n += this._lastBoundary().length), !this._valuesToMeasure.length) {
    process.nextTick(e.bind(this, null, n));
    return;
  }
  ql.parallel(this._valuesToMeasure, this._lengthRetriever, function(t, a) {
    if (t) {
      e(t);
      return;
    }
    a.forEach(function(i) {
      n += i;
    }), e(null, n);
  });
};
C.prototype.submit = function(e, n) {
  var t, a, i = { method: "post" };
  return typeof e == "string" ? (e = Pl(e), a = Kt({
    port: e.port,
    path: e.pathname,
    host: e.hostname,
    protocol: e.protocol
  }, i)) : (a = Kt(e, i), a.port || (a.port = a.protocol == "https:" ? 443 : 80)), a.headers = this.getHeaders(e.headers), a.protocol == "https:" ? t = Ll.request(a) : t = Dl.request(a), this.getLength((function(o, s) {
    if (o && o !== "Unknown stream") {
      this._error(o);
      return;
    }
    if (s && t.setHeader("Content-Length", s), this.pipe(t), n) {
      var r, c = function(l, p) {
        return t.removeListener("error", c), t.removeListener("response", r), n.call(this, l, p);
      };
      r = c.bind(this, null), t.on("error", c), t.on("response", r);
    }
  }).bind(this)), t;
};
C.prototype._error = function(e) {
  this.error || (this.error = e, this.pause(), this.emit("error", e));
};
C.prototype.toString = function() {
  return "[object FormData]";
};
const mo = /* @__PURE__ */ Pn(Il);
function Gt(e) {
  return m.isPlainObject(e) || m.isArray(e);
}
function fo(e) {
  return m.endsWith(e, "[]") ? e.slice(0, -2) : e;
}
function Ti(e, n, t) {
  return e ? e.concat(n).map(function(i, o) {
    return i = fo(i), !t && o ? "[" + i + "]" : i;
  }).join(t ? "." : "") : n;
}
function Ul(e) {
  return m.isArray(e) && !e.some(Gt);
}
const $l = m.toFlatObject(m, {}, null, function(n) {
  return /^is[A-Z]/.test(n);
});
function Mn(e, n, t) {
  if (!m.isObject(e))
    throw new TypeError("target must be an object");
  n = n || new (mo || FormData)(), t = m.toFlatObject(t, {
    metaTokens: !0,
    dots: !1,
    indexes: !1
  }, !1, function(v, f) {
    return !m.isUndefined(f[v]);
  });
  const a = t.metaTokens, i = t.visitor || p, o = t.dots, s = t.indexes, c = (t.Blob || typeof Blob < "u" && Blob) && m.isSpecCompliantForm(n);
  if (!m.isFunction(i))
    throw new TypeError("visitor must be a function");
  function l(h) {
    if (h === null) return "";
    if (m.isDate(h))
      return h.toISOString();
    if (!c && m.isBlob(h))
      throw new g("Blob is not supported. Use a Buffer instead.");
    return m.isArrayBuffer(h) || m.isTypedArray(h) ? c && typeof Blob == "function" ? new Blob([h]) : Buffer.from(h) : h;
  }
  function p(h, v, f) {
    let b = h;
    if (h && !f && typeof h == "object") {
      if (m.endsWith(v, "{}"))
        v = a ? v : v.slice(0, -2), h = JSON.stringify(h);
      else if (m.isArray(h) && Ul(h) || (m.isFileList(h) || m.endsWith(v, "[]")) && (b = m.toArray(h)))
        return v = fo(v), b.forEach(function(w, R) {
          !(m.isUndefined(w) || w === null) && n.append(
            // eslint-disable-next-line no-nested-ternary
            s === !0 ? Ti([v], R, o) : s === null ? v : v + "[]",
            l(w)
          );
        }), !1;
    }
    return Gt(h) ? !0 : (n.append(Ti(f, v, o), l(h)), !1);
  }
  const u = [], d = Object.assign($l, {
    defaultVisitor: p,
    convertValue: l,
    isVisitable: Gt
  });
  function x(h, v) {
    if (!m.isUndefined(h)) {
      if (u.indexOf(h) !== -1)
        throw Error("Circular reference detected in " + v.join("."));
      u.push(h), m.forEach(h, function(b, y) {
        (!(m.isUndefined(b) || b === null) && i.call(
          n,
          b,
          m.isString(y) ? y.trim() : y,
          v,
          d
        )) === !0 && x(b, v ? v.concat(y) : [y]);
      }), u.pop();
    }
  }
  if (!m.isObject(e))
    throw new TypeError("data must be an object");
  return x(e), n;
}
function Fi(e) {
  const n = {
    "!": "%21",
    "'": "%27",
    "(": "%28",
    ")": "%29",
    "~": "%7E",
    "%20": "+",
    "%00": "\0"
  };
  return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g, function(a) {
    return n[a];
  });
}
function ho(e, n) {
  this._pairs = [], e && Mn(e, this, n);
}
const xo = ho.prototype;
xo.append = function(n, t) {
  this._pairs.push([n, t]);
};
xo.toString = function(n) {
  const t = n ? function(a) {
    return n.call(this, a, Fi);
  } : Fi;
  return this._pairs.map(function(i) {
    return t(i[0]) + "=" + t(i[1]);
  }, "").join("&");
};
function Ml(e) {
  return encodeURIComponent(e).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function ba(e, n, t) {
  if (!n)
    return e;
  const a = t && t.encode || Ml, i = t && t.serialize;
  let o;
  if (i ? o = i(n, t) : o = m.isURLSearchParams(n) ? n.toString() : new ho(n, t).toString(a), o) {
    const s = e.indexOf("#");
    s !== -1 && (e = e.slice(0, s)), e += (e.indexOf("?") === -1 ? "?" : "&") + o;
  }
  return e;
}
class Di {
  constructor() {
    this.handlers = [];
  }
  /**
   * Add a new interceptor to the stack
   *
   * @param {Function} fulfilled The function to handle `then` for a `Promise`
   * @param {Function} rejected The function to handle `reject` for a `Promise`
   *
   * @return {Number} An ID used to remove interceptor later
   */
  use(n, t, a) {
    return this.handlers.push({
      fulfilled: n,
      rejected: t,
      synchronous: a ? a.synchronous : !1,
      runWhen: a ? a.runWhen : null
    }), this.handlers.length - 1;
  }
  /**
   * Remove an interceptor from the stack
   *
   * @param {Number} id The ID that was returned by `use`
   *
   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
   */
  eject(n) {
    this.handlers[n] && (this.handlers[n] = null);
  }
  /**
   * Clear all interceptors from the stack
   *
   * @returns {void}
   */
  clear() {
    this.handlers && (this.handlers = []);
  }
  /**
   * Iterate over all the registered interceptors
   *
   * This method is particularly useful for skipping over any
   * interceptors that may have become `null` calling `eject`.
   *
   * @param {Function} fn The function to call for each interceptor
   *
   * @returns {void}
   */
  forEach(n) {
    m.forEach(this.handlers, function(a) {
      a !== null && n(a);
    });
  }
}
const ga = {
  silentJSONParsing: !0,
  forcedJSONParsing: !0,
  clarifyTimeoutError: !1
}, Vl = An.URLSearchParams, Hl = {
  isNode: !0,
  classes: {
    URLSearchParams: Vl,
    FormData: mo,
    Blob: typeof Blob < "u" && Blob || null
  },
  protocols: ["http", "https", "file", "data"]
}, ya = typeof window < "u" && typeof document < "u", Yt = typeof navigator == "object" && navigator || void 0, Wl = ya && (!Yt || ["ReactNative", "NativeScript", "NS"].indexOf(Yt.product) < 0), Jl = typeof WorkerGlobalScope < "u" && // eslint-disable-next-line no-undef
self instanceof WorkerGlobalScope && typeof self.importScripts == "function", Kl = ya && window.location.href || "http://localhost", Gl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  hasBrowserEnv: ya,
  hasStandardBrowserEnv: Wl,
  hasStandardBrowserWebWorkerEnv: Jl,
  navigator: Yt,
  origin: Kl
}, Symbol.toStringTag, { value: "Module" })), P = {
  ...Gl,
  ...Hl
};
function Yl(e, n) {
  return Mn(e, new P.classes.URLSearchParams(), Object.assign({
    visitor: function(t, a, i, o) {
      return P.isNode && m.isBuffer(t) ? (this.append(a, t.toString("base64")), !1) : o.defaultVisitor.apply(this, arguments);
    }
  }, n));
}
function Xl(e) {
  return m.matchAll(/\w+|\[(\w*)]/g, e).map((n) => n[0] === "[]" ? "" : n[1] || n[0]);
}
function Ql(e) {
  const n = {}, t = Object.keys(e);
  let a;
  const i = t.length;
  let o;
  for (a = 0; a < i; a++)
    o = t[a], n[o] = e[o];
  return n;
}
function vo(e) {
  function n(t, a, i, o) {
    let s = t[o++];
    if (s === "__proto__") return !0;
    const r = Number.isFinite(+s), c = o >= t.length;
    return s = !s && m.isArray(i) ? i.length : s, c ? (m.hasOwnProp(i, s) ? i[s] = [i[s], a] : i[s] = a, !r) : ((!i[s] || !m.isObject(i[s])) && (i[s] = []), n(t, a, i[s], o) && m.isArray(i[s]) && (i[s] = Ql(i[s])), !r);
  }
  if (m.isFormData(e) && m.isFunction(e.entries)) {
    const t = {};
    return m.forEachEntry(e, (a, i) => {
      n(Xl(a), i, t, 0);
    }), t;
  }
  return null;
}
function Zl(e, n, t) {
  if (m.isString(e))
    try {
      return (n || JSON.parse)(e), m.trim(e);
    } catch (a) {
      if (a.name !== "SyntaxError")
        throw a;
    }
  return (0, JSON.stringify)(e);
}
const nn = {
  transitional: ga,
  adapter: ["xhr", "http", "fetch"],
  transformRequest: [function(n, t) {
    const a = t.getContentType() || "", i = a.indexOf("application/json") > -1, o = m.isObject(n);
    if (o && m.isHTMLForm(n) && (n = new FormData(n)), m.isFormData(n))
      return i ? JSON.stringify(vo(n)) : n;
    if (m.isArrayBuffer(n) || m.isBuffer(n) || m.isStream(n) || m.isFile(n) || m.isBlob(n) || m.isReadableStream(n))
      return n;
    if (m.isArrayBufferView(n))
      return n.buffer;
    if (m.isURLSearchParams(n))
      return t.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), n.toString();
    let r;
    if (o) {
      if (a.indexOf("application/x-www-form-urlencoded") > -1)
        return Yl(n, this.formSerializer).toString();
      if ((r = m.isFileList(n)) || a.indexOf("multipart/form-data") > -1) {
        const c = this.env && this.env.FormData;
        return Mn(
          r ? { "files[]": n } : n,
          c && new c(),
          this.formSerializer
        );
      }
    }
    return o || i ? (t.setContentType("application/json", !1), Zl(n)) : n;
  }],
  transformResponse: [function(n) {
    const t = this.transitional || nn.transitional, a = t && t.forcedJSONParsing, i = this.responseType === "json";
    if (m.isResponse(n) || m.isReadableStream(n))
      return n;
    if (n && m.isString(n) && (a && !this.responseType || i)) {
      const s = !(t && t.silentJSONParsing) && i;
      try {
        return JSON.parse(n);
      } catch (r) {
        if (s)
          throw r.name === "SyntaxError" ? g.from(r, g.ERR_BAD_RESPONSE, this, null, this.response) : r;
      }
    }
    return n;
  }],
  /**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */
  timeout: 0,
  xsrfCookieName: "XSRF-TOKEN",
  xsrfHeaderName: "X-XSRF-TOKEN",
  maxContentLength: -1,
  maxBodyLength: -1,
  env: {
    FormData: P.classes.FormData,
    Blob: P.classes.Blob
  },
  validateStatus: function(n) {
    return n >= 200 && n < 300;
  },
  headers: {
    common: {
      Accept: "application/json, text/plain, */*",
      "Content-Type": void 0
    }
  }
};
m.forEach(["delete", "get", "head", "post", "put", "patch"], (e) => {
  nn.headers[e] = {};
});
const eu = m.toObjectSet([
  "age",
  "authorization",
  "content-length",
  "content-type",
  "etag",
  "expires",
  "from",
  "host",
  "if-modified-since",
  "if-unmodified-since",
  "last-modified",
  "location",
  "max-forwards",
  "proxy-authorization",
  "referer",
  "retry-after",
  "user-agent"
]), nu = (e) => {
  const n = {};
  let t, a, i;
  return e && e.split(`
`).forEach(function(s) {
    i = s.indexOf(":"), t = s.substring(0, i).trim().toLowerCase(), a = s.substring(i + 1).trim(), !(!t || n[t] && eu[t]) && (t === "set-cookie" ? n[t] ? n[t].push(a) : n[t] = [a] : n[t] = n[t] ? n[t] + ", " + a : a);
  }), n;
}, Li = Symbol("internals");
function $e(e) {
  return e && String(e).trim().toLowerCase();
}
function xn(e) {
  return e === !1 || e == null ? e : m.isArray(e) ? e.map(xn) : String(e);
}
function tu(e) {
  const n = /* @__PURE__ */ Object.create(null), t = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
  let a;
  for (; a = t.exec(e); )
    n[a[1]] = a[2];
  return n;
}
const au = (e) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());
function Rt(e, n, t, a, i) {
  if (m.isFunction(a))
    return a.call(this, n, t);
  if (i && (n = t), !!m.isString(n)) {
    if (m.isString(a))
      return n.indexOf(a) !== -1;
    if (m.isRegExp(a))
      return a.test(n);
  }
}
function iu(e) {
  return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (n, t, a) => t.toUpperCase() + a);
}
function su(e, n) {
  const t = m.toCamelCase(" " + n);
  ["get", "set", "has"].forEach((a) => {
    Object.defineProperty(e, a + t, {
      value: function(i, o, s) {
        return this[a].call(this, n, i, o, s);
      },
      configurable: !0
    });
  });
}
class I {
  constructor(n) {
    n && this.set(n);
  }
  set(n, t, a) {
    const i = this;
    function o(r, c, l) {
      const p = $e(c);
      if (!p)
        throw new Error("header name must be a non-empty string");
      const u = m.findKey(i, p);
      (!u || i[u] === void 0 || l === !0 || l === void 0 && i[u] !== !1) && (i[u || c] = xn(r));
    }
    const s = (r, c) => m.forEach(r, (l, p) => o(l, p, c));
    if (m.isPlainObject(n) || n instanceof this.constructor)
      s(n, t);
    else if (m.isString(n) && (n = n.trim()) && !au(n))
      s(nu(n), t);
    else if (m.isHeaders(n))
      for (const [r, c] of n.entries())
        o(c, r, a);
    else
      n != null && o(t, n, a);
    return this;
  }
  get(n, t) {
    if (n = $e(n), n) {
      const a = m.findKey(this, n);
      if (a) {
        const i = this[a];
        if (!t)
          return i;
        if (t === !0)
          return tu(i);
        if (m.isFunction(t))
          return t.call(this, i, a);
        if (m.isRegExp(t))
          return t.exec(i);
        throw new TypeError("parser must be boolean|regexp|function");
      }
    }
  }
  has(n, t) {
    if (n = $e(n), n) {
      const a = m.findKey(this, n);
      return !!(a && this[a] !== void 0 && (!t || Rt(this, this[a], a, t)));
    }
    return !1;
  }
  delete(n, t) {
    const a = this;
    let i = !1;
    function o(s) {
      if (s = $e(s), s) {
        const r = m.findKey(a, s);
        r && (!t || Rt(a, a[r], r, t)) && (delete a[r], i = !0);
      }
    }
    return m.isArray(n) ? n.forEach(o) : o(n), i;
  }
  clear(n) {
    const t = Object.keys(this);
    let a = t.length, i = !1;
    for (; a--; ) {
      const o = t[a];
      (!n || Rt(this, this[o], o, n, !0)) && (delete this[o], i = !0);
    }
    return i;
  }
  normalize(n) {
    const t = this, a = {};
    return m.forEach(this, (i, o) => {
      const s = m.findKey(a, o);
      if (s) {
        t[s] = xn(i), delete t[o];
        return;
      }
      const r = n ? iu(o) : String(o).trim();
      r !== o && delete t[o], t[r] = xn(i), a[r] = !0;
    }), this;
  }
  concat(...n) {
    return this.constructor.concat(this, ...n);
  }
  toJSON(n) {
    const t = /* @__PURE__ */ Object.create(null);
    return m.forEach(this, (a, i) => {
      a != null && a !== !1 && (t[i] = n && m.isArray(a) ? a.join(", ") : a);
    }), t;
  }
  [Symbol.iterator]() {
    return Object.entries(this.toJSON())[Symbol.iterator]();
  }
  toString() {
    return Object.entries(this.toJSON()).map(([n, t]) => n + ": " + t).join(`
`);
  }
  get [Symbol.toStringTag]() {
    return "AxiosHeaders";
  }
  static from(n) {
    return n instanceof this ? n : new this(n);
  }
  static concat(n, ...t) {
    const a = new this(n);
    return t.forEach((i) => a.set(i)), a;
  }
  static accessor(n) {
    const a = (this[Li] = this[Li] = {
      accessors: {}
    }).accessors, i = this.prototype;
    function o(s) {
      const r = $e(s);
      a[r] || (su(i, s), a[r] = !0);
    }
    return m.isArray(n) ? n.forEach(o) : o(n), this;
  }
}
I.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
m.reduceDescriptors(I.prototype, ({ value: e }, n) => {
  let t = n[0].toUpperCase() + n.slice(1);
  return {
    get: () => e,
    set(a) {
      this[t] = a;
    }
  };
});
m.freezeMethods(I);
function At(e, n) {
  const t = this || nn, a = n || t, i = I.from(a.headers);
  let o = a.data;
  return m.forEach(e, function(r) {
    o = r.call(t, o, i.normalize(), n ? n.status : void 0);
  }), i.normalize(), o;
}
function bo(e) {
  return !!(e && e.__CANCEL__);
}
function fe(e, n, t) {
  g.call(this, e ?? "canceled", g.ERR_CANCELED, n, t), this.name = "CanceledError";
}
m.inherits(fe, g, {
  __CANCEL__: !0
});
function Ne(e, n, t) {
  const a = t.config.validateStatus;
  !t.status || !a || a(t.status) ? e(t) : n(new g(
    "Request failed with status code " + t.status,
    [g.ERR_BAD_REQUEST, g.ERR_BAD_RESPONSE][Math.floor(t.status / 100) - 4],
    t.config,
    t.request,
    t
  ));
}
function ou(e) {
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(e);
}
function ru(e, n) {
  return n ? e.replace(/\/?\/$/, "") + "/" + n.replace(/^\/+/, "") : e;
}
function wa(e, n) {
  return e && !ou(n) ? ru(e, n) : n;
}
var cu = An.parse, pu = {
  ftp: 21,
  gopher: 70,
  http: 80,
  https: 443,
  ws: 80,
  wss: 443
}, lu = String.prototype.endsWith || function(e) {
  return e.length <= this.length && this.indexOf(e, this.length - e.length) !== -1;
};
function uu(e) {
  var n = typeof e == "string" ? cu(e) : e || {}, t = n.protocol, a = n.host, i = n.port;
  if (typeof a != "string" || !a || typeof t != "string" || (t = t.split(":", 1)[0], a = a.replace(/:\d*$/, ""), i = parseInt(i) || pu[t] || 0, !du(a, i)))
    return "";
  var o = Te("npm_config_" + t + "_proxy") || Te(t + "_proxy") || Te("npm_config_proxy") || Te("all_proxy");
  return o && o.indexOf("://") === -1 && (o = t + "://" + o), o;
}
function du(e, n) {
  var t = (Te("npm_config_no_proxy") || Te("no_proxy")).toLowerCase();
  return t ? t === "*" ? !1 : t.split(/[,\s]/).every(function(a) {
    if (!a)
      return !0;
    var i = a.match(/^(.+):(\d+)$/), o = i ? i[1] : a, s = i ? parseInt(i[2]) : 0;
    return s && s !== n ? !0 : /^[.*]/.test(o) ? (o.charAt(0) === "*" && (o = o.slice(1)), !lu.call(e, o)) : e !== o;
  }) : !0;
}
function Te(e) {
  return process.env[e.toLowerCase()] || process.env[e.toUpperCase()] || "";
}
var mu = uu, Ea = { exports: {} }, un = { exports: {} }, dn = { exports: {} }, Nt, Pi;
function fu() {
  if (Pi) return Nt;
  Pi = 1;
  var e = 1e3, n = e * 60, t = n * 60, a = t * 24, i = a * 7, o = a * 365.25;
  Nt = function(p, u) {
    u = u || {};
    var d = typeof p;
    if (d === "string" && p.length > 0)
      return s(p);
    if (d === "number" && isFinite(p))
      return u.long ? c(p) : r(p);
    throw new Error(
      "val is not a non-empty string or a valid number. val=" + JSON.stringify(p)
    );
  };
  function s(p) {
    if (p = String(p), !(p.length > 100)) {
      var u = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
        p
      );
      if (u) {
        var d = parseFloat(u[1]), x = (u[2] || "ms").toLowerCase();
        switch (x) {
          case "years":
          case "year":
          case "yrs":
          case "yr":
          case "y":
            return d * o;
          case "weeks":
          case "week":
          case "w":
            return d * i;
          case "days":
          case "day":
          case "d":
            return d * a;
          case "hours":
          case "hour":
          case "hrs":
          case "hr":
          case "h":
            return d * t;
          case "minutes":
          case "minute":
          case "mins":
          case "min":
          case "m":
            return d * n;
          case "seconds":
          case "second":
          case "secs":
          case "sec":
          case "s":
            return d * e;
          case "milliseconds":
          case "millisecond":
          case "msecs":
          case "msec":
          case "ms":
            return d;
          default:
            return;
        }
      }
    }
  }
  function r(p) {
    var u = Math.abs(p);
    return u >= a ? Math.round(p / a) + "d" : u >= t ? Math.round(p / t) + "h" : u >= n ? Math.round(p / n) + "m" : u >= e ? Math.round(p / e) + "s" : p + "ms";
  }
  function c(p) {
    var u = Math.abs(p);
    return u >= a ? l(p, u, a, "day") : u >= t ? l(p, u, t, "hour") : u >= n ? l(p, u, n, "minute") : u >= e ? l(p, u, e, "second") : p + " ms";
  }
  function l(p, u, d, x) {
    var h = u >= d * 1.5;
    return Math.round(p / d) + " " + x + (h ? "s" : "");
  }
  return Nt;
}
var Tt, zi;
function go() {
  if (zi) return Tt;
  zi = 1;
  function e(n) {
    a.debug = a, a.default = a, a.coerce = l, a.disable = s, a.enable = o, a.enabled = r, a.humanize = fu(), a.destroy = p, Object.keys(n).forEach((u) => {
      a[u] = n[u];
    }), a.names = [], a.skips = [], a.formatters = {};
    function t(u) {
      let d = 0;
      for (let x = 0; x < u.length; x++)
        d = (d << 5) - d + u.charCodeAt(x), d |= 0;
      return a.colors[Math.abs(d) % a.colors.length];
    }
    a.selectColor = t;
    function a(u) {
      let d, x = null, h, v;
      function f(...b) {
        if (!f.enabled)
          return;
        const y = f, w = Number(/* @__PURE__ */ new Date()), R = w - (d || w);
        y.diff = R, y.prev = d, y.curr = w, d = w, b[0] = a.coerce(b[0]), typeof b[0] != "string" && b.unshift("%O");
        let E = 0;
        b[0] = b[0].replace(/%([a-zA-Z%])/g, (A, L) => {
          if (A === "%%")
            return "%";
          E++;
          const Z = a.formatters[L];
          if (typeof Z == "function") {
            const Re = b[E];
            A = Z.call(y, Re), b.splice(E, 1), E--;
          }
          return A;
        }), a.formatArgs.call(y, b), (y.log || a.log).apply(y, b);
      }
      return f.namespace = u, f.useColors = a.useColors(), f.color = a.selectColor(u), f.extend = i, f.destroy = a.destroy, Object.defineProperty(f, "enabled", {
        enumerable: !0,
        configurable: !1,
        get: () => x !== null ? x : (h !== a.namespaces && (h = a.namespaces, v = a.enabled(u)), v),
        set: (b) => {
          x = b;
        }
      }), typeof a.init == "function" && a.init(f), f;
    }
    function i(u, d) {
      const x = a(this.namespace + (typeof d > "u" ? ":" : d) + u);
      return x.log = this.log, x;
    }
    function o(u) {
      a.save(u), a.namespaces = u, a.names = [], a.skips = [];
      let d;
      const x = (typeof u == "string" ? u : "").split(/[\s,]+/), h = x.length;
      for (d = 0; d < h; d++)
        x[d] && (u = x[d].replace(/\*/g, ".*?"), u[0] === "-" ? a.skips.push(new RegExp("^" + u.slice(1) + "$")) : a.names.push(new RegExp("^" + u + "$")));
    }
    function s() {
      const u = [
        ...a.names.map(c),
        ...a.skips.map(c).map((d) => "-" + d)
      ].join(",");
      return a.enable(""), u;
    }
    function r(u) {
      if (u[u.length - 1] === "*")
        return !0;
      let d, x;
      for (d = 0, x = a.skips.length; d < x; d++)
        if (a.skips[d].test(u))
          return !1;
      for (d = 0, x = a.names.length; d < x; d++)
        if (a.names[d].test(u))
          return !0;
      return !1;
    }
    function c(u) {
      return u.toString().substring(2, u.toString().length - 2).replace(/\.\*\?$/, "*");
    }
    function l(u) {
      return u instanceof Error ? u.stack || u.message : u;
    }
    function p() {
      console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
    }
    return a.enable(a.load()), a;
  }
  return Tt = e, Tt;
}
var Bi;
function hu() {
  return Bi || (Bi = 1, function(e, n) {
    n.formatArgs = a, n.save = i, n.load = o, n.useColors = t, n.storage = s(), n.destroy = /* @__PURE__ */ (() => {
      let c = !1;
      return () => {
        c || (c = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));
      };
    })(), n.colors = [
      "#0000CC",
      "#0000FF",
      "#0033CC",
      "#0033FF",
      "#0066CC",
      "#0066FF",
      "#0099CC",
      "#0099FF",
      "#00CC00",
      "#00CC33",
      "#00CC66",
      "#00CC99",
      "#00CCCC",
      "#00CCFF",
      "#3300CC",
      "#3300FF",
      "#3333CC",
      "#3333FF",
      "#3366CC",
      "#3366FF",
      "#3399CC",
      "#3399FF",
      "#33CC00",
      "#33CC33",
      "#33CC66",
      "#33CC99",
      "#33CCCC",
      "#33CCFF",
      "#6600CC",
      "#6600FF",
      "#6633CC",
      "#6633FF",
      "#66CC00",
      "#66CC33",
      "#9900CC",
      "#9900FF",
      "#9933CC",
      "#9933FF",
      "#99CC00",
      "#99CC33",
      "#CC0000",
      "#CC0033",
      "#CC0066",
      "#CC0099",
      "#CC00CC",
      "#CC00FF",
      "#CC3300",
      "#CC3333",
      "#CC3366",
      "#CC3399",
      "#CC33CC",
      "#CC33FF",
      "#CC6600",
      "#CC6633",
      "#CC9900",
      "#CC9933",
      "#CCCC00",
      "#CCCC33",
      "#FF0000",
      "#FF0033",
      "#FF0066",
      "#FF0099",
      "#FF00CC",
      "#FF00FF",
      "#FF3300",
      "#FF3333",
      "#FF3366",
      "#FF3399",
      "#FF33CC",
      "#FF33FF",
      "#FF6600",
      "#FF6633",
      "#FF9900",
      "#FF9933",
      "#FFCC00",
      "#FFCC33"
    ];
    function t() {
      if (typeof window < "u" && window.process && (window.process.type === "renderer" || window.process.__nwjs))
        return !0;
      if (typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))
        return !1;
      let c;
      return typeof document < "u" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
      typeof window < "u" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
      typeof navigator < "u" && navigator.userAgent && (c = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(c[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
      typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
    }
    function a(c) {
      if (c[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + c[0] + (this.useColors ? "%c " : " ") + "+" + e.exports.humanize(this.diff), !this.useColors)
        return;
      const l = "color: " + this.color;
      c.splice(1, 0, l, "color: inherit");
      let p = 0, u = 0;
      c[0].replace(/%[a-zA-Z%]/g, (d) => {
        d !== "%%" && (p++, d === "%c" && (u = p));
      }), c.splice(u, 0, l);
    }
    n.log = console.debug || console.log || (() => {
    });
    function i(c) {
      try {
        c ? n.storage.setItem("debug", c) : n.storage.removeItem("debug");
      } catch {
      }
    }
    function o() {
      let c;
      try {
        c = n.storage.getItem("debug");
      } catch {
      }
      return !c && typeof process < "u" && "env" in process && (c = process.env.DEBUG), c;
    }
    function s() {
      try {
        return localStorage;
      } catch {
      }
    }
    e.exports = go()(n);
    const { formatters: r } = e.exports;
    r.j = function(c) {
      try {
        return JSON.stringify(c);
      } catch (l) {
        return "[UnexpectedJSONParseError]: " + l.message;
      }
    };
  }(dn, dn.exports)), dn.exports;
}
var mn = { exports: {} }, Ft, qi;
function xu() {
  if (qi) return Ft;
  qi = 1;
  function e() {
    const t = /(Chrome|Chromium)\/(?<chromeVersion>\d+)\./.exec(navigator.userAgent);
    if (t)
      return Number.parseInt(t.groups.chromeVersion, 10);
  }
  const n = e() >= 69 ? {
    level: 1,
    hasBasic: !0,
    has256: !1,
    has16m: !1
  } : !1;
  return Ft = {
    stdout: n,
    stderr: n
  }, Ft;
}
var Ii;
function vu() {
  return Ii || (Ii = 1, function(e, n) {
    const t = Wo, a = qe;
    n.init = p, n.log = r, n.formatArgs = o, n.save = c, n.load = l, n.useColors = i, n.destroy = a.deprecate(
      () => {
      },
      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
    ), n.colors = [6, 2, 3, 4, 5, 1];
    try {
      const d = xu();
      d && (d.stderr || d).level >= 2 && (n.colors = [
        20,
        21,
        26,
        27,
        32,
        33,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        56,
        57,
        62,
        63,
        68,
        69,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        92,
        93,
        98,
        99,
        112,
        113,
        128,
        129,
        134,
        135,
        148,
        149,
        160,
        161,
        162,
        163,
        164,
        165,
        166,
        167,
        168,
        169,
        170,
        171,
        172,
        173,
        178,
        179,
        184,
        185,
        196,
        197,
        198,
        199,
        200,
        201,
        202,
        203,
        204,
        205,
        206,
        207,
        208,
        209,
        214,
        215,
        220,
        221
      ]);
    } catch {
    }
    n.inspectOpts = Object.keys(process.env).filter((d) => /^debug_/i.test(d)).reduce((d, x) => {
      const h = x.substring(6).toLowerCase().replace(/_([a-z])/g, (f, b) => b.toUpperCase());
      let v = process.env[x];
      return /^(yes|on|true|enabled)$/i.test(v) ? v = !0 : /^(no|off|false|disabled)$/i.test(v) ? v = !1 : v === "null" ? v = null : v = Number(v), d[h] = v, d;
    }, {});
    function i() {
      return "colors" in n.inspectOpts ? !!n.inspectOpts.colors : t.isatty(process.stderr.fd);
    }
    function o(d) {
      const { namespace: x, useColors: h } = this;
      if (h) {
        const v = this.color, f = "\x1B[3" + (v < 8 ? v : "8;5;" + v), b = `  ${f};1m${x} \x1B[0m`;
        d[0] = b + d[0].split(`
`).join(`
` + b), d.push(f + "m+" + e.exports.humanize(this.diff) + "\x1B[0m");
      } else
        d[0] = s() + x + " " + d[0];
    }
    function s() {
      return n.inspectOpts.hideDate ? "" : (/* @__PURE__ */ new Date()).toISOString() + " ";
    }
    function r(...d) {
      return process.stderr.write(a.formatWithOptions(n.inspectOpts, ...d) + `
`);
    }
    function c(d) {
      d ? process.env.DEBUG = d : delete process.env.DEBUG;
    }
    function l() {
      return process.env.DEBUG;
    }
    function p(d) {
      d.inspectOpts = {};
      const x = Object.keys(n.inspectOpts);
      for (let h = 0; h < x.length; h++)
        d.inspectOpts[x[h]] = n.inspectOpts[x[h]];
    }
    e.exports = go()(n);
    const { formatters: u } = e.exports;
    u.o = function(d) {
      return this.inspectOpts.colors = this.useColors, a.inspect(d, this.inspectOpts).split(`
`).map((x) => x.trim()).join(" ");
    }, u.O = function(d) {
      return this.inspectOpts.colors = this.useColors, a.inspect(d, this.inspectOpts);
    };
  }(mn, mn.exports)), mn.exports;
}
var Ui;
function bu() {
  return Ui || (Ui = 1, typeof process > "u" || process.type === "renderer" || process.browser === !0 || process.__nwjs ? un.exports = hu() : un.exports = vu()), un.exports;
}
var Me, gu = function() {
  if (!Me) {
    try {
      Me = bu()("follow-redirects");
    } catch {
    }
    typeof Me != "function" && (Me = function() {
    });
  }
  Me.apply(null, arguments);
}, tn = An, Ke = tn.URL, yu = Cn, wu = Rn, _a = ne.Writable, ka = Ho, yo = gu, Sa = !1;
try {
  ka(new Ke());
} catch (e) {
  Sa = e.code === "ERR_INVALID_URL";
}
var Eu = [
  "auth",
  "host",
  "hostname",
  "href",
  "path",
  "pathname",
  "port",
  "protocol",
  "query",
  "search",
  "hash"
], Oa = ["abort", "aborted", "connect", "error", "socket", "timeout"], ja = /* @__PURE__ */ Object.create(null);
Oa.forEach(function(e) {
  ja[e] = function(n, t, a) {
    this._redirectable.emit(e, n, t, a);
  };
});
var Xt = an(
  "ERR_INVALID_URL",
  "Invalid URL",
  TypeError
), Qt = an(
  "ERR_FR_REDIRECTION_FAILURE",
  "Redirected request failed"
), _u = an(
  "ERR_FR_TOO_MANY_REDIRECTS",
  "Maximum number of redirects exceeded",
  Qt
), ku = an(
  "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
  "Request body larger than maxBodyLength limit"
), Su = an(
  "ERR_STREAM_WRITE_AFTER_END",
  "write after end"
), Ou = _a.prototype.destroy || Eo;
function G(e, n) {
  _a.call(this), this._sanitizeOptions(e), this._options = e, this._ended = !1, this._ending = !1, this._redirectCount = 0, this._redirects = [], this._requestBodyLength = 0, this._requestBodyBuffers = [], n && this.on("response", n);
  var t = this;
  this._onNativeResponse = function(a) {
    try {
      t._processResponse(a);
    } catch (i) {
      t.emit("error", i instanceof Qt ? i : new Qt({ cause: i }));
    }
  }, this._performRequest();
}
G.prototype = Object.create(_a.prototype);
G.prototype.abort = function() {
  Ra(this._currentRequest), this._currentRequest.abort(), this.emit("abort");
};
G.prototype.destroy = function(e) {
  return Ra(this._currentRequest, e), Ou.call(this, e), this;
};
G.prototype.write = function(e, n, t) {
  if (this._ending)
    throw new Su();
  if (!_e(e) && !Ru(e))
    throw new TypeError("data should be a string, Buffer or Uint8Array");
  if (Ge(n) && (t = n, n = null), e.length === 0) {
    t && t();
    return;
  }
  this._requestBodyLength + e.length <= this._options.maxBodyLength ? (this._requestBodyLength += e.length, this._requestBodyBuffers.push({ data: e, encoding: n }), this._currentRequest.write(e, n, t)) : (this.emit("error", new ku()), this.abort());
};
G.prototype.end = function(e, n, t) {
  if (Ge(e) ? (t = e, e = n = null) : Ge(n) && (t = n, n = null), !e)
    this._ended = this._ending = !0, this._currentRequest.end(null, null, t);
  else {
    var a = this, i = this._currentRequest;
    this.write(e, n, function() {
      a._ended = !0, i.end(null, null, t);
    }), this._ending = !0;
  }
};
G.prototype.setHeader = function(e, n) {
  this._options.headers[e] = n, this._currentRequest.setHeader(e, n);
};
G.prototype.removeHeader = function(e) {
  delete this._options.headers[e], this._currentRequest.removeHeader(e);
};
G.prototype.setTimeout = function(e, n) {
  var t = this;
  function a(s) {
    s.setTimeout(e), s.removeListener("timeout", s.destroy), s.addListener("timeout", s.destroy);
  }
  function i(s) {
    t._timeout && clearTimeout(t._timeout), t._timeout = setTimeout(function() {
      t.emit("timeout"), o();
    }, e), a(s);
  }
  function o() {
    t._timeout && (clearTimeout(t._timeout), t._timeout = null), t.removeListener("abort", o), t.removeListener("error", o), t.removeListener("response", o), t.removeListener("close", o), n && t.removeListener("timeout", n), t.socket || t._currentRequest.removeListener("socket", i);
  }
  return n && this.on("timeout", n), this.socket ? i(this.socket) : this._currentRequest.once("socket", i), this.on("socket", a), this.on("abort", o), this.on("error", o), this.on("response", o), this.on("close", o), this;
};
[
  "flushHeaders",
  "getHeader",
  "setNoDelay",
  "setSocketKeepAlive"
].forEach(function(e) {
  G.prototype[e] = function(n, t) {
    return this._currentRequest[e](n, t);
  };
});
["aborted", "connection", "socket"].forEach(function(e) {
  Object.defineProperty(G.prototype, e, {
    get: function() {
      return this._currentRequest[e];
    }
  });
});
G.prototype._sanitizeOptions = function(e) {
  if (e.headers || (e.headers = {}), e.host && (e.hostname || (e.hostname = e.host), delete e.host), !e.pathname && e.path) {
    var n = e.path.indexOf("?");
    n < 0 ? e.pathname = e.path : (e.pathname = e.path.substring(0, n), e.search = e.path.substring(n));
  }
};
G.prototype._performRequest = function() {
  var e = this._options.protocol, n = this._options.nativeProtocols[e];
  if (!n)
    throw new TypeError("Unsupported protocol " + e);
  if (this._options.agents) {
    var t = e.slice(0, -1);
    this._options.agent = this._options.agents[t];
  }
  var a = this._currentRequest = n.request(this._options, this._onNativeResponse);
  a._redirectable = this;
  for (var i of Oa)
    a.on(i, ja[i]);
  if (this._currentUrl = /^\//.test(this._options.path) ? tn.format(this._options) : (
    // When making a request to a proxy, […]
    // a client MUST send the target URI in absolute-form […].
    this._options.path
  ), this._isRedirect) {
    var o = 0, s = this, r = this._requestBodyBuffers;
    (function c(l) {
      if (a === s._currentRequest)
        if (l)
          s.emit("error", l);
        else if (o < r.length) {
          var p = r[o++];
          a.finished || a.write(p.data, p.encoding, c);
        } else s._ended && a.end();
    })();
  }
};
G.prototype._processResponse = function(e) {
  var n = e.statusCode;
  this._options.trackRedirects && this._redirects.push({
    url: this._currentUrl,
    headers: e.headers,
    statusCode: n
  });
  var t = e.headers.location;
  if (!t || this._options.followRedirects === !1 || n < 300 || n >= 400) {
    e.responseUrl = this._currentUrl, e.redirects = this._redirects, this.emit("response", e), this._requestBodyBuffers = [];
    return;
  }
  if (Ra(this._currentRequest), e.destroy(), ++this._redirectCount > this._options.maxRedirects)
    throw new _u();
  var a, i = this._options.beforeRedirect;
  i && (a = Object.assign({
    // The Host header was set by nativeProtocol.request
    Host: e.req.getHeader("host")
  }, this._options.headers));
  var o = this._options.method;
  ((n === 301 || n === 302) && this._options.method === "POST" || // RFC7231§6.4.4: The 303 (See Other) status code indicates that
  // the server is redirecting the user agent to a different resource […]
  // A user agent can perform a retrieval request targeting that URI
  // (a GET or HEAD request if using HTTP) […]
  n === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) && (this._options.method = "GET", this._requestBodyBuffers = [], Dt(/^content-/i, this._options.headers));
  var s = Dt(/^host$/i, this._options.headers), r = Ca(this._currentUrl), c = s || r.host, l = /^\w+:/.test(t) ? this._currentUrl : tn.format(Object.assign(r, { host: c })), p = ju(t, l);
  if (yo("redirecting to", p.href), this._isRedirect = !0, Zt(p, this._options), (p.protocol !== r.protocol && p.protocol !== "https:" || p.host !== c && !Cu(p.host, c)) && Dt(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers), Ge(i)) {
    var u = {
      headers: e.headers,
      statusCode: n
    }, d = {
      url: l,
      method: o,
      headers: a
    };
    i(this._options, u, d), this._sanitizeOptions(this._options);
  }
  this._performRequest();
};
function wo(e) {
  var n = {
    maxRedirects: 21,
    maxBodyLength: 10485760
  }, t = {};
  return Object.keys(e).forEach(function(a) {
    var i = a + ":", o = t[i] = e[a], s = n[a] = Object.create(o);
    function r(l, p, u) {
      return Au(l) ? l = Zt(l) : _e(l) ? l = Zt(Ca(l)) : (u = p, p = _o(l), l = { protocol: i }), Ge(p) && (u = p, p = null), p = Object.assign({
        maxRedirects: n.maxRedirects,
        maxBodyLength: n.maxBodyLength
      }, l, p), p.nativeProtocols = t, !_e(p.host) && !_e(p.hostname) && (p.hostname = "::1"), ka.equal(p.protocol, i, "protocol mismatch"), yo("options", p), new G(p, u);
    }
    function c(l, p, u) {
      var d = s.request(l, p, u);
      return d.end(), d;
    }
    Object.defineProperties(s, {
      request: { value: r, configurable: !0, enumerable: !0, writable: !0 },
      get: { value: c, configurable: !0, enumerable: !0, writable: !0 }
    });
  }), n;
}
function Eo() {
}
function Ca(e) {
  var n;
  if (Sa)
    n = new Ke(e);
  else if (n = _o(tn.parse(e)), !_e(n.protocol))
    throw new Xt({ input: e });
  return n;
}
function ju(e, n) {
  return Sa ? new Ke(e, n) : Ca(tn.resolve(n, e));
}
function _o(e) {
  if (/^\[/.test(e.hostname) && !/^\[[:0-9a-f]+\]$/i.test(e.hostname))
    throw new Xt({ input: e.href || e });
  if (/^\[/.test(e.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(e.host))
    throw new Xt({ input: e.href || e });
  return e;
}
function Zt(e, n) {
  var t = n || {};
  for (var a of Eu)
    t[a] = e[a];
  return t.hostname.startsWith("[") && (t.hostname = t.hostname.slice(1, -1)), t.port !== "" && (t.port = Number(t.port)), t.path = t.search ? t.pathname + t.search : t.pathname, t;
}
function Dt(e, n) {
  var t;
  for (var a in n)
    e.test(a) && (t = n[a], delete n[a]);
  return t === null || typeof t > "u" ? void 0 : String(t).trim();
}
function an(e, n, t) {
  function a(i) {
    Error.captureStackTrace(this, this.constructor), Object.assign(this, i || {}), this.code = e, this.message = this.cause ? n + ": " + this.cause.message : n;
  }
  return a.prototype = new (t || Error)(), Object.defineProperties(a.prototype, {
    constructor: {
      value: a,
      enumerable: !1
    },
    name: {
      value: "Error [" + e + "]",
      enumerable: !1
    }
  }), a;
}
function Ra(e, n) {
  for (var t of Oa)
    e.removeListener(t, ja[t]);
  e.on("error", Eo), e.destroy(n);
}
function Cu(e, n) {
  ka(_e(e) && _e(n));
  var t = e.length - n.length - 1;
  return t > 0 && e[t] === "." && e.endsWith(n);
}
function _e(e) {
  return typeof e == "string" || e instanceof String;
}
function Ge(e) {
  return typeof e == "function";
}
function Ru(e) {
  return typeof e == "object" && "length" in e;
}
function Au(e) {
  return Ke && e instanceof Ke;
}
Ea.exports = wo({ http: yu, https: wu });
Ea.exports.wrap = wo;
var Nu = Ea.exports;
const Tu = /* @__PURE__ */ Pn(Nu), _n = "1.7.7";
function ko(e) {
  const n = /^([-+\w]{1,25})(:?\/\/|:)/.exec(e);
  return n && n[1] || "";
}
const Fu = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
function Du(e, n, t) {
  const a = t && t.Blob || P.classes.Blob, i = ko(e);
  if (n === void 0 && a && (n = !0), i === "data") {
    e = i.length ? e.slice(i.length + 1) : e;
    const o = Fu.exec(e);
    if (!o)
      throw new g("Invalid URL", g.ERR_INVALID_URL);
    const s = o[1], r = o[2], c = o[3], l = Buffer.from(decodeURIComponent(c), r ? "base64" : "utf8");
    if (n) {
      if (!a)
        throw new g("Blob is not supported", g.ERR_NOT_SUPPORT);
      return new a([l], { type: s });
    }
    return l;
  }
  throw new g("Unsupported protocol " + i, g.ERR_NOT_SUPPORT);
}
const Lt = Symbol("internals");
class $i extends ne.Transform {
  constructor(n) {
    n = m.toFlatObject(n, {
      maxRate: 0,
      chunkSize: 64 * 1024,
      minChunkSize: 100,
      timeWindow: 500,
      ticksRate: 2,
      samplesCount: 15
    }, null, (a, i) => !m.isUndefined(i[a])), super({
      readableHighWaterMark: n.chunkSize
    });
    const t = this[Lt] = {
      timeWindow: n.timeWindow,
      chunkSize: n.chunkSize,
      maxRate: n.maxRate,
      minChunkSize: n.minChunkSize,
      bytesSeen: 0,
      isCaptured: !1,
      notifiedBytesLoaded: 0,
      ts: Date.now(),
      bytes: 0,
      onReadCallback: null
    };
    this.on("newListener", (a) => {
      a === "progress" && (t.isCaptured || (t.isCaptured = !0));
    });
  }
  _read(n) {
    const t = this[Lt];
    return t.onReadCallback && t.onReadCallback(), super._read(n);
  }
  _transform(n, t, a) {
    const i = this[Lt], o = i.maxRate, s = this.readableHighWaterMark, r = i.timeWindow, c = 1e3 / r, l = o / c, p = i.minChunkSize !== !1 ? Math.max(i.minChunkSize, l * 0.01) : 0, u = (x, h) => {
      const v = Buffer.byteLength(x);
      i.bytesSeen += v, i.bytes += v, i.isCaptured && this.emit("progress", i.bytesSeen), this.push(x) ? process.nextTick(h) : i.onReadCallback = () => {
        i.onReadCallback = null, process.nextTick(h);
      };
    }, d = (x, h) => {
      const v = Buffer.byteLength(x);
      let f = null, b = s, y, w = 0;
      if (o) {
        const R = Date.now();
        (!i.ts || (w = R - i.ts) >= r) && (i.ts = R, y = l - i.bytes, i.bytes = y < 0 ? -y : 0, w = 0), y = l - i.bytes;
      }
      if (o) {
        if (y <= 0)
          return setTimeout(() => {
            h(null, x);
          }, r - w);
        y < b && (b = y);
      }
      b && v > b && v - b > p && (f = x.subarray(b), x = x.subarray(0, b)), u(x, f ? () => {
        process.nextTick(h, null, f);
      } : h);
    };
    d(n, function x(h, v) {
      if (h)
        return a(h);
      v ? d(v, x) : a(null);
    });
  }
}
const { asyncIterator: Mi } = Symbol, So = async function* (e) {
  e.stream ? yield* e.stream() : e.arrayBuffer ? yield await e.arrayBuffer() : e[Mi] ? yield* e[Mi]() : yield e;
}, Lu = m.ALPHABET.ALPHA_DIGIT + "-_", Ye = new $o(), de = `\r
`, Pu = Ye.encode(de), zu = 2;
class Bu {
  constructor(n, t) {
    const { escapeName: a } = this.constructor, i = m.isString(t);
    let o = `Content-Disposition: form-data; name="${a(n)}"${!i && t.name ? `; filename="${a(t.name)}"` : ""}${de}`;
    i ? t = Ye.encode(String(t).replace(/\r?\n|\r\n?/g, de)) : o += `Content-Type: ${t.type || "application/octet-stream"}${de}`, this.headers = Ye.encode(o + de), this.contentLength = i ? t.byteLength : t.size, this.size = this.headers.byteLength + this.contentLength + zu, this.name = n, this.value = t;
  }
  async *encode() {
    yield this.headers;
    const { value: n } = this;
    m.isTypedArray(n) ? yield n : yield* So(n), yield Pu;
  }
  static escapeName(n) {
    return String(n).replace(/[\r\n"]/g, (t) => ({
      "\r": "%0D",
      "\n": "%0A",
      '"': "%22"
    })[t]);
  }
}
const qu = (e, n, t) => {
  const {
    tag: a = "form-data-boundary",
    size: i = 25,
    boundary: o = a + "-" + m.generateString(i, Lu)
  } = t || {};
  if (!m.isFormData(e))
    throw TypeError("FormData instance required");
  if (o.length < 1 || o.length > 70)
    throw Error("boundary must be 10-70 characters long");
  const s = Ye.encode("--" + o + de), r = Ye.encode("--" + o + "--" + de + de);
  let c = r.byteLength;
  const l = Array.from(e.entries()).map(([u, d]) => {
    const x = new Bu(u, d);
    return c += x.size, x;
  });
  c += s.byteLength * l.length, c = m.toFiniteNumber(c);
  const p = {
    "Content-Type": `multipart/form-data; boundary=${o}`
  };
  return Number.isFinite(c) && (p["Content-Length"] = c), n && n(p), Vo.from(async function* () {
    for (const u of l)
      yield s, yield* u.encode();
    yield r;
  }());
};
class Iu extends ne.Transform {
  __transform(n, t, a) {
    this.push(n), a();
  }
  _transform(n, t, a) {
    if (n.length !== 0 && (this._transform = this.__transform, n[0] !== 120)) {
      const i = Buffer.alloc(2);
      i[0] = 120, i[1] = 156, this.push(i, t);
    }
    this.__transform(n, t, a);
  }
}
const Uu = (e, n) => m.isAsyncFn(e) ? function(...t) {
  const a = t.pop();
  e.apply(this, t).then((i) => {
    try {
      n ? a(null, ...n(i)) : a(null, i);
    } catch (o) {
      a(o);
    }
  }, a);
} : e;
function $u(e, n) {
  e = e || 10;
  const t = new Array(e), a = new Array(e);
  let i = 0, o = 0, s;
  return n = n !== void 0 ? n : 1e3, function(c) {
    const l = Date.now(), p = a[o];
    s || (s = l), t[i] = c, a[i] = l;
    let u = o, d = 0;
    for (; u !== i; )
      d += t[u++], u = u % e;
    if (i = (i + 1) % e, i === o && (o = (o + 1) % e), l - s < n)
      return;
    const x = p && l - p;
    return x ? Math.round(d * 1e3 / x) : void 0;
  };
}
function Mu(e, n) {
  let t = 0, a = 1e3 / n, i, o;
  const s = (l, p = Date.now()) => {
    t = p, i = null, o && (clearTimeout(o), o = null), e.apply(null, l);
  };
  return [(...l) => {
    const p = Date.now(), u = p - t;
    u >= a ? s(l, p) : (i = l, o || (o = setTimeout(() => {
      o = null, s(i);
    }, a - u)));
  }, () => i && s(i)];
}
const ze = (e, n, t = 3) => {
  let a = 0;
  const i = $u(50, 250);
  return Mu((o) => {
    const s = o.loaded, r = o.lengthComputable ? o.total : void 0, c = s - a, l = i(c), p = s <= r;
    a = s;
    const u = {
      loaded: s,
      total: r,
      progress: r ? s / r : void 0,
      bytes: c,
      rate: l || void 0,
      estimated: l && r && p ? (r - s) / l : void 0,
      event: o,
      lengthComputable: r != null,
      [n ? "download" : "upload"]: !0
    };
    e(u);
  }, t);
}, kn = (e, n) => {
  const t = e != null;
  return [(a) => n[0]({
    lengthComputable: t,
    total: e,
    loaded: a
  }), n[1]];
}, Sn = (e) => (...n) => m.asap(() => e(...n)), Vi = {
  flush: me.constants.Z_SYNC_FLUSH,
  finishFlush: me.constants.Z_SYNC_FLUSH
}, Vu = {
  flush: me.constants.BROTLI_OPERATION_FLUSH,
  finishFlush: me.constants.BROTLI_OPERATION_FLUSH
}, Hi = m.isFunction(me.createBrotliDecompress), { http: Hu, https: Wu } = Tu, Ju = /https:?/, Wi = P.protocols.map((e) => e + ":"), Ji = (e, [n, t]) => (e.on("end", t).on("error", t), n);
function Ku(e, n) {
  e.beforeRedirects.proxy && e.beforeRedirects.proxy(e), e.beforeRedirects.config && e.beforeRedirects.config(e, n);
}
function Oo(e, n, t) {
  let a = n;
  if (!a && a !== !1) {
    const i = mu(t);
    i && (a = new URL(i));
  }
  if (a) {
    if (a.username && (a.auth = (a.username || "") + ":" + (a.password || "")), a.auth) {
      (a.auth.username || a.auth.password) && (a.auth = (a.auth.username || "") + ":" + (a.auth.password || ""));
      const o = Buffer.from(a.auth, "utf8").toString("base64");
      e.headers["Proxy-Authorization"] = "Basic " + o;
    }
    e.headers.host = e.hostname + (e.port ? ":" + e.port : "");
    const i = a.hostname || a.host;
    e.hostname = i, e.host = i, e.port = a.port, e.path = t, a.protocol && (e.protocol = a.protocol.includes(":") ? a.protocol : `${a.protocol}:`);
  }
  e.beforeRedirects.proxy = function(o) {
    Oo(o, n, o.href);
  };
}
const Gu = typeof process < "u" && m.kindOf(process) === "process", Yu = (e) => new Promise((n, t) => {
  let a, i;
  const o = (c, l) => {
    i || (i = !0, a && a(c, l));
  }, s = (c) => {
    o(c), n(c);
  }, r = (c) => {
    o(c, !0), t(c);
  };
  e(s, r, (c) => a = c).catch(r);
}), Xu = ({ address: e, family: n }) => {
  if (!m.isString(e))
    throw TypeError("address must be a string");
  return {
    address: e,
    family: n || (e.indexOf(".") < 0 ? 6 : 4)
  };
}, Ki = (e, n) => Xu(m.isObject(e) ? e : { address: e, family: n }), Qu = Gu && function(n) {
  return Yu(async function(a, i, o) {
    let { data: s, lookup: r, family: c } = n;
    const { responseType: l, responseEncoding: p } = n, u = n.method.toUpperCase();
    let d, x = !1, h;
    if (r) {
      const O = Uu(r, (k) => m.isArray(k) ? k : [k]);
      r = (k, U, xe) => {
        O(k, U, (z, pe, Wn) => {
          if (z)
            return xe(z);
          const oe = m.isArray(pe) ? pe.map((ee) => Ki(ee)) : [Ki(pe, Wn)];
          U.all ? xe(z, oe) : xe(z, oe[0].address, oe[0].family);
        });
      };
    }
    const v = new Mo(), f = () => {
      n.cancelToken && n.cancelToken.unsubscribe(b), n.signal && n.signal.removeEventListener("abort", b), v.removeAllListeners();
    };
    o((O, k) => {
      d = !0, k && (x = !0, f());
    });
    function b(O) {
      v.emit("abort", !O || O.type ? new fe(null, n, h) : O);
    }
    v.once("abort", i), (n.cancelToken || n.signal) && (n.cancelToken && n.cancelToken.subscribe(b), n.signal && (n.signal.aborted ? b() : n.signal.addEventListener("abort", b)));
    const y = wa(n.baseURL, n.url), w = new URL(y, P.hasBrowserEnv ? P.origin : void 0), R = w.protocol || Wi[0];
    if (R === "data:") {
      let O;
      if (u !== "GET")
        return Ne(a, i, {
          status: 405,
          statusText: "method not allowed",
          headers: {},
          config: n
        });
      try {
        O = Du(n.url, l === "blob", {
          Blob: n.env && n.env.Blob
        });
      } catch (k) {
        throw g.from(k, g.ERR_BAD_REQUEST, n);
      }
      return l === "text" ? (O = O.toString(p), (!p || p === "utf8") && (O = m.stripBOM(O))) : l === "stream" && (O = ne.Readable.from(O)), Ne(a, i, {
        data: O,
        status: 200,
        statusText: "OK",
        headers: new I(),
        config: n
      });
    }
    if (Wi.indexOf(R) === -1)
      return i(new g(
        "Unsupported protocol " + R,
        g.ERR_BAD_REQUEST,
        n
      ));
    const E = I.from(n.headers).normalize();
    E.set("User-Agent", "axios/" + _n, !1);
    const { onUploadProgress: j, onDownloadProgress: A } = n, L = n.maxRate;
    let Z, Re;
    if (m.isSpecCompliantForm(s)) {
      const O = E.getContentType(/boundary=([-_\w\d]{10,70})/i);
      s = qu(s, (k) => {
        E.set(k);
      }, {
        tag: `axios-${_n}-boundary`,
        boundary: O && O[1] || void 0
      });
    } else if (m.isFormData(s) && m.isFunction(s.getHeaders)) {
      if (E.set(s.getHeaders()), !E.hasContentLength())
        try {
          const O = await qe.promisify(s.getLength).call(s);
          Number.isFinite(O) && O >= 0 && E.setContentLength(O);
        } catch {
        }
    } else if (m.isBlob(s))
      s.size && E.setContentType(s.type || "application/octet-stream"), E.setContentLength(s.size || 0), s = ne.Readable.from(So(s));
    else if (s && !m.isStream(s)) {
      if (!Buffer.isBuffer(s)) if (m.isArrayBuffer(s))
        s = Buffer.from(new Uint8Array(s));
      else if (m.isString(s))
        s = Buffer.from(s, "utf-8");
      else
        return i(new g(
          "Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",
          g.ERR_BAD_REQUEST,
          n
        ));
      if (E.setContentLength(s.length, !1), n.maxBodyLength > -1 && s.length > n.maxBodyLength)
        return i(new g(
          "Request body larger than maxBodyLength limit",
          g.ERR_BAD_REQUEST,
          n
        ));
    }
    const To = m.toFiniteNumber(E.getContentLength());
    m.isArray(L) ? (Z = L[0], Re = L[1]) : Z = Re = L, s && (j || Z) && (m.isStream(s) || (s = ne.Readable.from(s, { objectMode: !1 })), s = ne.pipeline([s, new $i({
      maxRate: m.toFiniteNumber(Z)
    })], m.noop), j && s.on("progress", Ji(
      s,
      kn(
        To,
        ze(Sn(j), !1, 3)
      )
    )));
    let Ue;
    if (n.auth) {
      const O = n.auth.username || "", k = n.auth.password || "";
      Ue = O + ":" + k;
    }
    if (!Ue && w.username) {
      const O = w.username, k = w.password;
      Ue = O + ":" + k;
    }
    Ue && E.delete("authorization");
    let Ta;
    try {
      Ta = ba(
        w.pathname + w.search,
        n.params,
        n.paramsSerializer
      ).replace(/^\?/, "");
    } catch (O) {
      const k = new Error(O.message);
      return k.config = n, k.url = n.url, k.exists = !0, i(k);
    }
    E.set(
      "Accept-Encoding",
      "gzip, compress, deflate" + (Hi ? ", br" : ""),
      !1
    );
    const W = {
      path: Ta,
      method: u,
      headers: E.toJSON(),
      agents: { http: n.httpAgent, https: n.httpsAgent },
      auth: Ue,
      protocol: R,
      family: c,
      beforeRedirect: Ku,
      beforeRedirects: {}
    };
    !m.isUndefined(r) && (W.lookup = r), n.socketPath ? W.socketPath = n.socketPath : (W.hostname = w.hostname.startsWith("[") ? w.hostname.slice(1, -1) : w.hostname, W.port = w.port, Oo(W, n.proxy, R + "//" + w.hostname + (w.port ? ":" + w.port : "") + W.path));
    let sn;
    const Hn = Ju.test(W.protocol);
    if (W.agent = Hn ? n.httpsAgent : n.httpAgent, n.transport ? sn = n.transport : n.maxRedirects === 0 ? sn = Hn ? Rn : Cn : (n.maxRedirects && (W.maxRedirects = n.maxRedirects), n.beforeRedirect && (W.beforeRedirects.config = n.beforeRedirect), sn = Hn ? Wu : Hu), n.maxBodyLength > -1 ? W.maxBodyLength = n.maxBodyLength : W.maxBodyLength = 1 / 0, n.insecureHTTPParser && (W.insecureHTTPParser = n.insecureHTTPParser), h = sn.request(W, function(k) {
      if (h.destroyed) return;
      const U = [k], xe = +k.headers["content-length"];
      if (A || Re) {
        const ee = new $i({
          maxRate: m.toFiniteNumber(Re)
        });
        A && ee.on("progress", Ji(
          ee,
          kn(
            xe,
            ze(Sn(A), !0, 3)
          )
        )), U.push(ee);
      }
      let z = k;
      const pe = k.req || h;
      if (n.decompress !== !1 && k.headers["content-encoding"])
        switch ((u === "HEAD" || k.statusCode === 204) && delete k.headers["content-encoding"], (k.headers["content-encoding"] || "").toLowerCase()) {
          case "gzip":
          case "x-gzip":
          case "compress":
          case "x-compress":
            U.push(me.createUnzip(Vi)), delete k.headers["content-encoding"];
            break;
          case "deflate":
            U.push(new Iu()), U.push(me.createUnzip(Vi)), delete k.headers["content-encoding"];
            break;
          case "br":
            Hi && (U.push(me.createBrotliDecompress(Vu)), delete k.headers["content-encoding"]);
        }
      z = U.length > 1 ? ne.pipeline(U, m.noop) : U[0];
      const Wn = ne.finished(z, () => {
        Wn(), f();
      }), oe = {
        status: k.statusCode,
        statusText: k.statusMessage,
        headers: new I(k.headers),
        config: n,
        request: pe
      };
      if (l === "stream")
        oe.data = z, Ne(a, i, oe);
      else {
        const ee = [];
        let Fa = 0;
        z.on("data", function(V) {
          ee.push(V), Fa += V.length, n.maxContentLength > -1 && Fa > n.maxContentLength && (x = !0, z.destroy(), i(new g(
            "maxContentLength size of " + n.maxContentLength + " exceeded",
            g.ERR_BAD_RESPONSE,
            n,
            pe
          )));
        }), z.on("aborted", function() {
          if (x)
            return;
          const V = new g(
            "maxContentLength size of " + n.maxContentLength + " exceeded",
            g.ERR_BAD_RESPONSE,
            n,
            pe
          );
          z.destroy(V), i(V);
        }), z.on("error", function(V) {
          h.destroyed || i(g.from(V, null, n, pe));
        }), z.on("end", function() {
          try {
            let V = ee.length === 1 ? ee[0] : Buffer.concat(ee);
            l !== "arraybuffer" && (V = V.toString(p), (!p || p === "utf8") && (V = m.stripBOM(V))), oe.data = V;
          } catch (V) {
            return i(g.from(V, null, n, oe.request, oe));
          }
          Ne(a, i, oe);
        });
      }
      v.once("abort", (ee) => {
        z.destroyed || (z.emit("error", ee), z.destroy());
      });
    }), v.once("abort", (O) => {
      i(O), h.destroy(O);
    }), h.on("error", function(k) {
      i(g.from(k, null, n, h));
    }), h.on("socket", function(k) {
      k.setKeepAlive(!0, 1e3 * 60);
    }), n.timeout) {
      const O = parseInt(n.timeout, 10);
      if (Number.isNaN(O)) {
        i(new g(
          "error trying to parse `config.timeout` to int",
          g.ERR_BAD_OPTION_VALUE,
          n,
          h
        ));
        return;
      }
      h.setTimeout(O, function() {
        if (d) return;
        let U = n.timeout ? "timeout of " + n.timeout + "ms exceeded" : "timeout exceeded";
        const xe = n.transitional || ga;
        n.timeoutErrorMessage && (U = n.timeoutErrorMessage), i(new g(
          U,
          xe.clarifyTimeoutError ? g.ETIMEDOUT : g.ECONNABORTED,
          n,
          h
        )), b();
      });
    }
    if (m.isStream(s)) {
      let O = !1, k = !1;
      s.on("end", () => {
        O = !0;
      }), s.once("error", (U) => {
        k = !0, h.destroy(U);
      }), s.on("close", () => {
        !O && !k && b(new fe("Request stream has been aborted", n, h));
      }), s.pipe(h);
    } else
      h.end(s);
  });
}, Zu = P.hasStandardBrowserEnv ? (
  // Standard browser envs have full support of the APIs needed to test
  // whether the request URL is of the same origin as current location.
  function() {
    const n = P.navigator && /(msie|trident)/i.test(P.navigator.userAgent), t = document.createElement("a");
    let a;
    function i(o) {
      let s = o;
      return n && (t.setAttribute("href", s), s = t.href), t.setAttribute("href", s), {
        href: t.href,
        protocol: t.protocol ? t.protocol.replace(/:$/, "") : "",
        host: t.host,
        search: t.search ? t.search.replace(/^\?/, "") : "",
        hash: t.hash ? t.hash.replace(/^#/, "") : "",
        hostname: t.hostname,
        port: t.port,
        pathname: t.pathname.charAt(0) === "/" ? t.pathname : "/" + t.pathname
      };
    }
    return a = i(window.location.href), function(s) {
      const r = m.isString(s) ? i(s) : s;
      return r.protocol === a.protocol && r.host === a.host;
    };
  }()
) : (
  // Non standard browser envs (web workers, react-native) lack needed support.
  /* @__PURE__ */ function() {
    return function() {
      return !0;
    };
  }()
), ed = P.hasStandardBrowserEnv ? (
  // Standard browser envs support document.cookie
  {
    write(e, n, t, a, i, o) {
      const s = [e + "=" + encodeURIComponent(n)];
      m.isNumber(t) && s.push("expires=" + new Date(t).toGMTString()), m.isString(a) && s.push("path=" + a), m.isString(i) && s.push("domain=" + i), o === !0 && s.push("secure"), document.cookie = s.join("; ");
    },
    read(e) {
      const n = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
      return n ? decodeURIComponent(n[3]) : null;
    },
    remove(e) {
      this.write(e, "", Date.now() - 864e5);
    }
  }
) : (
  // Non-standard browser env (web workers, react-native) lack needed support.
  {
    write() {
    },
    read() {
      return null;
    },
    remove() {
    }
  }
), Gi = (e) => e instanceof I ? { ...e } : e;
function je(e, n) {
  n = n || {};
  const t = {};
  function a(l, p, u) {
    return m.isPlainObject(l) && m.isPlainObject(p) ? m.merge.call({ caseless: u }, l, p) : m.isPlainObject(p) ? m.merge({}, p) : m.isArray(p) ? p.slice() : p;
  }
  function i(l, p, u) {
    if (m.isUndefined(p)) {
      if (!m.isUndefined(l))
        return a(void 0, l, u);
    } else return a(l, p, u);
  }
  function o(l, p) {
    if (!m.isUndefined(p))
      return a(void 0, p);
  }
  function s(l, p) {
    if (m.isUndefined(p)) {
      if (!m.isUndefined(l))
        return a(void 0, l);
    } else return a(void 0, p);
  }
  function r(l, p, u) {
    if (u in n)
      return a(l, p);
    if (u in e)
      return a(void 0, l);
  }
  const c = {
    url: o,
    method: o,
    data: o,
    baseURL: s,
    transformRequest: s,
    transformResponse: s,
    paramsSerializer: s,
    timeout: s,
    timeoutMessage: s,
    withCredentials: s,
    withXSRFToken: s,
    adapter: s,
    responseType: s,
    xsrfCookieName: s,
    xsrfHeaderName: s,
    onUploadProgress: s,
    onDownloadProgress: s,
    decompress: s,
    maxContentLength: s,
    maxBodyLength: s,
    beforeRedirect: s,
    transport: s,
    httpAgent: s,
    httpsAgent: s,
    cancelToken: s,
    socketPath: s,
    responseEncoding: s,
    validateStatus: r,
    headers: (l, p) => i(Gi(l), Gi(p), !0)
  };
  return m.forEach(Object.keys(Object.assign({}, e, n)), function(p) {
    const u = c[p] || i, d = u(e[p], n[p], p);
    m.isUndefined(d) && u !== r || (t[p] = d);
  }), t;
}
const jo = (e) => {
  const n = je({}, e);
  let { data: t, withXSRFToken: a, xsrfHeaderName: i, xsrfCookieName: o, headers: s, auth: r } = n;
  n.headers = s = I.from(s), n.url = ba(wa(n.baseURL, n.url), e.params, e.paramsSerializer), r && s.set(
    "Authorization",
    "Basic " + btoa((r.username || "") + ":" + (r.password ? unescape(encodeURIComponent(r.password)) : ""))
  );
  let c;
  if (m.isFormData(t)) {
    if (P.hasStandardBrowserEnv || P.hasStandardBrowserWebWorkerEnv)
      s.setContentType(void 0);
    else if ((c = s.getContentType()) !== !1) {
      const [l, ...p] = c ? c.split(";").map((u) => u.trim()).filter(Boolean) : [];
      s.setContentType([l || "multipart/form-data", ...p].join("; "));
    }
  }
  if (P.hasStandardBrowserEnv && (a && m.isFunction(a) && (a = a(n)), a || a !== !1 && Zu(n.url))) {
    const l = i && o && ed.read(o);
    l && s.set(i, l);
  }
  return n;
}, nd = typeof XMLHttpRequest < "u", td = nd && function(e) {
  return new Promise(function(t, a) {
    const i = jo(e);
    let o = i.data;
    const s = I.from(i.headers).normalize();
    let { responseType: r, onUploadProgress: c, onDownloadProgress: l } = i, p, u, d, x, h;
    function v() {
      x && x(), h && h(), i.cancelToken && i.cancelToken.unsubscribe(p), i.signal && i.signal.removeEventListener("abort", p);
    }
    let f = new XMLHttpRequest();
    f.open(i.method.toUpperCase(), i.url, !0), f.timeout = i.timeout;
    function b() {
      if (!f)
        return;
      const w = I.from(
        "getAllResponseHeaders" in f && f.getAllResponseHeaders()
      ), E = {
        data: !r || r === "text" || r === "json" ? f.responseText : f.response,
        status: f.status,
        statusText: f.statusText,
        headers: w,
        config: e,
        request: f
      };
      Ne(function(A) {
        t(A), v();
      }, function(A) {
        a(A), v();
      }, E), f = null;
    }
    "onloadend" in f ? f.onloadend = b : f.onreadystatechange = function() {
      !f || f.readyState !== 4 || f.status === 0 && !(f.responseURL && f.responseURL.indexOf("file:") === 0) || setTimeout(b);
    }, f.onabort = function() {
      f && (a(new g("Request aborted", g.ECONNABORTED, e, f)), f = null);
    }, f.onerror = function() {
      a(new g("Network Error", g.ERR_NETWORK, e, f)), f = null;
    }, f.ontimeout = function() {
      let R = i.timeout ? "timeout of " + i.timeout + "ms exceeded" : "timeout exceeded";
      const E = i.transitional || ga;
      i.timeoutErrorMessage && (R = i.timeoutErrorMessage), a(new g(
        R,
        E.clarifyTimeoutError ? g.ETIMEDOUT : g.ECONNABORTED,
        e,
        f
      )), f = null;
    }, o === void 0 && s.setContentType(null), "setRequestHeader" in f && m.forEach(s.toJSON(), function(R, E) {
      f.setRequestHeader(E, R);
    }), m.isUndefined(i.withCredentials) || (f.withCredentials = !!i.withCredentials), r && r !== "json" && (f.responseType = i.responseType), l && ([d, h] = ze(l, !0), f.addEventListener("progress", d)), c && f.upload && ([u, x] = ze(c), f.upload.addEventListener("progress", u), f.upload.addEventListener("loadend", x)), (i.cancelToken || i.signal) && (p = (w) => {
      f && (a(!w || w.type ? new fe(null, e, f) : w), f.abort(), f = null);
    }, i.cancelToken && i.cancelToken.subscribe(p), i.signal && (i.signal.aborted ? p() : i.signal.addEventListener("abort", p)));
    const y = ko(i.url);
    if (y && P.protocols.indexOf(y) === -1) {
      a(new g("Unsupported protocol " + y + ":", g.ERR_BAD_REQUEST, e));
      return;
    }
    f.send(o || null);
  });
}, ad = (e, n) => {
  const { length: t } = e = e ? e.filter(Boolean) : [];
  if (n || t) {
    let a = new AbortController(), i;
    const o = function(l) {
      if (!i) {
        i = !0, r();
        const p = l instanceof Error ? l : this.reason;
        a.abort(p instanceof g ? p : new fe(p instanceof Error ? p.message : p));
      }
    };
    let s = n && setTimeout(() => {
      s = null, o(new g(`timeout ${n} of ms exceeded`, g.ETIMEDOUT));
    }, n);
    const r = () => {
      e && (s && clearTimeout(s), s = null, e.forEach((l) => {
        l.unsubscribe ? l.unsubscribe(o) : l.removeEventListener("abort", o);
      }), e = null);
    };
    e.forEach((l) => l.addEventListener("abort", o));
    const { signal: c } = a;
    return c.unsubscribe = () => m.asap(r), c;
  }
}, id = function* (e, n) {
  let t = e.byteLength;
  if (t < n) {
    yield e;
    return;
  }
  let a = 0, i;
  for (; a < t; )
    i = a + n, yield e.slice(a, i), a = i;
}, sd = async function* (e, n) {
  for await (const t of od(e))
    yield* id(t, n);
}, od = async function* (e) {
  if (e[Symbol.asyncIterator]) {
    yield* e;
    return;
  }
  const n = e.getReader();
  try {
    for (; ; ) {
      const { done: t, value: a } = await n.read();
      if (t)
        break;
      yield a;
    }
  } finally {
    await n.cancel();
  }
}, Yi = (e, n, t, a) => {
  const i = sd(e, n);
  let o = 0, s, r = (c) => {
    s || (s = !0, a && a(c));
  };
  return new ReadableStream({
    async pull(c) {
      try {
        const { done: l, value: p } = await i.next();
        if (l) {
          r(), c.close();
          return;
        }
        let u = p.byteLength;
        if (t) {
          let d = o += u;
          t(d);
        }
        c.enqueue(new Uint8Array(p));
      } catch (l) {
        throw r(l), l;
      }
    },
    cancel(c) {
      return r(c), i.return();
    }
  }, {
    highWaterMark: 2
  });
}, Vn = typeof fetch == "function" && typeof Request == "function" && typeof Response == "function", Co = Vn && typeof ReadableStream == "function", rd = Vn && (typeof TextEncoder == "function" ? /* @__PURE__ */ ((e) => (n) => e.encode(n))(new TextEncoder()) : async (e) => new Uint8Array(await new Response(e).arrayBuffer())), Ro = (e, ...n) => {
  try {
    return !!e(...n);
  } catch {
    return !1;
  }
}, cd = Co && Ro(() => {
  let e = !1;
  const n = new Request(P.origin, {
    body: new ReadableStream(),
    method: "POST",
    get duplex() {
      return e = !0, "half";
    }
  }).headers.has("Content-Type");
  return e && !n;
}), Xi = 64 * 1024, ea = Co && Ro(() => m.isReadableStream(new Response("").body)), On = {
  stream: ea && ((e) => e.body)
};
Vn && ((e) => {
  ["text", "arrayBuffer", "blob", "formData", "stream"].forEach((n) => {
    !On[n] && (On[n] = m.isFunction(e[n]) ? (t) => t[n]() : (t, a) => {
      throw new g(`Response type '${n}' is not supported`, g.ERR_NOT_SUPPORT, a);
    });
  });
})(new Response());
const pd = async (e) => {
  if (e == null)
    return 0;
  if (m.isBlob(e))
    return e.size;
  if (m.isSpecCompliantForm(e))
    return (await new Request(P.origin, {
      method: "POST",
      body: e
    }).arrayBuffer()).byteLength;
  if (m.isArrayBufferView(e) || m.isArrayBuffer(e))
    return e.byteLength;
  if (m.isURLSearchParams(e) && (e = e + ""), m.isString(e))
    return (await rd(e)).byteLength;
}, ld = async (e, n) => {
  const t = m.toFiniteNumber(e.getContentLength());
  return t ?? pd(n);
}, ud = Vn && (async (e) => {
  let {
    url: n,
    method: t,
    data: a,
    signal: i,
    cancelToken: o,
    timeout: s,
    onDownloadProgress: r,
    onUploadProgress: c,
    responseType: l,
    headers: p,
    withCredentials: u = "same-origin",
    fetchOptions: d
  } = jo(e);
  l = l ? (l + "").toLowerCase() : "text";
  let x = ad([i, o && o.toAbortSignal()], s), h;
  const v = x && x.unsubscribe && (() => {
    x.unsubscribe();
  });
  let f;
  try {
    if (c && cd && t !== "get" && t !== "head" && (f = await ld(p, a)) !== 0) {
      let E = new Request(n, {
        method: "POST",
        body: a,
        duplex: "half"
      }), j;
      if (m.isFormData(a) && (j = E.headers.get("content-type")) && p.setContentType(j), E.body) {
        const [A, L] = kn(
          f,
          ze(Sn(c))
        );
        a = Yi(E.body, Xi, A, L);
      }
    }
    m.isString(u) || (u = u ? "include" : "omit");
    const b = "credentials" in Request.prototype;
    h = new Request(n, {
      ...d,
      signal: x,
      method: t.toUpperCase(),
      headers: p.normalize().toJSON(),
      body: a,
      duplex: "half",
      credentials: b ? u : void 0
    });
    let y = await fetch(h);
    const w = ea && (l === "stream" || l === "response");
    if (ea && (r || w && v)) {
      const E = {};
      ["status", "statusText", "headers"].forEach((Z) => {
        E[Z] = y[Z];
      });
      const j = m.toFiniteNumber(y.headers.get("content-length")), [A, L] = r && kn(
        j,
        ze(Sn(r), !0)
      ) || [];
      y = new Response(
        Yi(y.body, Xi, A, () => {
          L && L(), v && v();
        }),
        E
      );
    }
    l = l || "text";
    let R = await On[m.findKey(On, l) || "text"](y, e);
    return !w && v && v(), await new Promise((E, j) => {
      Ne(E, j, {
        data: R,
        headers: I.from(y.headers),
        status: y.status,
        statusText: y.statusText,
        config: e,
        request: h
      });
    });
  } catch (b) {
    throw v && v(), b && b.name === "TypeError" && /fetch/i.test(b.message) ? Object.assign(
      new g("Network Error", g.ERR_NETWORK, e, h),
      {
        cause: b.cause || b
      }
    ) : g.from(b, b && b.code, e, h);
  }
}), na = {
  http: Qu,
  xhr: td,
  fetch: ud
};
m.forEach(na, (e, n) => {
  if (e) {
    try {
      Object.defineProperty(e, "name", { value: n });
    } catch {
    }
    Object.defineProperty(e, "adapterName", { value: n });
  }
});
const Qi = (e) => `- ${e}`, dd = (e) => m.isFunction(e) || e === null || e === !1, Ao = {
  getAdapter: (e) => {
    e = m.isArray(e) ? e : [e];
    const { length: n } = e;
    let t, a;
    const i = {};
    for (let o = 0; o < n; o++) {
      t = e[o];
      let s;
      if (a = t, !dd(t) && (a = na[(s = String(t)).toLowerCase()], a === void 0))
        throw new g(`Unknown adapter '${s}'`);
      if (a)
        break;
      i[s || "#" + o] = a;
    }
    if (!a) {
      const o = Object.entries(i).map(
        ([r, c]) => `adapter ${r} ` + (c === !1 ? "is not supported by the environment" : "is not available in the build")
      );
      let s = n ? o.length > 1 ? `since :
` + o.map(Qi).join(`
`) : " " + Qi(o[0]) : "as no adapter specified";
      throw new g(
        "There is no suitable adapter to dispatch the request " + s,
        "ERR_NOT_SUPPORT"
      );
    }
    return a;
  },
  adapters: na
};
function Pt(e) {
  if (e.cancelToken && e.cancelToken.throwIfRequested(), e.signal && e.signal.aborted)
    throw new fe(null, e);
}
function Zi(e) {
  return Pt(e), e.headers = I.from(e.headers), e.data = At.call(
    e,
    e.transformRequest
  ), ["post", "put", "patch"].indexOf(e.method) !== -1 && e.headers.setContentType("application/x-www-form-urlencoded", !1), Ao.getAdapter(e.adapter || nn.adapter)(e).then(function(a) {
    return Pt(e), a.data = At.call(
      e,
      e.transformResponse,
      a
    ), a.headers = I.from(a.headers), a;
  }, function(a) {
    return bo(a) || (Pt(e), a && a.response && (a.response.data = At.call(
      e,
      e.transformResponse,
      a.response
    ), a.response.headers = I.from(a.response.headers))), Promise.reject(a);
  });
}
const Aa = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((e, n) => {
  Aa[e] = function(a) {
    return typeof a === e || "a" + (n < 1 ? "n " : " ") + e;
  };
});
const es = {};
Aa.transitional = function(n, t, a) {
  function i(o, s) {
    return "[Axios v" + _n + "] Transitional option '" + o + "'" + s + (a ? ". " + a : "");
  }
  return (o, s, r) => {
    if (n === !1)
      throw new g(
        i(s, " has been removed" + (t ? " in " + t : "")),
        g.ERR_DEPRECATED
      );
    return t && !es[s] && (es[s] = !0, console.warn(
      i(
        s,
        " has been deprecated since v" + t + " and will be removed in the near future"
      )
    )), n ? n(o, s, r) : !0;
  };
};
function md(e, n, t) {
  if (typeof e != "object")
    throw new g("options must be an object", g.ERR_BAD_OPTION_VALUE);
  const a = Object.keys(e);
  let i = a.length;
  for (; i-- > 0; ) {
    const o = a[i], s = n[o];
    if (s) {
      const r = e[o], c = r === void 0 || s(r, o, e);
      if (c !== !0)
        throw new g("option " + o + " must be " + c, g.ERR_BAD_OPTION_VALUE);
      continue;
    }
    if (t !== !0)
      throw new g("Unknown option " + o, g.ERR_BAD_OPTION);
  }
}
const ta = {
  assertOptions: md,
  validators: Aa
}, le = ta.validators;
class ke {
  constructor(n) {
    this.defaults = n, this.interceptors = {
      request: new Di(),
      response: new Di()
    };
  }
  /**
   * Dispatch a request
   *
   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
   * @param {?Object} config
   *
   * @returns {Promise} The Promise to be fulfilled
   */
  async request(n, t) {
    try {
      return await this._request(n, t);
    } catch (a) {
      if (a instanceof Error) {
        let i;
        Error.captureStackTrace ? Error.captureStackTrace(i = {}) : i = new Error();
        const o = i.stack ? i.stack.replace(/^.+\n/, "") : "";
        try {
          a.stack ? o && !String(a.stack).endsWith(o.replace(/^.+\n.+\n/, "")) && (a.stack += `
` + o) : a.stack = o;
        } catch {
        }
      }
      throw a;
    }
  }
  _request(n, t) {
    typeof n == "string" ? (t = t || {}, t.url = n) : t = n || {}, t = je(this.defaults, t);
    const { transitional: a, paramsSerializer: i, headers: o } = t;
    a !== void 0 && ta.assertOptions(a, {
      silentJSONParsing: le.transitional(le.boolean),
      forcedJSONParsing: le.transitional(le.boolean),
      clarifyTimeoutError: le.transitional(le.boolean)
    }, !1), i != null && (m.isFunction(i) ? t.paramsSerializer = {
      serialize: i
    } : ta.assertOptions(i, {
      encode: le.function,
      serialize: le.function
    }, !0)), t.method = (t.method || this.defaults.method || "get").toLowerCase();
    let s = o && m.merge(
      o.common,
      o[t.method]
    );
    o && m.forEach(
      ["delete", "get", "head", "post", "put", "patch", "common"],
      (h) => {
        delete o[h];
      }
    ), t.headers = I.concat(s, o);
    const r = [];
    let c = !0;
    this.interceptors.request.forEach(function(v) {
      typeof v.runWhen == "function" && v.runWhen(t) === !1 || (c = c && v.synchronous, r.unshift(v.fulfilled, v.rejected));
    });
    const l = [];
    this.interceptors.response.forEach(function(v) {
      l.push(v.fulfilled, v.rejected);
    });
    let p, u = 0, d;
    if (!c) {
      const h = [Zi.bind(this), void 0];
      for (h.unshift.apply(h, r), h.push.apply(h, l), d = h.length, p = Promise.resolve(t); u < d; )
        p = p.then(h[u++], h[u++]);
      return p;
    }
    d = r.length;
    let x = t;
    for (u = 0; u < d; ) {
      const h = r[u++], v = r[u++];
      try {
        x = h(x);
      } catch (f) {
        v.call(this, f);
        break;
      }
    }
    try {
      p = Zi.call(this, x);
    } catch (h) {
      return Promise.reject(h);
    }
    for (u = 0, d = l.length; u < d; )
      p = p.then(l[u++], l[u++]);
    return p;
  }
  getUri(n) {
    n = je(this.defaults, n);
    const t = wa(n.baseURL, n.url);
    return ba(t, n.params, n.paramsSerializer);
  }
}
m.forEach(["delete", "get", "head", "options"], function(n) {
  ke.prototype[n] = function(t, a) {
    return this.request(je(a || {}, {
      method: n,
      url: t,
      data: (a || {}).data
    }));
  };
});
m.forEach(["post", "put", "patch"], function(n) {
  function t(a) {
    return function(o, s, r) {
      return this.request(je(r || {}, {
        method: n,
        headers: a ? {
          "Content-Type": "multipart/form-data"
        } : {},
        url: o,
        data: s
      }));
    };
  }
  ke.prototype[n] = t(), ke.prototype[n + "Form"] = t(!0);
});
class Na {
  constructor(n) {
    if (typeof n != "function")
      throw new TypeError("executor must be a function.");
    let t;
    this.promise = new Promise(function(o) {
      t = o;
    });
    const a = this;
    this.promise.then((i) => {
      if (!a._listeners) return;
      let o = a._listeners.length;
      for (; o-- > 0; )
        a._listeners[o](i);
      a._listeners = null;
    }), this.promise.then = (i) => {
      let o;
      const s = new Promise((r) => {
        a.subscribe(r), o = r;
      }).then(i);
      return s.cancel = function() {
        a.unsubscribe(o);
      }, s;
    }, n(function(o, s, r) {
      a.reason || (a.reason = new fe(o, s, r), t(a.reason));
    });
  }
  /**
   * Throws a `CanceledError` if cancellation has been requested.
   */
  throwIfRequested() {
    if (this.reason)
      throw this.reason;
  }
  /**
   * Subscribe to the cancel signal
   */
  subscribe(n) {
    if (this.reason) {
      n(this.reason);
      return;
    }
    this._listeners ? this._listeners.push(n) : this._listeners = [n];
  }
  /**
   * Unsubscribe from the cancel signal
   */
  unsubscribe(n) {
    if (!this._listeners)
      return;
    const t = this._listeners.indexOf(n);
    t !== -1 && this._listeners.splice(t, 1);
  }
  toAbortSignal() {
    const n = new AbortController(), t = (a) => {
      n.abort(a);
    };
    return this.subscribe(t), n.signal.unsubscribe = () => this.unsubscribe(t), n.signal;
  }
  /**
   * Returns an object that contains a new `CancelToken` and a function that, when called,
   * cancels the `CancelToken`.
   */
  static source() {
    let n;
    return {
      token: new Na(function(i) {
        n = i;
      }),
      cancel: n
    };
  }
}
function fd(e) {
  return function(t) {
    return e.apply(null, t);
  };
}
function hd(e) {
  return m.isObject(e) && e.isAxiosError === !0;
}
const aa = {
  Continue: 100,
  SwitchingProtocols: 101,
  Processing: 102,
  EarlyHints: 103,
  Ok: 200,
  Created: 201,
  Accepted: 202,
  NonAuthoritativeInformation: 203,
  NoContent: 204,
  ResetContent: 205,
  PartialContent: 206,
  MultiStatus: 207,
  AlreadyReported: 208,
  ImUsed: 226,
  MultipleChoices: 300,
  MovedPermanently: 301,
  Found: 302,
  SeeOther: 303,
  NotModified: 304,
  UseProxy: 305,
  Unused: 306,
  TemporaryRedirect: 307,
  PermanentRedirect: 308,
  BadRequest: 400,
  Unauthorized: 401,
  PaymentRequired: 402,
  Forbidden: 403,
  NotFound: 404,
  MethodNotAllowed: 405,
  NotAcceptable: 406,
  ProxyAuthenticationRequired: 407,
  RequestTimeout: 408,
  Conflict: 409,
  Gone: 410,
  LengthRequired: 411,
  PreconditionFailed: 412,
  PayloadTooLarge: 413,
  UriTooLong: 414,
  UnsupportedMediaType: 415,
  RangeNotSatisfiable: 416,
  ExpectationFailed: 417,
  ImATeapot: 418,
  MisdirectedRequest: 421,
  UnprocessableEntity: 422,
  Locked: 423,
  FailedDependency: 424,
  TooEarly: 425,
  UpgradeRequired: 426,
  PreconditionRequired: 428,
  TooManyRequests: 429,
  RequestHeaderFieldsTooLarge: 431,
  UnavailableForLegalReasons: 451,
  InternalServerError: 500,
  NotImplemented: 501,
  BadGateway: 502,
  ServiceUnavailable: 503,
  GatewayTimeout: 504,
  HttpVersionNotSupported: 505,
  VariantAlsoNegotiates: 506,
  InsufficientStorage: 507,
  LoopDetected: 508,
  NotExtended: 510,
  NetworkAuthenticationRequired: 511
};
Object.entries(aa).forEach(([e, n]) => {
  aa[n] = e;
});
function No(e) {
  const n = new ke(e), t = Hs(ke.prototype.request, n);
  return m.extend(t, ke.prototype, n, { allOwnKeys: !0 }), m.extend(t, n, null, { allOwnKeys: !0 }), t.create = function(i) {
    return No(je(e, i));
  }, t;
}
const F = No(nn);
F.Axios = ke;
F.CanceledError = fe;
F.CancelToken = Na;
F.isCancel = bo;
F.VERSION = _n;
F.toFormData = Mn;
F.AxiosError = g;
F.Cancel = F.CanceledError;
F.all = function(n) {
  return Promise.all(n);
};
F.spread = fd;
F.isAxiosError = hd;
F.mergeConfig = je;
F.AxiosHeaders = I;
F.formToJSON = (e) => vo(m.isHTMLForm(e) ? new FormData(e) : e);
F.getAdapter = Ao.getAdapter;
F.HttpStatusCode = aa;
F.default = F;
async function ns() {
  let e;
  try {
    const { data: n } = await F(Vs());
    e = !!n;
  } catch {
    e = !1;
  }
  return e;
}
async function xd() {
  D.isPackaged && (ge.setFeedURL({
    headers: {
      "User-Agent": `${_i.name}/${_i.version} (darwin: ${process.arch})`
    },
    url: Vs()
  }), ge.on("before-quit-for-update", () => {
    _ == null || _.destroy(), N == null || N.destroy();
  }), ge.on("update-available", () => {
    H(js());
  }), ge.on("update-downloaded", () => {
    H(Cs());
  }), ge.on("error", () => {
    hp("AutoUpdater", "An error has occurred");
  }), await ns() && H(Vt()), setInterval(async () => {
    await ns() && H(Vt());
  }, 864e5));
}
function ts(e, n, t, a) {
  const i = Ms[e], o = "convertUrl" in i ? i.convertUrl(n) : n, s = [
    "-a",
    e,
    t ? "--background" : [],
    a && "privateArg" in i ? ["--new", "--args", i.privateArg] : [],
    // In order for private/incognito mode to work the URL needs to be passed
    // in last, _after_ the respective app.privateArg flag
    o
  ].filter(Boolean).flat();
  as("open", s);
}
function vd(e, n) {
  return new Promise((t) => {
    gc(e.storage, n.storage) || zn.setAll(n.storage), t();
  });
}
const bd = () => ({ dispatch: e, getState: n }) => (t) => (a) => {
  const i = n();
  wn.match(a) && !i.storage.isSetup && (D.setAsDefaultProtocolClient("http"), D.setAsDefaultProtocolClient("https"));
  const o = t(a), s = n();
  if (vd(i, s), wn.match(a))
    D.dock.hide(), xp(), yc(), xd(), Wt();
  else if (Fs.match(a) || Ps.match(a))
    e(ua(s));
  else if (Gr.match(a))
    Ka(s.data.url) && (_ == null || _.hide());
  else if (Qr.match(a))
    D.setAsDefaultProtocolClient("http"), D.setAsDefaultProtocolClient("https");
  else if (ec.match(a))
    ge.checkForUpdates();
  else if (nc.match(a))
    ge.quitAndInstall();
  else if (Zr.match(a))
    Wt();
  else if (Jr.match(a)) {
    const { appName: r, isAlt: c, isShift: l } = a.payload;
    r && (ts(r, s.data.url, c, l), _ == null || _.hide());
  } else if (Kr.match(a))
    if (a.payload.physicalKey === "Escape")
      _ == null || _.hide();
    else if (a.payload.metaKey && a.payload.virtualKey === "c")
      Ka(s.data.url) && (_ == null || _.hide());
    else {
      const r = s.storage.apps.find(
        (c) => c.hotCode === a.payload.physicalKey
      );
      !a.payload.metaKey && r && (ts(
        r.name,
        s.data.url,
        a.payload.altKey,
        a.payload.shiftKey
      ), _ == null || _.hide());
    }
  else la.match(a) || As.match(a) ? ki() : Ns.match(a) ? Si() : Ds.match(a) ? (_ == null || _.hide(), Si()) : ic.match(a) ? za.openExternal(Hr) : sc.match(a) ? za.openExternal(Wr) : fa.match(a) ? process.env.NODE_ENV === "development" ? N == null || N.hide() : (D.relaunch(), D.exit()) : Ln.match(a) && Jc(s.storage.apps);
  return o;
}, gd = () => () => (e) => (n) => {
  var a, i, o;
  if (!da(n)) return e(n);
  const t = e(n);
  return ((a = n.meta) == null ? void 0 : a.channel) === J.MAIN ? (_ == null || _.webContents.send(J.MAIN, n), N == null || N.webContents.send(J.MAIN, n)) : ((i = n.meta) == null ? void 0 : i.channel) === J.PREFS ? _ == null || _.webContents.send(J.MAIN, n) : ((o = n.meta) == null ? void 0 : o.channel) === J.PICKER && (N == null || N.webContents.send(J.MAIN, n)), t;
}, yd = J.MAIN, wd = {
  data: {
    ...Ht,
    isDefaultProtocolClient: D.isDefaultProtocolClient("http"),
    version: `${D.getVersion()}${D.isPackaged ? "" : " DEV"}`
  },
  storage: zn.getAll()
}, { dispatch: H, getState: Ed } = Fr({
  middleware: (e) => e({ thunk: !1 }).prepend(zr(yd)).concat(gd()).concat(bd()).concat(Mr()),
  preloadedState: wd,
  reducer: lc
});
D.on("ready", () => H(wn()));
D.on("before-quit", () => D.exit());
D.on("open-url", (e, n) => {
  e.preventDefault();
  const t = async () => {
    Ed().data.pickerStarted ? H(la(n)) : (await ss(500), t());
  };
  t();
});
ia.ipcMain.on(
  J.PREFS,
  (e, n) => H(n)
);
ia.ipcMain.on(
  J.PICKER,
  (e, n) => H(n)
);
